ExocoreNetwork / exocore

Omnichain Restaking
7 stars 9 forks source link

refactor(dogfood): prepare for `app` addition #29

Closed MaxMustermann2 closed 5 months ago

MaxMustermann2 commented 6 months ago

Key additions include:

7e48c12dc48bc69134bb4316d21035c328f6d7ee feat(dogfood): implement export validators: A function to ExportValidators of the tmtypes.GenesisValidator variety, for use in app/export.go afb785cd240e66c1b03bb678955843ac13a9b743 fix(dogfood): implement erc20 interface: x/erc20 requires the BondDenom interface to decide whether a token's denomination is the native token. If so, the erc20 module does not handle it. 77b7e847226175ede992c35cdee0b0b780e83e89 fix(dogfood): move hooks to types: Now that all of the hooks are defined in their respective modules, remove the definitions from expected_keepers.go a97ee2888e4f87bf56f263218569d5fa45438962 fix(dogfood): implement panicky gov interface: The gov module for our network could potentially be different from other networks, since we want holders of our tokens to participate in governance and not just validator operators. This PR implements an interface required by the governance module, panicking on each call. cc1413b8fab029ca17f82c480f32cfcd56bfb44b refactor(dogfood): store full header not subset: Unfortunately, our prior planning of reducing the storage required by this module by using a validator set ID (and height to ID mapping) to create the HistoricalInfo is not good enough. This is because the x/evm module pulls the past headers hash from the staking keeper (to respond to the blockhash call), which requires the full header and not just a subset. acbcd3c0f9d9d70cdb76e8270efcc321a3bcf353 fix(dogfood): implement the evm expected interface: Allow fetching of proposer's AccAddress to determine the coinbase.