Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update dependencies related to gnosis-safe-sdk #1638

Open
Tracked by #1542
OleksanderSalamatov opened this issue Nov 14, 2023 · 2 comments · Fixed by skalenetwork/upgrade-tools#206
Open
Tracked by #1542

Update dependencies related to gnosis-safe-sdk #1638

OleksanderSalamatov opened this issue Nov 14, 2023 · 2 comments · Fixed by skalenetwork/upgrade-tools#206
Assignees
Labels
bug Something isn't working
Milestone

Comments

@OleksanderSalamatov
Copy link

Gnosis updated their sdk from safe-core-sdk to protocol-kit. In IMA upgrade script we still use old SDK, which causes problems with upgrade procedure via multisig. We should update dependencies to use protocol-kit instead of deprecated safe-core-sdk.

https://www.npmjs.com/package/@gnosis.pm/safe-core-sdk

@PolinaKiporenko
Copy link

ima 2.1.0-beta.2

@OleksanderSalamatov
Copy link
Author

OleksanderSalamatov commented Feb 23, 2024

Contracts update via multisig still not working "out of the box" for modern testnets e.g. Sepolia and Holesky

IMA: 2.1.0-beta.2

Error log:

Owner is a contract
Using Gnosis Safe
Error: Can't get safe-transaction url at network with chainId = 11155111
    at getSafeTransactionUrl (/root/Workspace/IMA/proxy/node_modules/@skalenetwork/upgrade-tools/dist/src/gnosis-safe.js:109:15)
    at /root/Workspace/IMA/proxy/node_modules/@skalenetwork/upgrade-tools/dist/src/gnosis-safe.js:98:27
    at Generator.next (<anonymous>)
    at fulfilled (/root/Workspace/IMA/proxy/node_modules/@skalenetwork/upgrade-tools/dist/src/gnosis-safe.js:5:58)
    at processTicksAndRejections (node:internal/process/task_queues:95:5)

Solution:
Add networks and api urls to gnosis-safe.js/gnosis-safe.ts like this (example for Sepolia network):

(function (Network) {
    Network[Network["MAINNET"] = 1] = "MAINNET";
    Network[Network["GOERLI"] = 5] = "GOERLI";
    Network[Network["GANACHE"] = 1337] = "GANACHE";
    Network[Network["HARDHAT"] = 31337] = "HARDHAT";
    Network[Network["SEPOLIA"] = 11155111] = "SEPOLIA";
})(Network || (Network = {}));
// constants
const URLS = {
    safe_transaction: {
        [Network.MAINNET]: "https://safe-transaction-mainnet.safe.global",
        [Network.GOERLI]: "https://safe-transaction-goerli.safe.global",
        [Network.SEPOLIA]: "https://safe-transaction-sepolia.safe.global"
    }   
};

For the holesky we should consider using 3rd party api url, as gnosis-safe do not provide their own api for this network, maybe we can use this project: https://holesky-safe.protofire.io/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
Status: Ready For Pickup
Development

Successfully merging a pull request may close this issue.

4 participants