* fix: add random field to BlockContext using block header hash
* add comment
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.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>
* fix: chain-id in grpc query is not initialized without abci event
Closes: #1404
Solution:
- pass the chain-id from caller.
* Update CHANGELOG.md
* only override if input is not empty
* add comment to chain id
* pass chain-id to state transition
* Update x/evm/keeper/grpc_query.go
* Apply suggestions from code review
* fix golang lint
* update gomod2nix.toml
* fix unit tests
* update gomod2nix
* api breaking changelog
* add unit tests, and fix TraceBlock by the way
* Update CHANGELOG.md
* test --grpc-only mode in integration tests
* remove tmp var
* Update tests/integration_tests/test_grpc_only.py
* Update x/evm/keeper/grpc_query_test.go
Co-authored-by: mmsqe <tqd0800210105@gmail.com>
* fix linters
* fix nil pointer in tests
* fix conflicts
* fix conflicts
* fixes
* fix lint
* fix unit test
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: mmsqe <tqd0800210105@gmail.com>
Co-authored-by: Freddy Caceres <facs95@gmail.com>
* Problem: grpc query fail on legacy blocks
`BaseFee` and `EthCall`.
Solution:
- since grpc query handlers are used for all versions of the blocks, it need to be compatible with legacy formats.
debug
fix basefee fetch
Revert "debug"
This reverts commit 50ebaf697fc06b0d6e26abd8de8f89717e8a219d.
update gomod2nix
Update CHANGELOG.md
debug
fix panic
Revert "debug"
This reverts commit e08af04b0776bd390c42706cc9ec978e00bcb3bb.
* add upgrade integration test
* Update tests/integration_tests/configs/upgrade-test-package.nix
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.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 TxIndex wrongly when trace first Tx of a block
If `Predecessors` is empty, `txConfig.TxIndex` originally = 0 and when it reachs line 401 `txConfig.TxIndex++`, it will becomes 1. It should be 0
* apply suggestion and add change-log
* fix comment
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
* 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>
* impr(evm): add check msg.Validate check to prevent 0 gas txs
* add changelog
* impr(evm): add integration tests for zero gas txs
* go mod tidy and proto swagger
* fix comment
* move changelog to state machine breaking
* add ReadHeaderTimeout`
* revert ReadHeaderTimeout config change
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
* Problem: traceTransaction returns zero gas used
Solution:
- call CaptureTxStart and CaptureTxEnd
* fix trace unit tests
* add overflow check
* add comment
* check gas used is positive
* Update x/evm/keeper/state_transition.go
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
* min gas denominator implementation
* update changelog
* modify MinGasDenominator type to sdk.Dec
* fix typo in comments
* add comments
* update comment
* refactor logic
* remove unnecesary test
* fix typo on proto
* rename param
* fix tests
* use truncate and run mod tidy
* comment to default value
* update changelog
* rename temporary gas used
* integration tests
* add migrations
* add default as var
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
* Fix GasMeter reset in AnteHandler - EthGasConsumeDecorator
Conforming to the spec:
e7066c4271/docs/basics/gas-fees.md
> Set newCtx.GasMeter to 0, with a limit of GasWanted.
> This step is extremely important, as it not only makes sure the transaction cannot consume infinite gas,
> but also that ctx.GasMeter is reset in-between each DeliverTx
> (ctx is set to newCtx after anteHandler is run, and the anteHandler is run each time DeliverTx is called).
* Compute gasWanted in ante handler based on msg gas
* Tests - check gas meter limit after EthGasConsumeDecorator ante handler runs
* Update CHANGELOG.md
* EthGasConsumeDecorator ante handler resets the gas meter only for CheckTx
* Reset the gas meter in Keeper.EthereumTx to an infinite gas meter
* Fix TestOutOfGasWhenDeployContract error check
* Move gas meter reset to the innermost EthAnteHandle
* add NewInfiniteGasMeterWithLimit for setting the user provided gas limit
Fixes block's consumed gas calculation in the block creation phase.
* Fix lint
* Fix lint
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>