Daniel Burckhardt
969794c5b4
impr(evm): add check msg.Validate check to prevent 0 gas txs ( #1174 )
...
* 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>
2022-07-18 22:21:04 +02:00
yihuang
b74b37f5f0
fix: traceTransaction returns zero gas used ( #1179 )
...
* 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>
2022-07-18 22:16:28 +02:00
crypto-facs
da8fcc3ae2
fix(rpc): optimize eth_getBalance
endpoint ( #1169 )
...
* optimize get balance endpoint
* add comment
* add changelog
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2022-07-11 15:04:45 +00:00
yihuang
9ae73b670b
deps: upgrade ibc-go to v4-rc ( #1167 )
...
changelog
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2022-07-11 13:18:03 +00:00
crypto-facs
4a6f4fd6e0
imp(deps): Geth upgrade v1.10.19 ( #1159 )
...
* upgrade geth and fix build
* add support for
* update EIPs
* fix keeper tests
* update traceTx function with latest geth changes
* remove unnecessary comments
* fix tests
* update proto
* add migrations
* update module version
* fix grpc test
* fix lint
* fix lint
* update changelog
* fix typo
* remove unnecessary format logs
* Update proto/ethermint/evm/v1/evm.proto
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
* remove debug true on default
* update comments
* fixing ante tests
* fixed cycle imports on migrate_test
* fix wrong naming
* update comment
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2022-07-08 10:58:04 +00:00
Daniel Burckhardt
4a66ff95d9
feemarket(specs): add hint on different gas terminology for gas in Cosmos and Ethereum ( #1165 )
2022-07-01 13:55:19 +02:00
Federico Kunze Küllmer
ccf66cf36e
release: backport v0.17.0 changelog ( #1155 )
...
* release: v0.17.0 changelog (#1153 )
* release: v0.17.0 changelog
* rm newline
* update link
* update mergify
2022-06-27 12:56:29 +02:00
Federico Kunze Küllmer
27ade5d731
deps: Go 1.18 ( #1147 )
...
* deps: Go 1.18
* changelog
* update
2022-06-24 18:16:19 +02:00
yihuang
2ce168526a
fix!: fix json-rpc failures for pruned nodes ( #1126 )
...
* 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>
2022-06-22 13:26:20 +02:00
Daniel Burckhardt
d3333418c5
bug(feemarket): set lower bound of base fee to min gas price param ( #1135 )
...
* 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>
2022-06-22 12:57:16 +02:00
Federico Kunze Küllmer
8e2c65295f
imp(evm): rename RejectUnprotectedTx
to AllowUnprotectedTxs
( #1142 )
...
* imp(evm): rename RejectUnprotectedTx to AllowUnprotectedTxs
* changelog
2022-06-22 12:51:14 +02:00
Federico Kunze Küllmer
3b852f723e
imp(rpc): restrict unprotected txs on the node RPC ( #1143 )
...
* imp(rpc): restrict unprotected txs on the node RPC
* lint
* send raw transaction
* c++
2022-06-22 12:50:36 +02:00
yihuang
6cf2b9fdd3
fix(evm): clear logs if tx failed in post processing hooks ( #1128 )
...
* Problem: clear logs if tx failed in post processing hooks
* Update x/evm/keeper/state_transition.go
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2022-06-21 13:21:52 +02:00
crypto-facs
494d646539
fix(rpc): Fix GasPrice
calculation with relation to MinGasPrice
( #1138 )
...
* fix gasPrice minGasPrice comparison
* update changelog
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2022-06-21 13:13:13 +02:00
Federico Kunze Küllmer
ec8e93b319
all: rename go module to evmos/ethermint ( #1137 )
2022-06-19 11:43:41 +02:00
yihuang
8f932ddc6a
!feat(evm): Reject not replay-protected tx to prevent replay attack ( #1124 )
...
* Reject not replay-protected tx to prevent replay attack
Closes : #1122
- reject such txs in ante handler
* add reject unprotected parameter
* Update CHANGELOG.md
* Apply suggestions from code review
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
* pr suggestions
* add unit test case
* Reject not replay-protected tx to prevent replay attack
Closes : #1122
- reject such txs in ante handler
add reject unprotected parameter
Update CHANGELOG.md
Apply suggestions from code review
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
pr suggestions
add unit test case
use var
* add migrations
* Apply suggestions from code review
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
* rename
* update comments
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2022-06-13 09:41:53 +00:00
yihuang
82835307c7
imp(feemarket): min-gas-multiplier parameter should accept zero value ( #1120 )
...
* 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>
2022-06-09 11:20:50 +02:00
crypto-facs
b3fa23e6cb
fix(types): account type method ( #1118 )
...
* fix account type method
* update changelog
2022-06-08 17:53:07 +02:00
Federico Kunze Küllmer
23f88315e8
ante: refactor ( #1113 )
2022-06-06 10:15:10 +02:00
mmsqe
707b49d0fb
fix(types): avoid invalid account error on create vesting account ( #1112 )
...
* avoid invalid account error on create vesting account
* this change is related to https://github.com/cosmos/cosmos-sdk/pull/12154/files
* for more info see https://github.com/crypto-org-chain/cronos/issues/471
* add change doc
* add comment
* change under unreleased
2022-06-06 09:26:09 +02:00
crypto-facs
620f6a6770
imp(feemarket): update BaseFee
based on GasWanted
( #1105 )
...
* add gasWanted transient store keys
* add gasWanted transient store keeper functions
* add gasWanted transient store tracker
* add comment
* remove unncesary comment
* remove unnecesary function
* fix tests
* fix bad comment
* remove unnecesary comment
* update comment
* update changelog
* Update CHANGELOG.md
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
* add GasWantedDecorator
* remove unnecesary comments
* gasWanted decorator test
* fix tests
* fix tests and build
* fix lint
* updated end block event
* Update app/ante/fee_market.go
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
* fix undeclared variable
* Update app/ante/fee_market_test.go
* remove unnecesary line
* migrate MinGasMultiplier to FeeMarket module
* set limited gas wanted
* remove old newKeeper param
* update proto comment
* fix test
* update comments
* Update x/feemarket/keeper/abci.go
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
* address comments from review
* tidy
* tests
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2022-06-05 09:22:33 +00:00
crypto-facs
8155e1f319
Move CanTransfer decorator before GasConsume ( #1111 )
2022-06-04 20:32:04 +02:00
crypto-facs
da99f11be3
rpc: Update GetGasPrice
RPC endpoint with global MinGasPrice
( #1108 )
...
* return MinGasPrice as minium on GetGasPrice api
* update logic
* update changelog
* globalmingsprice comment
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2022-06-03 13:31:57 +00:00
Daniel Burckhardt
cad7ff66b0
analytics(app): update telemetry to Ethermint modules ( #1106 )
...
* analytics(evm): replace telemetry gauges with counters and add gasUsed counter
* analytics(feemarket): add telemetry gauges for base fee and block gas
* analytics(feemarket): add telemetry gauges for gas_used per gas_limit
* analytics(feemarket): remove refund telemetry
* analytics(app): update CHANGELOG
* remove unwanted change
* address PR comments
* update comment
2022-06-02 15:04:33 +02:00
Loredana Cirstea
046cd00174
feemarket: global MinGasPrice
parameter ( #1104 )
...
* 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
2022-05-31 18:28:46 +02:00
yihuang
5533beed71
fix(rpc, ante): Emit Ethereum tx hash in AnteHandler
to support query failed transactions ( #1062 )
...
* 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>
2022-05-31 10:26:40 +00:00
Daniel Burckhardt
928e018aa9
impr(evm): add tx_type, gas and counter telemetry for ethereum txs ( #1101 )
...
* impr(evm): add tx_type, gas and counter telemetry for ethereum txs
* impr(evm): Add CHANGELOG
2022-05-30 10:24:29 +02:00
Daniel Burckhardt
d23fb0c37d
specs(evm): Add concepts ( #1095 )
...
* specs(evm): Add concepts
* specs(evm): Add geth and bytecode concepts
* specs(evm): little fixes
* fix typo
* add CHANGELOG
2022-05-26 15:04:19 +00:00
crypto-facs
d5598932a7
imp(evm): add query params to CLI ( #1091 )
...
* add query params to evm
* update changelog
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2022-05-25 14:02:01 +00:00
crypto-facs
c4417713fa
imp(evm): define minimum GasUsed proportional to GasLimit ( #1087 )
...
* 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>
2022-05-25 13:52:34 +00:00
yihuang
f06df8c265
imp: clean up the block fetch logic in json-rpc ( #1081 )
...
* clean up the block fetch logic in json-rpc
deduplicate some codes
fix EthBlockFromTm
fix latest block height
* add bug fix changelog
2022-05-23 18:36:31 +02:00
Thomas Nguy
9edc87d114
fix: append Log
in tx post processing response ( #1088 )
...
* fix post processing log
* update changelog
2022-05-19 12:11:26 +02:00
yihuang
d359cbd9c9
fix: gas price value in eth_getTransaction
JSON-RPC response ( #1082 )
...
Solution:
- pass the correct baseFee parameter
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2022-05-19 06:48:37 +00:00
yihuang
a313008afc
Add cli rollback command ( #1086 )
2022-05-18 07:28:44 +02:00
Daniel Burckhardt
e856bf57d5
release: merge release branch changes back to main ( #1079 )
...
* release: update CHANGELOG (#1078 )
* add unreleased section to changelog
2022-05-09 13:40:12 +02:00
yihuang
93d15db4d0
ante: check EnableCreate
/EnableCall
in ante handler ( #1060 )
...
* 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>
2022-05-03 19:51:02 +02:00
Federico Kunze Küllmer
6b1b936c64
ci: bump simulations timeout ( #1073 )
2022-05-03 12:25:17 +02:00
Adu
4ea9b6dc6d
imp, ci: address pending issues from EVM simulation ( #1063 )
...
* add note
fix note
* add TestAppStateFn TestRandomAccounts
* marshal int slice to json
* add paramschange for enableCreate and enableCall
* AppStateFn -> StateFn
* add TestDecodeStore
* update github actions to run evm simulation
* add TestParamChanges
* add TestRandomizedGenState
* use go install for runsim
* resolve conflict
* use random gasCap to estimate gas
* use estimateGas to calculate max transferableAmount
* update godoc
* TestAppStateFn -> TestStateFn
* Update x/evm/simulation/genesis.go
* comment
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: Federico Kunze Küllmer <federico.kunze94@gmail.com>
2022-05-02 15:27:43 +02:00
Federico Kunze Küllmer
c25669c761
rpc: refactor rpc packages and backend to support cosmos namespace ( #1070 )
...
* rpc: refactor rpc packages and backend to support cosmos namespace
* changelog
* typo
2022-05-02 06:26:24 +00:00
yihuang
556c2cc8a3
fix!: london hardfork check logic in json-rpc apis ( #1068 )
2022-04-30 18:11:28 +02:00
Federico Kunze Küllmer
0f0996432a
fix: update BaseFee JSON-RPC ( #1059 )
...
* release: v0.14.0 changelog (#1057 )
* fix: update BaseFee JSON-RPC
* typo
* changelog
2022-04-26 14:24:32 +00:00
yihuang
0543a28941
rpc: make json-rpc API namespaces extensible ( #1056 )
...
* make jsonrpc api namespaces extensible
Closes : #1052 , #1037
* Apply suggestions from code review
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2022-04-19 12:49:05 +00:00
Adu
eaca3e09e2
fix: simulations don't generate EVM transactions ( #996 )
...
* use SimAppChainId instead of the default cosmos-sdk simulation chainid
* implement custom RandomGenesisAccounts for auth module simulation
* use customized RandomGenesisAccounts
* generate random ethereum txs operations
* use sdk.DefaultBondDenom
* implement WeightedOperations
* fix self assignment
* use customized RandomAccounts to generate accounts with ethsecp256k1 private key
* RandomAccounts generate random accounts with ethsecp256k1 private key
* implement SimulateEthSimpleTransfer
* implement SimulateEthCreateContract
* refactor and implement operationSimulateEthCallContract as future operations of SimulateEthCreateContract
* Update app/app.go
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
* Update app/test_helpers.go
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
* Update x/evm/simulation/operations.go
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
* Update x/evm/simulation/operations.go
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
* Update app/test_helpers.go
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
* fix r.Read return only 1 result
* fix linter errors
* change SimulateContext to private
* return transferable amount immediately
* fix linter errors
* fix linter errors: append assign to different slice
* fix linter error: remove else block
* use gofumpt
* Update x/evm/simulation/operations.go
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
* Update x/evm/simulation/operations.go
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
* Update x/evm/simulation/operations.go
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
* Update x/evm/simulation/operations.go
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
* fix recipient typo
* add nosec comment to escape Potential hardcoded credentials check
* add comments
* use SimAppChainID as valid chainID
* do not specify genesis.json to create random genesis state for simulation
* sub estimateGas to avoid overflow
* correct RandomGenesisAccounts comments
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
* correct app/test_helpers.go comments
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
* remove NewTxConfig
* implement RegisterStoreDecoder
* remove WeightMsgEthCallContract and adjust weights
* use gofmt
* update godoc
* use types.DefaultEVMDenom in evm genesis params
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
* use types.DefaultEVMDenom
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
* update godoc
* Update x/evm/simulation/genesis.go
* replace evmdenom with bonddenom in AppStateFn
* fix AppStateFn
* fix lint error
* add ParamChanges for RandomizedParams
* rename app/test_helpers.go -> app/utils.go
* testing for RandomGenesisAccounts
* use cdc for marshaling
* lint
* changelog
* changelog 2
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: crypto-facs <84574577+crypto-facs@users.noreply.github.com>
Co-authored-by: Freddy Caceres <freddy.caceres@crypto.com>
Co-authored-by: Federico Kunze Küllmer <federico.kunze94@gmail.com>
2022-04-19 09:50:00 +00:00
crypto-facs
7e359068d8
eth_getBlockByNumber
fix on batch transactions (#1050 )
2022-04-18 19:06:04 +02:00
crypto-facs
bc4b018b60
Context block height fix on TraceTx
( #1051 )
2022-04-16 19:31:30 +02:00
Federico Kunze Küllmer
1e03c0c603
deps: bump SDK to v0.45.3 ( #1046 )
...
* release: v0.13.0 (#1030 )
* release: v0.12.0 changelog
* changelog: v0.12.1 (#1019 )
* evm: update empty hash check for storage state (#1016 )
* v0.12.1: changelog
* changelog: v0.12.2 (#1022 )
* changelog: v0.12.2
* fix
* fix
* update changelog
* deps: bump SDK to v0.45.3
* changelog
* fixes
2022-04-12 15:31:25 +02:00
Thomas Nguy
56c4a31f10
evm: allow to append logs after a post processing hook ( #1025 )
...
* add log after tx post processing hook
add changelog
fix tests
rename variable
minimum change version
* Update x/evm/keeper/state_transition.go
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2022-04-05 15:38:18 +00:00
Loredana Cirstea
cc37ed283a
evm: PostTxProcessing hook - include the full message data ( #1027 )
...
* x/evm - PostTxProcessing use message as callback input
* Update CHANGELOG.md
* Use core.Message for the PostTxProcessing hook (PR review)
2022-04-04 20:11:46 +02:00
Federico Kunze Küllmer
6abe84bde7
fix: update feemarket REST endpoints ( #1026 )
...
* fix: update feemarket REST endpoints
* changelog
2022-04-04 15:00:26 +02:00
Federico Kunze Küllmer
3c8a95b012
imp: migrate JSON for feemarket ( #1021 )
...
* imp: migrate JSON for feemarket
* migrate JSON
* types
* fix
* fix unmarshal JSON error
* changelog
* fix lint
* fix test
2022-03-30 19:10:54 +02:00