5 votes

Why is Bitwise AND operator used for comparing singleton address and 0xfff... in GnosisSafeProxy.sol

General objective of doing this and operation is to get extract the 20 bytes address with in a 32 bytes slot. There can be packed values with the address to clean up this is needed. The following ...
Tashun Sandaru's user avatar
3 votes

Create a new Safe from another contract

a simple example can be found in the Safe Factories repository. The more tricky part will be to encode the setup data to set the correct modules. The easiest is to encode 2 enableModule transactions ...
Richard's user avatar
  • 4,814
2 votes

Why do different chains have different network addresses in Gnosis Safe proxy factory?

you need to take the exact parameters from the transaction of the first deplo. open the same address (if there is one) of the safe factory in another network and in the method deploy with nonce send ...
rsivakov's user avatar
2 votes

Is it possible to integrate GSN OpenGSN v2 meta-transactions into Gnosis Safe smart contracts?

I am not pretty sure how to integrate open gsn2 into a Gnosis Safe contract, yet Safe has released the relay-kit that uses Gelato Relay under the hood to sponsor the transaction going through the safe....
donoso.eth's user avatar
  • 1,383
2 votes
Accepted

Problem with propose a custom transaction (for ERC-20 token)

There is a few things that might cause your problem, an incorrect transaction data or an incorrect environment setup, first verify that safeAddress and tokenAddress are correct, then check that the ...
Saxtheowl's user avatar
  • 668
1 vote

Safe transactions are getting failed when executed through relay(Sponsored Call)

GS020 error means that there are not enough signatures sent to the contract: When the error is thrown: https://github.com/safe-global/safe-contracts/blob/f03dfae65fd1d085224b00a10755c509a4eaacfe/...
Germán's user avatar
  • 688
1 vote
Accepted

differences between createTransaction and createTransactionBatch (@safe-global/protocol-kit)

Using createTransaction is recommended as createTransactionBatch will probably be moved to a utils file
Germán's user avatar
  • 688
1 vote
Accepted

How non owner can execute signed transaction hash in safe?

That is correct and it also applies to the Safe{Core} SDK. The params are the ones you defined, just the safeTransaction, but make sure that the object contains all the signatures from the owners ...
Germán's user avatar
  • 688
1 vote

How to Deploy any ERC-20 Smart Contract using Safe-Core SDK from Safe Address(gas less)

To deploy any contract from a Safe, you need to create a transaction that calls the CreateCall contract that is deployed on these addresses depending on the network: https://github.com/safe-global/...
Germán's user avatar
  • 688
1 vote

SAFE Module execution in a Smart Contract

Where is that error thrown? It would be helpful if you could share the Tenderly link with the simulation of the transaction so it can be debugged.
Germán's user avatar
  • 688
1 vote

Gnosis Safe 1.3.0 created using createProxy method cannot accept NFTs

The Gnosis Safe contract does not implement the IERC721Receiver interface, which must be implemented by smart contract that receives NFTs if you want to use the safeTransferFrom function. see: https:/...
Tomiwa's user avatar
  • 155
1 vote
Accepted

How can i simulate a gnosis-safe transaction?

This is indeed tricky and not really possible with Tenderly right now. You can only simulate it as soon as you have all but the last confirmation. In this case the last confirmation can be simulated ...
Richard's user avatar
  • 4,814
1 vote

Cannot create the same Safe address on Avalanche C-Chain

The version of the Safe used for mainnet is not compatible with side chains, so you need to use other tools like https://github.com/5afe/safe-cli to get the funds out. More info: https://help.safe....
Uxío's user avatar
  • 421
1 vote
Accepted

How to setup Module without Safe transaction using setup function

An easy way is to use the multisend contract with the setup method. As the setup method is performing a delegate call to to this can be used to perform multiple "sub" setup calls. This can ...
Richard's user avatar
  • 4,814
1 vote

Why do different chains have different network addresses in Gnosis Safe proxy factory?

The thing is each instance of a Safe created through the factory contract is assigned a unique eth address. A Safe created on the Ethereum mainnet will have a different address than the one created on ...
JamalTheAtlantean's user avatar
1 vote

Fetch raw transaction data of SafeTransaction

It's totally possible to get the raw tx data and feed it back into your Safe. Here's a somewhat detailed breakdown of what you need to do. Create a Safe tx(transaction) by calling the execTransaction ...
JamalTheAtlantean's user avatar
1 vote

Call Revert Exception on safeSdk for getOwners on Polygon only [intermittent]

Chainstack developer advocate here This means during the transaction execution, one of the calls have failed and the whole transaction is reverted. It can be an error with your Polygon server, the ...
Wuzhong - Chainstack DevEx's user avatar
1 vote

Compiler Error: Stack too deep, try removing local variables

What's the significance of the interface? is a necessity? if it isn't then i suggest you use a struct and push to the struct in the contract of the function you're interfacing. These errors occur when ...
JamalTheAtlantean's user avatar

Only top scored, non community-wiki answers of a minimum length are eligible