* 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>
* fix json-rpc failures for pruned nodes
Closes: #1123
Solution:
- try to parse base fee from events if grpc query failed
- use a `nil` base fee if failed to parse base fee from events
- use zero address if query validator address failed
- optimize some json-rpc apis by the way.
* changelog
* fix lint
* use GetTendermintBlockResultByNumber
* refactor
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>
* min-gas-multiplier parameter should accept zero value
update min-gas-multiplier validation logic
* fix unit test
* changelog
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>
* 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>
* 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>