yihuang
ffe78da36e
!fix(evm): Fix eth tx hashes in json-rpc responses ( #1176 )
...
* 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>
2022-07-19 15:12:48 +00:00
Federico Kunze Küllmer
ec8e93b319
all: rename go module to evmos/ethermint ( #1137 )
2022-06-19 11:43:41 +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
Guillermo Paoletti
3bea3fa1ef
ante: EIP712 support ( #950 )
...
* code migrated
* signed_data ported to avoid conficting dependency
* correct payload
* eip712 working with evmos.me
* use geth TypedData types
* fix linter
* minor refactor
* test first try
* fix test
* fix tests
* enforce fee delegated eip712
* verify signature refactor
* SignedTypedData api refactor
* add AnteHandler test for EIP712
* remove comment
* code clean up
* return more detailed error messages
* fix linter
* remove unnecesary global vars
* Update app/ante/eip712.go
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
* fix pr comments
* remove hardcoded value
* add more tests
* add changelog
* use sdk errors
* add MsgDelegate test
Co-authored-by: Freddy Caceres <freddy.caceres@crypto.com>
Co-authored-by: Federico Kunze Küllmer <federico.kunze94@gmail.com>
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>
2022-02-26 16:34:43 +00:00
yihuang
7d8664043e
impr: support batch eth txs ( #901 )
...
* support batch eth tx
Closes: 896
Allow multiple MsgEthereumTx in single tx
* fix transaction receipt api
* fix tx receipt api and accumulate tx gas used
* fix lint
* fix test
* fix rpc test
* cleanup
* fix cumulativeGasUsed and gasUsed
* fix lint
* Update app/ante/eth.go
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
* Update app/ante/eth.go
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
* Update rpc/ethereum/backend/utils.go
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
* pr suggestions
* typo
* fix lint
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2022-01-14 10:37:33 +01:00
yihuang
ade84319e6
evm: refactor statedb implementation ( #729 )
...
* initial statedb module
unit tests
unit tests
keeper implementation
extract TxConfig
remove unused code
* keeper integration
* fix unit tests
* Apply suggestions from code review
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
* fixup! initial statedb module
* changelog
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2022-01-05 08:28:27 +01:00
yihuang
eb17366dcc
fix: consistent BaseFee check logic ( #855 )
...
Closes : #755
```
if not london_hardfork {
# reject DynamicFeeTx
# no `baseFeePerGas` field in block response
# baseFee = nil
} else {
# allow DynamicFeeTx
# add `baseFeePerGas` field in block response
if feemarketParams.NoBaseFee or height < feemarketParams.EnableHeight {
# baseFee = 0
} else {
# init baseFee to initBaseFee and adjust in later blocks
}
}
```
Update x/evm/keeper/keeper.go
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
add unit tests
Update app/ante/utils_test.go
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
changelog
2021-12-28 07:59:28 +00:00
Prajjwol Gautam
0777d0b670
Merge pull request from GHSA-mx3r-7hpq-fr4g
...
* reject invalid `MsgEthereumTx` wrapping tx
Update CHANGELOG.md
* added a unit test
* reject invalid `MsgEthereumTx` wrapping tx in a non-breaking way
Update CHANGELOG.md
* delete code and state on suicide
* fix suicide tests
* update changelog
* update changelog
* delete code hash on suicide
* simplifies delete code
* Apply suggestions from code review
* Update app/ante/ante.go
Co-authored-by: Tomas Tauber <2410580+tomtau@users.noreply.github.com>
Co-authored-by: Freddy Caceres <freddy.caceres@crypto.com>
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2021-12-23 08:07:23 -08:00
yihuang
e437c4331d
fix: increase nonce in ante handler for contract creation tx ( #809 )
...
Closes : #808
Solution:
- move nonce increment to ante handler
- revert nonce increment in apply message
build(deps): bump github.com/spf13/viper from 1.9.0 to 1.10.0 (#833 )
Bumps [github.com/spf13/viper](https://github.com/spf13/viper ) from 1.9.0 to 1.10.0.
- [Release notes](https://github.com/spf13/viper/releases )
- [Commits](https://github.com/spf13/viper/compare/v1.9.0...v1.10.0 )
---
updated-dependencies:
- dependency-name: github.com/spf13/viper
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
fix: remove unused code (#834 )
Co-authored-by: Marko Baricevic <markobaricevic3778@gmail.com>
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
rm
rm pkg
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2021-12-16 22:35:28 +00:00
yihuang
ccc6f5b53d
fix: use EffectiveGasPrice
in ante handler for dynamic fee tx ( #817 )
...
* Use effectiveGasPrice in ante handler for dynamic fee tx
Closes : #814
Solution:
- use effectiveGasPrice when check minimal-gas-prices, and deduct fee in ante handler
- implement an EthMempoolFeeDecorator
* add effectiveGasPrice to tx receipt
* changelog
* fix unit test
* fix comments
* add comments
* Apply suggestions from code review
Co-authored-by: Thomas Nguy <81727899+thomas-nguy@users.noreply.github.com>
* review suggestions
Co-authored-by: Thomas Nguy <81727899+thomas-nguy@users.noreply.github.com>
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2021-12-15 02:17:03 +00:00
Daniel Burckhardt
93020f8786
feemarket: unit tests EIP1559 ( #758 )
...
* Fee-Market(Types): Setup Params tests
* Fee-Market(Types): Add all Params tests
* Fee-Market(Types): Add genesis tests
* Fee-Market(Keeper): Copy Keeper setup from EVM module and add Params tests
* Fee-Market(Keeper): Add Keeper tests
* Fee-Market(Keeper): Add review comments
* Fee-Market(Keeper): WIP grpc tests
* Fee-Market(Keeper): WIP ERIP1559 tests
* Fee-Market(Keeper): WIP ERIP1559 tests
* Fee-Market(Keeper): WIP ERIP1559 tests maxGas influences on baseFee
* Fee-Market(Keeper): Add last ERIP1559 tests
* Fee-Market(Keeper): Add abci tests
2021-11-19 16:22:25 +00:00
Adu
e04422b6ff
fix: tx fields are not authenticated by signature ( #703 )
...
Co-authored-by: Muggle-Du <adudu@CNMAC0342.local>
2021-11-08 14:00:35 +01:00
JayT106
1076307e6b
tests: DynamicFeeTx ( #649 )
...
* test DynamicFeeTx against state_transition_benchmark_test
* add feemarketGenesis in the app setup param
* add dynamicTxFee flag to KeeperTestSuite
* add feemarketGenesis.BaseFee setup
* update TestAddLog
* fix gasFeeCap assignment in newMsgEthereumTx
* modify keeperTestSuite helper functions to support dynamicTxFee
* update test cases in grpc_query_test w/ dynamicTxFee
* update the evm keeper utils tests
* add dynamic tx fee in the ante tests
* remove duplicate type define
* fix error return type
* update changelog
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2021-10-19 08:49:29 +00:00
Federico Kunze Küllmer
a8722655bb
all: bump go-ethereum to v1.10.9 ( #231 )
...
* all: bump go-ethereum to v1.10.4
* build
* state transition and rpc
* wip rpc changes
* fix refund
* fixes
* no base fee param
* ante handler
* undo change
* fix test
* bump deps
* calculate base fee
* gRPC base fee query
* update RPC
* fix
* update'
* go.mod
* fix build
* fix panic
* rm changes in third_party
* json rpc changes
* reserved fields
* fixes fixes fixes
* rm no stringer
* fixes 2
* tests wip
* bump geth version
* update
* grpc traceTx
* rm fee market from ante
* fix TransactionArgs
* lint
* update proto
* update tx args
* changelog
2021-10-05 15:38:20 +00:00
Federico Kunze Küllmer
2e45a0665e
crypto: updates from reviews ( #535 )
2021-09-07 17:29:24 +00:00
Federico Kunze Küllmer
26c5eabb18
all: linter ( #532 )
...
* add additional linters
* fixes
* rm action
2021-09-05 11:03:06 +00:00
Federico Kunze Küllmer
5f1f252361
evm: TxData
as proto.Any
( #220 )
...
* evm: TxData as proto.Any
* proto message
* fix protobuf any generation
* Int pointer
* fix build and tests
* ante tests
* swagger
* cleanup
* c++
2021-07-05 16:39:08 +00:00
Federico Kunze Küllmer
dcc9585595
all: bump SDK to v0.43.0-rc0
( #194 )
...
* all: bump SDK to v0.43.0-rc0
* more updates
* keys
* accounting
* update account
* ante changes
* readonly
* readonly build
* minor changes from self review
* fixes
* evm debug
* custom config & rosetta
* fix
2021-06-29 13:02:21 -04:00
Federico Kunze
6000ab2098
chore: un-fork from cosmos ( #166 )
...
* chore: un-fork from cosmos
* rm LoC
2021-06-22 06:49:18 -04:00
yihuang
91ad6387bf
ante: ignore no signature error for evm transactions ( #143 )
...
fixes #118
don't sign unit test tx
since that's the same case as real tx
comment EthValidateBasicDecorator
2021-06-21 06:44:37 -04:00
yihuang
eee53a9500
ante: add ValidateMemoDecorator
evm tx ( #150 )
...
fixes #149
2021-06-21 03:59:45 -04:00
Federico Kunze
b77aab43bb
evm: refactor state transition ( #41 )
...
* evm: keeper statedb refactor
* keeper: implement stateDB account, balance, nonce and suicide functions
* keeper: implement stateDB code and iterator functions
* keeper: implement stateDB log and preimage functions
* update code to use CommitStateDB
* tests updates
* journal changes (wip)
* cache fields
* journal and logs
* minor cleanup
* evm: state transition refactor
* evm: unpack revert errors
* evm: update state transition (wip)
* evm: remove journal related changes
* evm: delete empty account code and storage state
* update gas limit
* evm: header hash to/from context
* evm: minor params and state transition changes
* ante: state transition changes
* ante: refactor default sig gas consumer
* ante: ignore gas costs from ops other than intrinsic gas
* ante: CanTransferDecorator
* evm: refund gas
* update comments
* state transition comments
* ante: CanTransfer and AccessList decorator tests
* evm: cleanup state transition
* ignore nonce increment during ante handler on contract creation
* fix ante tests
* more test fixes
2021-06-02 04:52:53 -04:00
Federico Kunze
8e7ebe80e9
evm: fix signature verification ( #61 )
...
* evm: fix sig verification
* fixes
* test fixes
2021-06-01 13:14:33 -04:00
Federico Kunze
9a5654f70d
ante: AnteHandler
changes from state transition refactor ( #56 )
...
* ante: cherry-pick changes from state transition refactor
* ante: test setup
* ante: fixes
* ante: test (wip)
* ante: finish unit tests
* ante: intrinsic gas test
* ante: chaindecorators test (wip)
* update tests
* ante: cleanup tests
* ante: add test consuption test
2021-05-31 05:05:32 -04:00
Federico Kunze
117342b1b3
all, deps: bump go-ethereum version ( #5 )
...
* evm, rpc: access lists, JSON-RPC and transaction updates (wip)
* ante, evm, rpc: update signature verification
* evm: msg server and tests updates
* evm: tests (wip)
* evm: fix cdc and params
* evm: cleanup state transition
* fix nil cases
* lint
2021-05-10 12:34:00 -04:00
Federico Kunze
374d249116
fix test compilation
2021-04-21 15:41:30 +02:00
Federico Kunze
cb2ab3d95d
more fixes
2021-04-18 18:39:15 +02:00
Federico Kunze
5a3d514ba0
conflicts
2021-04-17 12:00:07 +02:00
Federico Kunze
a924b20091
update chain-id format ( #542 )
...
* chain_id.go
* rpc changes
* update scripts
* additional test
* changelog
* fix tests
* update script
* rpc updates
* validate testnet command chain-id
* validate rest server chain-id
* fix lint
* rpc updates
* changelog
* comment simulations
2020-09-24 14:50:47 -03:00
Federico Kunze
1505ba89a1
atto photon refactor ( #503 )
...
* atto photon refactor
* update testnet command
* fix test
* changelog
2020-09-08 11:39:48 -03:00
Federico Kunze
792c1ff756
evm: params ( #458 )
...
* evm: params
* setup
* bump commit
* fixes
* increase gas usage
* tests
* evm denom param
* more config updates
* update genesis
* update ante handler
* csdb param test
* more tests and fixes
* update statedb.Copy
* lint
* additional test
* fix importer tests
* fix AnteHandler test
* minor update
* revert
* undo gas update
* stringer test
* changelog
* fix csdb index error (#493 )
* attempt to fix
* cleanup
* add idx check
* update csdb.Copy
* update default hash
* update querier
* update rpc tests
* fix estimate gas test
Co-authored-by: noot <36753753+noot@users.noreply.github.com>
Co-authored-by: noot <elizabethjbinks@gmail.com>
2020-09-02 15:41:05 -04:00
Federico Kunze
261f86fdf2
bump SDK to v0.39.1 ( #386 )
...
* bump sdk version to v0.39.0 candidate
* updates
* update evm
* bump commit
* more changes
* build
* genesis
* fix tests
* fix tests
* bump commit
* bump commit
* bump commit
* add keygen func
* bump version to 0.39.0-rc0
* update AnteHandler
* fix TxDecoder
* lint
* fix test
* update statedb
* changelog
* fixes
* remove extra files
* update make test-import
* rename test
* bump SDK version to final release
* update to 0.39.1-rc1
* fix evm tests
* update RPC
* minor fixes
* update to rc2
* bump to v0.39.1
* fix personal API
* fix string type cast ambiguity (#449 )
* init
* fix estimate gas test
* minor genesis change
* remove comments from unstable commit (stargate release)
Co-authored-by: Alessio Treglia <quadrispro@ubuntu.com>
2020-08-23 17:41:54 -04:00
noot
8ba6400e88
fix value transfer ( #341 )
...
* debugging balance and gas
* add prints
* remove gas consumption in ante handler
* cleanup
* fix test
2020-06-24 05:38:53 -04:00
Federico Kunze
a99fbfdc2b
fix AnteHandler gas consumption ( #275 )
...
* fix antehandler gas consumption
* fix gas
* typo
2020-05-04 18:41:17 -04:00
Federico Kunze
8ec7edf5bd
x/evm: unit tests and fixes ( #223 )
...
* evm: move Keeper and Querier to /keeper package
* keeper: update keeper_test.go
* fix format
* evm: use aliased types
* bump SDK version to v0.38.1
* app: updates from new version
* errors: switch sdk.Error -> error
* errors: switch sdk.Error -> error. Continuation
* more fixes
* update app/
* update keys and client pkgs
* build
* fix tests
* lint
* minor changes
* changelog
* address @austinbell comments
* Fix keyring usage in rpc API and CLI
* fix keyring
* break line
* Misc cleanup (#188 )
* evm: move Begin and EndBlock to abci.go
* evm: use expected keeper interfaces
* app: use EthermintApp for integration and unit test setup
* evm: remove count type; update codec
* go mod verify
* evm: rename msgs for consistency
* evm: events
* minor cleanup
* lint
* ante: update tests
* changelog
* nolint
* evm: update statedb to create ethermint Account instead of BaseAccount
* fix importer test
* address @austinabell comments
* update README
* changelog
* evm: update codec
* rename GasLimit->Gas and Price ->GasPrice
* msg cleanup and tests
* cleanup TxData
* fix marshaling
* revert rename
* move types
* evm/keeper: querier tests
* switch MarshalLengthPrefixed -> BinaryBare; remove panics
* fix event sender
* fix panic
* try fix txDecoder error
* evm: handler tests
* evm: handler MsgEthermint test
* fix tests
* store logs in keeper after transition (#210 )
* add some comments
* begin log handler test
* update TransitionCSDB to return ReturnData
* use rlp for result data encode/decode
* update tests
* implement SetBlockLogs
* implement GetBlockLogs
* test log set/get
* update keeper get/set logs to use hash as key
* fix test
* move logsKey to csdb
* attempt to fix test
* attempt to fix test
* attempt to fix test
* lint
* lint
* lint
* save logs after handling msg
* update k.Logs
* cleanup
* remove unused
* fix issues
* comment out handler test
* address comments
* lint
* fix handler test
* address comments
* use amino
* lint
* address comments
* merge
* fix encoding bug
* minor fix
* rpc: error handling
* rpc: simulate only returns gasConsumed
* rpc: error ineffassign
* evm: handler test
* go: bump version to 1.14 and SDK version to latest master
* rpc: fix simulation return value
* breaking changes from SDK
* sdk: breaking changes; build
* tests: fixes
* minor fix
* proto: ethermint types attempt
* proto: define EthAccount proto type and extend sdk std.Codec
* evm: fix panic on handler test
* evm: minor state object changes
* cleanup
* tests: update test-importer
* fix evm test
* fix pubkey registration
* lint
* cleanup
* more test checks for importer
* minor change
* codec fixes
* rm init func
* fix importer test build
* fixes
* test fixes
* fix bloom key
* rm unnecesary func
* remove comment
Co-authored-by: austinabell <austinabell8@gmail.com>
Co-authored-by: noot <36753753+noot@users.noreply.github.com>
2020-04-23 11:49:25 -04:00
Federico Kunze
4d609b2a22
bump Cosmos SDK version to v0.38.2 ( #183 )
...
* evm: move Keeper and Querier to /keeper package
* keeper: update keeper_test.go
* fix format
* evm: use aliased types
* bump SDK version to v0.38.1
* app: updates from new version
* errors: switch sdk.Error -> error
* errors: switch sdk.Error -> error. Continuation
* more fixes
* update app/
* update keys and client pkgs
* build
* fix tests
* lint
* minor changes
* changelog
* address @austinbell comments
* Fix keyring usage in rpc API and CLI
* fix keyring
* break line
* Misc cleanup (#188 )
* evm: move Begin and EndBlock to abci.go
* evm: use expected keeper interfaces
* app: use EthermintApp for integration and unit test setup
* evm: remove count type; update codec
* go mod verify
* evm: rename msgs for consistency
* evm: events
* minor cleanup
* lint
* ante: update tests
* changelog
* nolint
* evm: update statedb to create ethermint Account instead of BaseAccount
* fix importer test
* address @austinabell comments
* update README
* changelog
* evm: update codec
* fix event sender
* store logs in keeper after transition (#210 )
* add some comments
* begin log handler test
* update TransitionCSDB to return ReturnData
* use rlp for result data encode/decode
* update tests
* implement SetBlockLogs
* implement GetBlockLogs
* test log set/get
* update keeper get/set logs to use hash as key
* fix test
* move logsKey to csdb
* attempt to fix test
* attempt to fix test
* attempt to fix test
* lint
* lint
* lint
* save logs after handling msg
* update k.Logs
* cleanup
* remove unused
* fix issues
* comment out handler test
* address comments
* lint
* fix handler test
* address comments
* use amino
* lint
* address comments
* merge
* fix encoding bug
* minor fix
* rpc: error handling
* rpc: simulate only returns gasConsumed
* rpc: error ineffassign
* go: bump version to 1.14 and SDK version to latest master
* rpc: fix simulation return value
* breaking changes from SDK
* sdk: breaking changes; build
* tests: fixes
* minor fix
* proto: ethermint types attempt
* proto: define EthAccount proto type and extend sdk std.Codec
* evm: fix panic on handler test
* evm: minor state object changes
* cleanup
* tests: update test-importer
* fix pubkey registration
* lint
* cleanup
* more test checks for importer
* minor change
* codec fixes
* rm init func
* fix importer test build
* fix marshaling for TxDecoder
* use amino codec for evm
* fix marshaling for SimulationResponse
* use jsonpb for unmarshaling
* fix method handler crashed
* return err on VerifySig
* switch stateObject balance to sdk.Int
* fixes to codec and encoding
* cleanup
* set tmhash -> ethhash in state transition
* add tmhash->ethereumhash to csdb.GetLogs
* attempt to fix tests
* update GetLogs to switch with Has
* ante panic
* diff changes
* update SetLogs
* evm/cli: use ethermint codec
* use LengthPrefixed for encoding
* add check for nil *big.Int
* add balance to UpdateAccounts
* fix previous balance
* fix balance bug
* prevent panic on make test-import
Co-authored-by: austinabell <austinabell8@gmail.com>
Co-authored-by: noot <36753753+noot@users.noreply.github.com>
Co-authored-by: noot <elizabethjbinks@gmail.com>
2020-04-22 15:26:01 -04:00
Federico Kunze
5b2f068a03
ante: switch ethAnteHandler to use AnteDecorators ( #252 )
...
* ante: switch ethAnteHandler to use AnteDecorators
* ante: cleanup panic recover, update MsgEthereumTx GetSigners
* ante: remove EthIntrinsicGasDecorator in favor of EthGasConsumeDecorator
* migrate errors
2020-04-17 18:32:01 -04:00
Federico Kunze
da9157e406
upgrade changes cleanup ( #236 )
...
* changes from update version
* app changes
* cmd changes
* build and send tx
* fix tests
* eth_rpc fixes
* lint
* add WithEventManager to handler ctx
* changelog
* go mod verify and tidy
2020-04-01 15:49:21 -03:00