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

refactor(dogfood): prepare for app addition #29

Merged

Conversation

MaxMustermann2
Copy link
Contributor

@MaxMustermann2 MaxMustermann2 commented Apr 5, 2024

Key additions include:

7e48c12 feat(dogfood): implement export validators: A function to ExportValidators of the tmtypes.GenesisValidator variety, for use in app/export.go
afb785c 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.
77b7e84 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
a97ee28 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.
cc1413b 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.
acbcd3c fix(dogfood): implement the evm expected interface: Allow fetching of proposer's AccAddress to determine the coinbase.

Unfortunately, our prior work around of storing a subset of the header
fields for HistoricalInfo can only work for the IBC usage. The EVM
module requires the full header to be stored so that it can calculate
its hash and that of older blocks to respond to the `blockhash` calls
within Solidity.
@MaxMustermann2 MaxMustermann2 merged commit a6705f3 into imua-xyz:develop Apr 11, 2024
20 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants