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

🏐: Evaluate feasibility of Evmos proposal creation #3986

Closed
jnaviask opened this issue May 22, 2023 · 10 comments
Closed

🏐: Evaluate feasibility of Evmos proposal creation #3986

jnaviask opened this issue May 22, 2023 · 10 comments
Assignees
Labels
🏐 spike Time-boxed unpointed research assignment

Comments

@jnaviask
Copy link
Collaborator

Description

To investigate: how do Evmos proposals work? What would be required for us to support Evmos transactions?

Timebox: 2 hours.

@jnaviask jnaviask added the 🏐 spike Time-boxed unpointed research assignment label May 22, 2023
@mhagel
Copy link
Contributor

mhagel commented May 22, 2023

Unsupported type: '/ethermint.types.v1.EthAccount'

Screenshot 2023-05-22 at 1 17 11 PM

@mhagel
Copy link
Contributor

mhagel commented May 22, 2023

We could set up another devnet for this case: https://docs.evmos.org/protocol/evmos-cli/single-node

@mhagel
Copy link
Contributor

mhagel commented May 22, 2023

Evmos has their own library for keplr/MM interactions. So we could set up another fork in the code for these Ethermint cases. https://academy.evmos.org/articles/advanced/wallet-integration

@mhagel
Copy link
Contributor

mhagel commented May 22, 2023

Evmos uses Cosmos SDK gov v1beta1. https://docs.evmos.org/protocol/modules

So, the errors we are seeing may just be account lookup errors. Keplr TXs may work once that is figured out.

@mhagel
Copy link
Contributor

mhagel commented May 22, 2023

The biggest lift here may be supporting Keplr AND MM. That would be the best Evmos implementation. But just supporting Keplr would be a good start, and so far that is not looking too difficult.

@mhagel
Copy link
Contributor

mhagel commented May 23, 2023

stack trace

"Error: Unsupported type: '/ethermint.types.v1.EthAccount'\n    
at Object.accountFromAny (webpack-internal:///../../../node_modules/@cosmjs/stargate/build/accounts.js:62:19)\n    
at SigningStargateClient.getAccount (webpack-internal:///../../../node_modules/@cosmjs/stargate/build/stargateclient.js:82:41)\n    
at async SigningStargateClient.getSequence (webpack-internal:///../../../node_modules/@cosmjs/stargate/build/stargateclient.js:96:25)\n    
at async SigningStargateClient.sign (webpack-internal:///../../../node_modules/@cosmjs/stargate/build/signingstargateclient.js:173:49)\n    
at async SigningStargateClient.signAndBroadcast (webpack-internal:///../../../node_modules/@cosmjs/stargate/build/signingstargateclient.js:153:23)"

@mhagel
Copy link
Contributor

mhagel commented May 23, 2023

May just need this patch: https://github.com/hanchon-live/cosmjs-patch
If so, this is very easy.

@mhagel
Copy link
Contributor

mhagel commented May 23, 2023

relevant: cosmos/cosmjs#1351

@mhagel
Copy link
Contributor

mhagel commented May 23, 2023

Findings:

  • Easiest solution: add EvmosJs, and if needed, create an EthermintGovernance code path for Evmos and fork-chains.
  • CosmJs does not support ethermint, and it's not straightforward to patch on our side

Estimate for suggested solution: 5
Estimate for adding Evmos devnet: 2

It might be easier than this, but adding another governance path means testing a lot of code.
I haven't looked into adding the integration yet. There is a chance that we wouldn't need a whole new code path (governance-ethermint.ts, etc), if this somehow unblocks v1beta1 TXs.

@jnaviask

@jnaviask
Copy link
Collaborator Author

Great findings, thanks for diving in. Will review and follow up with work items.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🏐 spike Time-boxed unpointed research assignment
Projects
No open projects
Status: Boom 💥
Development

No branches or pull requests

2 participants