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

Issues with Safe Indexation on Arianee Supernet (Following Issue #124) #131

Closed
0xWhiteleaf opened this issue Jan 22, 2024 · 2 comments
Closed

Comments

@0xWhiteleaf
Copy link

This issue is a continuation of the discussion from Issue #124.

I am encountering an issue with the indexation process of Safe on the Arianee Supernet. Despite following the deployment and setup procedures, the creation of a Safe gets stuck at the "Indexation" stage. Below is a detailed account of the steps I've taken and the observations made.

Steps to Reproduce

  • Deployed "Safe Frontend" by cloning the repository and forcing the resolution of @safe-global dependencies to the correct versions containing Safe deployment information on Arianee Supernet (@safe-global/**/@safe-global/safe-deployments: 1.28.0).

  • The Safe Frontend launches correctly.

  • Configured and launched "Safe Infrastructure" with Docker Compose, stopping the "Safe Frontend" container as its already running in standalone mode.

  • Configured Arianee Supernet in the Django administration interface.

  • The Arianee Supernet is detected by all "Safe Infrastructure" services with no anomalies in logs.

  • Arianee Supernet appears correctly on the Safe Frontend. Safe creation is possible, but indexing does not complete.

  • I've checked that contracts are present at the deployment locations on Arianee Supernet.

  • I've verified that the contracts deployed on Arianee Supernet match those deployed by Gnosis Safe on Ethereum.

  • I've investigated the RPC method types supported by Supernet. traces_ methods are not supported, while eth_ methods, including eth_getLogs, are supported. So concluded that we definitely need to configure the Arianee Supernet in L2 mode.

  • Deployed the Safe Infrastructure in L2 mode to enable the indexer to make RPC calls using eth_getLogs.

  • Reinstalled Safe Infrastructure ensuring L2 mode was active, and selected L2 when adding the chain via the Django admin interface.

  • Attempted to create a new Safe, but the process remained stuck on "Indexation".

  • Also configured webhooks for cache clearing and also tried disabling the cache entirely to rule out cache-related issues.

So the creation of a Safe remains stuck on the "Indexation" step, with the indexer seemingly not detecting events, despite transactions for creating a Proxy for a Safe executing correctly on-chain. Any insights or suggestions for resolving this issue would be greatly appreciated. If there are further details or logs that could assist in troubleshooting, please let me know.

Furthermore, Arianee is willing to pay for support if necessary to resolve this issue. We are committed to finding a solution and are open to any available support options. Thanks a lot!

@leopaul36
Copy link

Hey @0xWhiteleaf, for what it's worth I found myself in a similar situation as you described.

Eventually what I missed was setting up Proxy factories and Safe master copies for my custom chain. After adding these, the indexing started working properly.

Hope this helps 👍

@0xWhiteleaf
Copy link
Author

0xWhiteleaf commented Mar 20, 2024

Hey @leopaul36
It did the job! Thanks a lot for this 👍

I'm adding something else also, if you use a custom Layer 2 with a custom token as gas token, you'll also need to patch the configuration.js file inside the cgw-web in order to avoid an error when you land on your Safe dashboard (allow the Safe Client Gateway to resolve your native token price).
It's located here inside the container: dist/config/entities/configuration.js
You'll need to add a key to the balances.providers.safe.prices.chains property, like what we did for Arianee:

...
prices: {
            baseUri: process.env.PRICES_PROVIDER_API_BASE_URI ||
                'https://api.coingecko.com/api/v3',
            apiKey: process.env.PRICES_PROVIDER_API_KEY,
            ...
            chains: {
                1: { nativeCoin: 'ethereum', chainName: 'ethereum' },
                10: { nativeCoin: 'ethereum', chainName: 'optimistic-ethereum' },
                100: { nativeCoin: 'xdai', chainName: 'xdai' },
                1101: { nativeCoin: 'ethereum', chainName: 'polygon-zkevm' },
                11155111: { nativeCoin: 'ethereum', chainName: 'ethereum' },
                1313161554: { nativeCoin: 'ethereum', chainName: 'aurora' },
                137: { nativeCoin: 'matic-network', chainName: 'polygon-pos' },
                324: { nativeCoin: 'ethereum', chainName: 'zksync' },
                42161: { nativeCoin: 'ethereum', chainName: 'arbitrum-one' },
                42220: { nativeCoin: 'celo', chainName: 'celo' },
                43114: { nativeCoin: 'avalanche-2', chainName: 'avalanche' },
                5: { nativeCoin: 'ethereum', chainName: 'ethereum' },
                56: { nativeCoin: 'binancecoin', chainName: 'binance-smart-chain' },
                8453: { nativeCoin: 'ethereum', chainName: 'base' },
                84531: { nativeCoin: 'ethereum', chainName: 'base' },
                11891: { nativeCoin: 'arianee', chainName: 'arianee' }, <-- This is the key
            },
        },
...

PS: You native coin needs to be listed on CoinGecko

Hope this helps next adventurers

@github-staff github-staff deleted a comment from louseee Oct 7, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants
@leopaul36 @0xWhiteleaf and others