Skip to content

feat: ERC20 multi-minter governance tests#46

Open
kpitapeersyst wants to merge 4 commits into
mainfrom
feat/erc20-multi-minter
Open

feat: ERC20 multi-minter governance tests#46
kpitapeersyst wants to merge 4 commits into
mainfrom
feat/erc20-multi-minter

Conversation

@kpitapeersyst
Copy link
Copy Markdown
Contributor

feat: ERC20 multi-minter governance tests

Changes 🛠️

modules/cosmos

  • Extracted Ethermint-specific code (account parser, pubkey, secp256k1, signer, signing stargate client) from ibc/ into a new ethermint/ module.
  • Added EthermintSigningClient base class that registers Ethermint pubkey/account types and unwraps EthAccount on account queries.
  • Refactored IBCEvmSignerClient to extend EthermintSigningClient, removing duplicated registry/parser logic.
  • Added gov/ module with submitAndVote helper that submits a single-message proposal, votes YES, and polls for a terminal status.
  • Added query/ module with queryAbci helper for raw ABCI queries.
  • Exposed ./gov, ./ethermint, and ./query as package entry points.

modules/evm

  • Added ERC20 Multi-Minter governance test suite covering add/remove minter flows, multi-minter mint/burn authorization, and unregistered-denom error paths.
  • Added test utilities: utils/cosmos.ts (bech32/hex conversion, token-pair owner assertions), utils/minters.ts (add/remove minter via gov proposals), utils/proto.ts (message encoders).
  • Extended utils/helpers.ts with expectMinterCanMintAndBurn and resetOwnerState.
  • Removed single-owner (transferOwnership, owner) tests from the ERC20 precompile suite and dropped the related ABI entries from localnet.module.config.json.
  • Fixed allowance argument order in the ERC20 approve test.
  • Added cosmos section to localnet.module.config.json (RPC URL, mnemonic, denom, prefix, gov module address) and corrected chainId to 1449999.
  • Added @firewatch/cosmos, @cosmjs/encoding, and cosmjs-types dependencies; set rootDir and disabled declaration emit in tsconfig.json.

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

Successfully merging this pull request may close these issues.

1 participant