* imp(evm): Migrate from old Cosmos SDK params module to new way of keeping params in module Keeper
* Updated changelog
* Apply changes from code review
* (impv): Added Shanghai and Cancun blocks to current types and latest migration
* (tests): Update unit tests to include Shanghai and Cancun blocks
* (fix) - ran golangci-lint on the entire project
* (fix) - remove deprecated params method
* (impv): added marshaling of booleans per individual param key
* (impv): added individual param getting and setting
* (impv): replaced getters with individual param
* (impv): added amino codec for MsgEthereumTx
* Added changes suggested in code review
* (fix): updated the migration files for v4
* (fix): fixed unit tests panic for incorrect interface
* (fix): updated module msg handler
* (fix): rename to original params getter method
* (refactor): registered implementation for the new msg
* (refactor): added correct amino codec for MsgUpdateParams and removed for MsgEthTx
* Applied changes from code review
* (fix): removed unnecessary duplicate
* (fix): removed params_legacy from the types and moved logic to migration
* (fix): Added v4 mocks to the migrations_test
* (fix): undo all the non related work regarding the Cancun and Shanghai blocks
* (fix): reverted linting the entire project - will make a separate PR for it
* Applied changes from review
* Applied changes from code review
* (fix): removed comments
* (fix): Ran formatter and fixed linting issues on unsed functions
* (fix): Linting issues resolved
* (fix): refactor migrations and added default EIPs
* (fix): Combined into one call
* (fix): Added more straightforward way to handle migration
* (fix): corrected migration test
* Applied changes from code review
* (fix): Linter fix
* (fix): Linter
* (fix): Lint proto files
* Apply suggestions from code review
Co-authored-by: MalteHerrmann <42640438+MalteHerrmann@users.noreply.github.com>
* (fix): Added new block to migration
* (fix): Added additional comments and formatted proto files
* (fix): Added name to unit test cases
* (fix): removed unused import
* Apply changes from code review
* (fix): typo
* (fix): remove HTTP endpoint exposure
* Apply suggestions from code review
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
* applied changes from code review
* fix: extra line added in merge removed
* fix: applied changes from code review
Co-authored-by: MalteHerrmann <42640438+MalteHerrmann@users.noreply.github.com>
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
* Rename getEIP712Hash to Bytes to clarity method intent
* Update comments and revert unrelated code
* Fix variable naming in tests
* Fix to use raw data rather than hash from Go-Ethereum interface
* Update eip712_test to detect EIP-712 hash vs bytes
* Update TypedData conversion error message
Co-authored-by: Freddy Caceres <facs95@gmail.com>
* chore: verify fees refactor
* adjust call structure in rest of repo after splitting up DeductTxCostsFromUserBalance
* adjust test logic after splitting DeductTxCostsFromUserBalance up
* remove outdated TODO
* address PR comments - remove import name for evm keeper
* remove misleading comment
* address review comments - only handover boolean instead of context
* remove TODO
Co-authored-by: MalteHerrmann <malteherrmann.mail@web.de>
Co-authored-by: MalteHerrmann <42640438+MalteHerrmann@users.noreply.github.com>
* (refactor): Added Cancun and Shanghai blocks to ChainConfig
* (tests): Added test for invalid Shanghai and Cancun block
* (fix): ran proto linter
* Applied changes from code review
* Added CHANGELOG entry
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
* Add EIP-712 encoding for multiple messages of the same type
* Fix Protobuf encoding bug
* Add ante tests
* Refactor naming and minor implementation details
* Test empty transaction coverage
* Address revisions for code clarity
* Move aminoMessage type definition
* Refactor to omit empty values from type creation; add test for v1.vote
* Add test for createValidator with optional fields left blank
* Add changelog entry
* Update changelog entry
Co-authored-by: Freddy Caceres <facs95@gmail.com>
* Add EIP-712 encoding support type for any array
* Refactor implementation + add tests
* Refactor unpacking implementation; refactor test case
* Fix lint issue
* Add MsgExec test case
* Update comment for clarity
* Add changelog entry
* Refactor `sdkerrors` to `errorsmod`
Co-authored-by: Freddy Caceres <facs95@gmail.com>
* Change the fallback priority mechanism to be based on gas price
* Update CHANGELOG.md
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: Freddy Caceres <facs95@gmail.com>
* Problem: feemarket's query cli has redundant height parameter
Soluton:
- remove the positional height parameter, since there's a flag already.
Update CHANGELOG.md
* Apply feemarket to native cosmos tx
- add tx extension option for user to input tip price
- apply feemarket's base fee to native tx
comments and cleanup
fallback to default sdk logic when london hardfork not enabled
integration test
cleanup feemarket query cli commands
Update CHANGELOG.md
update unit tests
disable feemarket in simulation tests for now
fix lint
Update app/simulation_test.go
fix python lint
fix lint
Update x/evm/types/extension_option.go
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
address review suggestions
* fix unit tests
* fix integration test
* improve unit test coverage
* fix go lint
* refactor
* fix integration test
* fix simulation tests
* fix go linter
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
* Set priority for eth transactions
Set the tx priority to the lowest priority in the messages.
fix unit tests
code cleanup and spec
update spec
fix go lint
add priority integration test
add python linter job
add access list tx type
fix gas limit
remove ledger tag, so no need to replace hid dependency
fix earlier check
ibc-go v5.0.0-beta1
* fix pruned node integration test
* Update x/feemarket/spec/09_antehandlers.md
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
* Reuse cosmos-sdk client library to create keyring
Extracted from https://github.com/evmos/ethermint/pull/1168
Cleanup cmd code for easier to migration to cosmos-sdk 0.46
* Update cosmos-sdk v0.46
prepare for implementing cosmos-sdk feemarket and tx prioritization
changelog
refactor cmd
use sdkmath
fix lint
fix unit tests
fix unit test genesis
fix unit tests
fix unit test env setup
fix unit tests
fix unit tests
register PrivKey impl
fix extension options
fix lint
fix unit tests
make HandlerOption.Validate private
gofumpt
fix msg response decoding
fix sim test
bump cosmos-sdk version
fix sim test
sdk 46
fix unit test
fix unit tests
update ibc-go
* Fix eth tx hashes in json-rpc responses
Closes: #1175
- Remove Size_ field
- Validate From/Hash fields in ante handler
- Recompute tx hashes in json-rpc apis to cope with old blocks
Update CHANGELOG.md
remove Size_, validate Hash/From, add unit tests
update spec
Update CHANGELOG.md
Update app/ante/eth.go
populate From in SendRawTransaction
Apply suggestions from code review
keep Size_ field to avoid breaking tx format
* move some validation to ValidateBasic
* move validation to ValidateBasic
* make ToTransaction returns a valid msg
* restructure the protoTxProvider check
* add comment
* workaround tx hash issue in event parsing
* fix integration test
* fix unit test
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
* bug(feemarket): set lower bound of base fee to min gas price param)
* fix
* bug(feemarket): flag necessary improvement to integration tests, as the baseFee changes for every test
* bug(feemarket): add unit tests for CalculateBaseFee
* bug(feemarket): move integration test setup out of Describe block
* wip fix tests
* bug(feemarket): fix integration tests
* bug(feemarket): wip improve specs
* bug(feemarket): add spec concepts
* bug(feemarket): remove todo
* bug(feemarket): remove changes used for debugging in params
* bug(feemarket): remove todo in integration test
* add changelog
* address PR comments
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
* Add min_gas_price to feemarket params
* Add MinGasPriceDecorators
* feemarket integration tests for MinGasPrice
* Restructure integration tests
* Simplify integration tests context
We use DeliverTx context to set up the app, otherwise not all settings are initialized.
We test CheckTx with `s.app.BaseApp.CheckTx(req)`, which uses the `CheckTx` mode and context.
* Update MinGasPrice spec in feemarket module
* reorder ethermint module order for initializing genesis
* feemarket migrations for adding MinGasPrice param
* update changelog
* Additional unit tests for MinGasPrice = 0, tx gas price > 0 (PR review)
https://github.com/tharsis/ethermint/pull/1104#discussion_r884991661
* Use 0 MinGasPrice for transaction simulations
* Fix duplicate registration of feemarket GenesisState and Params (PR review)
https://github.com/tharsis/ethermint/pull/1104#issuecomment-1141893712
* Emit eth tx hash in ante handler to support query failed transactions
WIP: #1045
Solution:
- emit eth tx hash in ante handler
- modify rpc to use it
fix ante handler
support failed tx in receipt
add unit tests
need to patch cosmos-sdk to work
update cosmos-sdk to v0.45.x release branch
fix failed status
fix unit tests
add unit test cases
cleanup dead code
Apply suggestions from code review
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
fix lint
fix review suggestions
fix build
fix gas used of failed tx
add back the redundant events
* fix get tx by index
* add unit tests for events
* Update rpc/types/events.go
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
* update comments
* refactoring
* Update rpc/namespaces/ethereum/eth/api.go
* fix lint
* Apply suggestions from code review
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
* Check EnableCreate/EnableCall in ante handler
WIP: #1045
Reject tx early in ante handler, avoid deduct user fee for vain.
* add unit tests
* update changelog
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: Federico Kunze Küllmer <federico.kunze94@gmail.com>
The account verification decorator uses the evm keeper methods which
already use the bank keeper, leaving the dependency unused.
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>