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
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 ...
3
votes
Accepted
GS025 error when executing Gnosis Safe multisig transaction
I would say this is a shortcoming in the Safe core sdk (maybe worth opening an issues).
You create a transaction with nonce 17 and also approve this transaction. But the executeTransaction function ...
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
Accepted
How can you identify if a transaction has been rejected on the gnosis safe transaction service using the core-sdk
It's actually impossible to reject a transaction in the Ethereum network. What happens under the hood when rejecting is that you create a transaction that uses the same nonce as the transaction you ...
2
votes
Accepted
Is there a limit to the amount of transfers in a multi-send transcation
The limit is the block gas limit, which is currently 30 million gas.
you would have to estimate the transfers and check that the total gas consumption is lower than this limit.
You could also make an ...
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
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
Accepted
Proposed Safe transaction from delegate address is not trusted
Managed to make it work by using the safe transaction sdk
const proposeTxPayload = {
safeAddress: utils.getAddress(safe.address),
safeTransactionData: safeTx.data,
safeTxHash: hash,
...
2
votes
Accepted
How to deploy a Safe on Hardhat
We run some Safe tests using Hardhat Network in our project. Here is the example: safe.spec.ts#L212
You have to deploy 3 contracts:
GnosisSafeProxyFactory.sol
GnosisSafe.sol
MultiSend.sol
Then you ...
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/...
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
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 ...
1
vote
Accepted
Can a SAFE be deployed using a paymaster / gasless transaction?
Yes you can use gelato to deploy safe. Just add the SafeProxyFactory Contract on the dashboard of gelato to make it gasless and you will be able to deploy safe without paying any gas fees.
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 ...
1
vote
Accepted
Creating multi-send transactions for native chain tokens (MATIC/ETH)
value property is the value of the native token. So for the native token transfer, you need to specify the to property to the recipient's address, and value is the amount of native token you want to ...
1
vote
Cannot read properties of undefined (reading 'getChainId')
There was an error in the way the initialization statement was written.This worked.
const safeSdk = await Safe.create({ ethAdapter:ethAdapterOwner1,safeAddress:item.safeAddress});
1
vote
"Invalid Multi Send contract address" on Harmony
The code snippet is correct.
The message Error: Invalid Multi Send contract address is expected when using the SDK connected to Harmony Mainnet. Currently the Safe Core SDK v2.0.0 uses the package ...
1
vote
Is there a way to get safe addresses associated with an owner address?
The transaction service indexes Safe <> owner relationships. You could use an endpoint there to fetch the Safes an address is owner of: https://safe-transaction.gnosis.io/api/v1/owners/...
1
vote
Accepted
Getting "error: cannot estimate gas" on Ethereum mainnet but not on Rinkeby?
The transaction 0xd3773e40ff1078e5b836447006099e239967c21bde51b2c948002089b9a9e277 has nonce 2 but the Safe 0xb76Bed0B12062F3668AfD7d300B2A193a297cee3 nonce is 1. You need to execute a transaction ...
1
vote
Accepted
Track Gnosis Safes Created from Specific Source
You might have to create your own Gnosis Safes factory contract that stores new safes info that creates on-chain.
Example like this.
import "contracts/GnosisSafes.sol";
contract ...
1
vote
Accepted
Proposed transaction doesnt appear in queue, and can't be confirmed
As another answer points out, the transaction will only appear in the Queue if has at least 1 signature.
To provide that signature with the latest version of Gnosis core-safe-sdk (1.1.1) I run the ...
1
vote
Gnosis-Chain_ID error
const { ethAdapter } = require('@gnosis.pm/safe-core-sdk')
is not a valid import. You should use
import EthersAdapter from '@gnosis.pm/safe-ethers-lib'
For more information see https://github.com/...
1
vote
'origin' field not exist in SafeTransactionData
The origin field is not included in the method proposeTransaction() from the safe-service-client (package inside the safe-core-sdk monorepo).
I'll create a GitHub issue to include it.
Thanks for ...
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
Accepted
Does a safe-core-sdk multi-send transaction revert if one of the actions fails?
The MultiSend.sol library requires transactions to be successful, so yeah, if one of the underlying transactions fails, it should revert:
https://github.com/gnosis/safe-contracts/blob/main/contracts/...
1
vote
safeTxGas always ends up being 0 which causes revert inside multisend contract
In the Rinkeby transaction that you linked, you set a gasPrice for the SafeTransaction.
In this case the gas specified by safeTxGas is sent along to avoid that the relayer can use more gas than ...
1
vote
Accepted
Getting an error while calling 'safeSdk.executeTransaction()'
This is a current shortcoming of the sdk/service combination (see https://github.com/gnosis/safe-core-sdk/issues/125). The best is to add a fallback when converting the tx: data: transaction.data || &...
Only top scored, non community-wiki answers of a minimum length are eligible
Related Tags
safe-core-sdk × 102gnosis-safe × 88
gnosis × 28
safe-core × 22
safe × 6
account-abstraction × 4
transactions × 3
ethers.js × 3
multisignature × 3
erc-4337 × 3
web3auth × 3
solidity × 2
web3js × 2
blockchain × 2
metamask × 2
nodejs × 2
hardhat × 2
polygon × 2
gelato × 2
private-key × 1
gas-limit × 1
error × 1
raw-transaction × 1
out-of-gas × 1
smart-contract-wallets × 1