6
votes
Signing messages as a Gnosis Safe (eip1271 support)
This functionality is provided via the CompatibilityFallbackHandler. This should be enabled by default on all Safes created via the Gnosis Safe web interface.
In general the Safe currently has 2 ways ...
6
votes
Accepted
How to deploy gnosis safe proxy contracts on Mumbai testnet(Polygon) using Safe Core SDK?
The Safe Core SDK takes all the safe contracts and network configuration from safe-deployments. Specifically on this case, from here, meaning that if the Mumbai chainId (80001) is not present below ...
6
votes
Accepted
How to send ERC20 & ERC721 tokens using Safe Core SDK?
To create a token transfer you need to execute the following code:
import { SafeTransactionDataPartial } from '@gnosis.pm/safe-core-sdk-types'
const transaction: SafeTransactionDataPartial = {
to: '...
4
votes
Deploying a contract that inherits GnosisSafe from another smart contract
If the goal is to deploy a Safe with custom modules and guards, you don't necessarily need a separate contract to do that. When deploying a Safe, there's a distinct initializer parameter to setup ...
4
votes
Transfer GNO tokens using geth
start geth console
$ geth --fast console
in console :
var tokenContractABI = [{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"...
4
votes
Accepted
How can I add/remove an owner to gnosis-safe wallet from solidity smart contract?
addOwnerThreshold is a protected function. Check authorized modifier in the function definition. It can be called only by the Safe itself. If any contract could simply call this function, it would be ...
4
votes
Accepted
Move transaction to Different Nonce, Keep signatures
"Moving" the signatures to another tx with different nonce it's impossible, and it would be a really critical security issue. You need to sign everything again or create a dummy tx with ...
4
votes
GnosisSafe: Signing and verifying a signature
tl;dr
Just use 0x as signature. The signature is valid if Gnosis Safe returns the EIP-1271 magic value (0x1626ba7e).
if (signature == '0x') {
let msgHash = ethers.utils.hashMessage(message);
...
3
votes
How to encode initializer in gnosis-safe proxy contract?
As proxies canot use the conventional constructor approach, the common way to compensate for this is to provide an initialization function (see OpenZepplin).
To avoid that this can be front-run in a ...
3
votes
Accepted
Getting ''Error: Unprocessable Entity" while calling 'safeService.proposeTransaction()'
Ok the issue is resolved. The reason was that the to field in the transaction is not checksumed:
const transaction = {
to: '0xb0968a944aF335f0f73900821a52d0066593aC5a',
data: '0x',
value: '...
2
votes
Accepted
2
votes
Difference between the Gnosis multisig and Gnosis safe?
Gnosis Safe is the latest release of the Gnosis Multisig Wallets. The Gnosis Safe Multisig wallet can be deployed either as a standalone contract, or (preferably) as a cheaper proxy contract that ...
2
votes
Gnosis Safe - Connect to site that needs to connect using MetaMask and not WalletConnect
Maker vaults (https://oasis.app/) now supports Walletconnect and is also a dedicated Gnosis Safe App.
You should be able to connect your Gnosis Safe to the app by accessing the 'Apps' tab in https://...
2
votes
Accepted
Gnosis safe-core-sdk : EthersAdapter is giving empty object
Can you see the methods inside EthersAdapter class if you expand it?
2
votes
Gnosis Service Transaction Creation
The services are a layer on top of the contracts that make it easier to use these and they power the official web interface. The web interface hosted by the Safe team use the services hosted by the ...
2
votes
Adding new network
It's indeed fetching the network configs from the backend.
Contracts is just one part of the infra. The app also relies on the said backend for indexing transactions on a given chain and for many ...
2
votes
How to use eip-712 to sign with safe-core-sdk
This is in the backlog for the safe-core-sdk. If you need this feature right now you would have to add a helper for this yourself.
Basically you would need to call eth_signTypedData with the ...
2
votes
How gnosis safe's pending transactions execution works?
You ran into a special case of the Safe when you have Safe woth threshold 1 and use the msg.sender to confirm the signature (see https://github.com/gnosis/safe-contracts/issues/187).
To avoid this you ...
2
votes
remove an owner fron gnosis-safe What parameter should I paste as prevOwner when I'm calling removeOwner from .sol smart contract?
The Safe contracts store the owners in a linked list (see https://github.com/gnosis/safe-contracts/blob/main/contracts/base/OwnerManager.sol#L15). With linked lists it is very is to check if an ...
2
votes
Proposed transaction doesnt appear in queue, and can't be confirmed
The interface only shows transactions with at least one owner signature. Otherwise, it would be possible to spam/propose malicious transactions by anyone. Your transaction has 0 signatures.
2
votes
Accepted
deploySafe function not returns transaction hash?
Thank you for reporting this! We are facing the same issue when integrating the Safe Core SDK into the Safe web interface.
We will implement a solution for this in the following days.
EDIT:
This is ...
2
votes
GS013 error when executing Gnosis Safe transaction for function of MultiSig Wallet
gs013 means that the transaction reverted in the contract you interacted with. you can use tenderly for debugging
2
votes
Can an upgradeable token appear in the asset list?
Gnosis Safe works with any ERC-20 token, including proxy tokens.
There must be some other problem that is not obvious from your question as it lacks
Method how you test with your token with Gnosis ...
2
votes
Integration of Gnosis safe with external contracts
If you want to extend Safe features best way to do it would be writing a custom module
2
votes
Accepted
Gnosis safe transfer function `Approve Hash` but does not transfer erc20 token
approveTransactionHash only approves the transaction without executing it. Please refer to the core SDK documentation to learn how to execute a transaction https://github.com/safe-global/safe-core-sdk/...
2
votes
Issue executing transaction from Gnosis Safe (compensation to you if you resolve)
Your first example tx - is just the OnChain Rejection. The #57 is still pending. The tx calls withdrawFunds() of the contract 0x1D8769b57aaf4E3C0A64fC2f035F1EfA134FE24c. The tx looks good - all ...
1
vote
Nested multisig - how to sign tx with child multisig?
You can use the WalletConnect Safe App via the owner Safe to confirm transactions.
If you open the WalletConnect Safe App in the parent Safe, you can then connect the child Safe via WalletConnect to ...
1
vote
Zodiac and Gnosis Safe SDK interactions and project structure questions
The 3 main pieces of functionality can be done using the Safe Core SDK and the Safe Service Client, following this guide. The Safe Core SDK allows to get some data of a Safe directly from the ...
1
vote
Getting 'TypeError: Cannot read properties of undefined (reading 'arrayify')' while signing safeTransaction with ethAdapter
The error is thrown in the method signMessage from the EthersAdapter class:
signMessage(message: string): Promise<string> {
const messageArray = this.#ethers.utils.arrayify(message)
return ...
1
vote
Replayed transaction on Gnosis safe 1.1.1 to enable Polygon network. Not working
The Safe web interface on Polygon does only support Safe that have been created with the 1.3.0-L2 version (0x3E5c63644E683549055b9Be8653de26E0B4CD36E).
If you use another version you will have to rely ...
Only top scored, non community-wiki answers of a minimum length are eligible
Related Tags
gnosis × 152gnosis-safe × 121
safe-core-sdk × 28
multisignature × 19
solidity × 14
safe × 11
gnosis-chain × 10
ethers.js × 8
smart-contract-wallets × 7
wallets × 5
signature × 5
go-ethereum × 4
metamask × 4
safe-apps-sdk × 4
safe-core × 3
web3js × 2
erc-20 × 2
ether × 2
gas × 2
contract-invocation × 2
dapps × 2
javascript × 2
uniswap × 2
nft × 2
openzeppelin × 2