Commit Graph

152 Commits

Author SHA1 Message Date
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
c08dcfad0c
keeper: StateDB unit tests (#47)
* keeper: statedb unit tests

* evm: balance tests

* evm: nonce and code tests

* evm: refund test

* evm: fix tx encoding

* storage and access list tests
2021-06-02 04:06:12 -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
abcfc9a6ba
evm: error and block hash map updates (#60)
* evm: error and block hash map updates

* evm: update tests
2021-05-31 10:54:59 -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
0805bf80e5
evm: fix EndBlock panic (#51) 2021-05-27 05:26:01 -04:00
Federico Kunze
6c1e7fec01
app, ante, evm: Keeper StateDB refactor (#30)
* 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: remove journal related changes

* evm: delete empty account code and storage state

* app, evm: transient store

* ante, evm: refund gas transient

* evm: remove transient keeper state fields

* address comments from review

* evm: undo revision change
2021-05-25 08:56:36 -04:00
Federico Kunze
18d1f01e82
startport: setup (#27)
* starport: setup

* define genesis fields on config

* fixes

* update validator stake; credits to @fadeev

* JSON-RPC address setup
2021-05-20 03:44:07 -04:00
Federico Kunze
2c722d03ce
rpc, evm: gRPC tests (#28)
* rpc, evm: grpc tests

* address validation

* update rpc

* test cleanup

* additional tests
2021-05-17 06:13:08 -04:00
Federico Kunze
b3066f2631
evm: SDK metrics (#24)
* evm: SDK metrics

* update BeginBlock

* changelog
2021-05-14 17:44:58 -04:00
Federico Kunze
ba5bf33f19
proto, evm: use string for address and hash protobuf message fields (#23)
* proto, evm: use string for address and hash protobuf message fields

* fix tests

* msg test
2021-05-14 02:52:18 -04:00
Federico Kunze
65453e4aa0
rpc, evm: secure tx signing (#20)
* rpc, evm: secure signing

* evm, ante: test signer

* tests
2021-05-12 09:08:31 -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
77be0bc022
cherry picks ethermint 2021-05-05 15:10:21 +02:00
Federico Kunze
374d249116
fix test compilation 2021-04-21 15:41:30 +02:00
Federico Kunze
4a9d63356e
cleanup proto 2021-04-19 09:10:57 +02:00
Federico Kunze
6f7470c2e0
build 2021-04-18 19:23:26 +02:00
Federico Kunze
cb2ab3d95d
more fixes 2021-04-18 18:39:15 +02:00
Federico Kunze
614e62fb7e
additions 2021-04-18 17:54:18 +02:00
Federico Kunze
5a3d514ba0
conflicts 2021-04-17 12:00:07 +02:00
Ray Pierre
75fb3ccb89
fix incorrect blockHash in evm (#780)
* Fix wrong blockHash value in evm

* fix ut

* store current block hash in BeginBlock

* update ut

* update comment

* add changelog
2021-03-18 20:04:29 -07:00
Louis Liu
6d11e23326
rpc: fix method to calculate block hash and fix mismatch block hash in eth.getBlock response (#755) 2021-01-31 23:20:22 -03:00
KamiD
c95ad0432b
x/evm: open eip2028 when the version of Istanbul was enabled (#731)
* open eip2028 when Istanbul version enabled

* Update x/evm/types/chain_config.go

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>

* Update x/evm/types/chain_config.go

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>

* add change log

* update development

* fix rpc test error

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
2021-01-28 13:30:38 -03:00
Louis Liu
f0bf151176
evm: add parameter check for evm query func (#746)
* add parameter check for evm query func

* update changelog

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
2021-01-25 11:36:16 -03:00
MichaelWang
bfa9a733e0
evm: fix format errors in String() of QueryEthLogs (#748)
* FIX: format errors in String() of QueryETHLogs

* FINISH: add change log
2021-01-25 11:09:28 -03:00
MichaelWang
dce0b0cffb
evm: fix pointer in ResultData.String() (#733) 2021-01-20 14:33:05 -03:00
Pierre
0fe6353865
evm: reset accessList in EndBlock (#709)
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
2021-01-19 12:31:41 -03:00
Pierre
35bb751bac
x/evm: Modify the Copy function in CommitStateDB (#720) 2021-01-15 13:01:03 -03:00
Pierre
9ecd264ae0
Add API for compatible query of two types of transactions (#683)
* Add API for compatible query of two types of transactions

* format code

* optimize code

* optimize code

* format code

* optimize code

* add error handling

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
2021-01-11 10:31:30 -03:00
Pierre
153478eb69
evm: roll back CommitStateDB after failing to execute handler (#677)
* Roll back CommitStateDB after failing to execute handler in evm module

* add function CopyCommitStateDB

* add comment

* add comment

* Add ut about the dirty data generated by CommitStateDB

* format code
2021-01-08 09:28:25 -03:00
KamiD
ffbb207655
fix panic when start a node with snapshot (#673)
* fix panic when start a node with snapshot

* change the return value of evm.NewKeeper to a pointer, roll back the before change

* add changelog

* fix importer test
2021-01-07 08:55:01 -03:00
Federico Kunze
9cbb4dcf6d
stargate: migrate types (#670)
* changelog v0.4.0

* stargate: types changes

* msg and handler changes

* validation

* fixes

* more fixes

* more test fixes

* changelog

* changelog

* lint

* rm comment

* lint

* redundant if condition
2021-01-06 17:56:40 -03:00
Ray Green
64ada18b01
x/evm: move SetParams execution location in InitGenesis (#685)
* fix-init-evm-genesis-panic

* go fmt file
2021-01-04 10:41:38 -03:00
KamiD
d27810b6b5
evm: reset cache after csdb is committed (#676)
* reset after commit, fix wrong apphash when restart a node with snapshot

* remove ClearStateObjects

* add comment, edit the CHANGELOG.md
2020-12-30 12:39:21 -03:00
Pierre
9659b81ee1
x/evm: set blockHash when executing function CommitStateDB.Prepare in handler (#666) 2020-12-23 17:15:38 -03:00
Federico Kunze
a1386eec09
evm: balance and nonce invariants (#661)
* evm: balance and nonce invariants

* nonce invariant

* changelog

* use iterator on export
2020-12-15 19:43:06 +01:00
dependabot[bot]
1d24ef76e5
build(deps): bump github.com/ethereum/go-ethereum from 1.9.24 to 1.9.25 (#654)
* build(deps): bump github.com/ethereum/go-ethereum from 1.9.24 to 1.9.25

Bumps [github.com/ethereum/go-ethereum](https://github.com/ethereum/go-ethereum) from 1.9.24 to 1.9.25.
- [Release notes](https://github.com/ethereum/go-ethereum/releases)
- [Commits](https://github.com/ethereum/go-ethereum/compare/v1.9.24...v1.9.25)

Signed-off-by: dependabot[bot] <support@github.com>

* fixes

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Federico Kunze <federico.kunze94@gmail.com>
2020-12-11 13:47:18 +01:00
Federico Kunze
5782821ab4
atlas: evm module (#651)
* atlas: evm module

* typos

* update toml

* update description

* Update x/evm/atlas/atlas-v0.3.1.md

* Update x/evm/atlas/atlas-v0.3.1.md

Co-authored-by: billy rennekamp <billy.rennekamp@gmail.com>
2020-12-10 22:31:46 +00:00
Federico Kunze
6e1c16627a
evm: module specification (#538)
* evm: module specification

* params and events

* readme and messages

* minor updates

* concepts

* genesis state concept

* begin and end block

* update parameters and genesis

* state objects

* state table

* use permalink

* init and export genesis

* update abci

* extra eips param

* review comments

* precision

* link to photon doc
2020-12-09 20:11:15 +01:00
Federico Kunze
ef1bef16e5
rpc: protocol version (#575)
* evm: protocol version

* changelog

* version

* fix

* support latest version only
2020-12-08 20:51:26 +01:00
Federico Kunze
3bb76e8533
evm: extra eips param (#643)
* evm: extra eips param

* changelog
2020-12-08 20:01:28 +01:00
Pierre
9cc464b5e4
open Istanbul and MuirGlacier from ChainConfig (#645)
* open Istanbul and MuirGlacier

* fix ut

* fix ut
2020-12-08 16:49:35 +01:00
Federico Kunze
c4a3c0a96e
evm: implement vm.GetHashFn (#620)
* evm: implement vm.GetHashFn

* check nil case

* test

* handle 3 cases

* use switch statement

* stateDB tests

* abci changes

* fix LGTM issue

* final tests

* changelog

* remove epoch

* update test

* clean test

* rm epoch
2020-12-07 21:09:09 +01:00
Federico Kunze
048a8bdc12
app: fix export genesis (#619)
* v0.3.1 changes

* fix export genesis

* changelog

* evm: fix genesis format mismatch (#623)

* evm: fix genesis format mismatch

* genesis tests

* fix test

* changelog

* nolint
2020-11-27 19:42:04 +01:00
Federico Kunze
ca476d0871
evm: state transitions enabled params (#603)
* changelog

* evm: state transitions enabled params

* changelog entry

* changelog
2020-11-20 20:25:11 +01:00
noot
2796f55b02
deps: update go-ethereum to v1.9.24 (#594)
* update to go-ethereum v1.9.24

* go mod tidy

* add YoloV2 to chain config

* add accessList and implement csdb accessList funcs

* cleanup

* access list tests

* changelog

* add stateDB test

* test Copy

Co-authored-by: Federico Kunze <federico.kunze94@gmail.com>
2020-11-16 17:11:15 +01:00
Federico Kunze
4501bbccdc
rpc, evm: refactor (#588)
* stargate: refactor

* remove evm CLI

* rpc: refactor

* more fixes

* fixes fixes fixes

* changelog

* refactor according to namespaces

* fix

* lint

* remove export logic

* fix rpc test

* godoc
2020-10-22 17:39:51 -03:00
Federico Kunze
d274c76ac5
evm: fix begin and endblock (#583)
* evm: fix begin and endblock

* fix tests and changelog

* fix gas

* update GetBlockBloom
2020-10-20 14:53:13 -03:00
Federico Kunze
4e01da905a
crypto: refactor for stargate (#559)
* changelog

* update changelog

* crypto: refactor for stargate

* fixes

* fix keys

* changelog
2020-10-06 20:57:55 +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