yihuang
089afe41a8
evm: implement ADR-002 EVM Hooks ( #417 )
...
* Allow evm to call native modules through logs
Closes #416
comment
add txHash parameter
review suggestions
add hooks test
* Update x/evm/keeper/hooks.go
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
* Update x/evm/keeper/hooks_test.go
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
* Update x/evm/keeper/keeper.go
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
* Update x/evm/keeper/keeper.go
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
* Update x/evm/keeper/keeper.go
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
* use table tests
* update adr comment
* update adr
* changelog
* Update CHANGELOG.md
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2021-09-02 12:36:33 +00:00
dependabot[bot]
b76d024225
build(deps): bump github.com/cosmos/cosmos-sdk from 0.43.0 to 0.44.0 ( #519 )
...
* build(deps): bump github.com/cosmos/cosmos-sdk from 0.43.0 to 0.44.0
Bumps [github.com/cosmos/cosmos-sdk](https://github.com/cosmos/cosmos-sdk ) from 0.43.0 to 0.44.0.
- [Release notes](https://github.com/cosmos/cosmos-sdk/releases )
- [Changelog](https://github.com/cosmos/cosmos-sdk/blob/v0.44.0/CHANGELOG.md )
- [Commits](https://github.com/cosmos/cosmos-sdk/compare/v0.43.0...v0.44.0 )
---
updated-dependencies:
- dependency-name: github.com/cosmos/cosmos-sdk
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
* fix
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Federico Kunze <federico.kunze94@gmail.com>
2021-09-02 12:26:16 +00:00
Federico Kunze Küllmer
22623a4090
evm: fix keeper tests ( #516 )
...
* evm: fix keeper tests
* rm func
* fix
2021-09-02 08:42:55 +00:00
Federico Kunze Küllmer
516ffe2bf1
evm: GetHashFn test ( #515 )
2021-08-31 15:58:46 +00:00
Federico Kunze Küllmer
87c4ea2dc2
evm: benchmark state DB ( #514 )
...
* evm: benchmark state DB
* add more bech funcs
* rm func from interface
2021-08-31 12:50:31 +00:00
JayT106
9a8827e790
evm: increase performance of tx Log
storage ( #461 )
...
* revise the way of the logs store into the stateDB
* wording
* refine GetTxLogs/SetLogs
* nit
* add bytes_uint16 convert helper
* using helper to instead of big.Int
* nit
* helper tests and fixes
* handle the logs length in SetLogs
* revise Get/Set logs with store.iterator
* remove Bytes<->Uint16 functions
* remove unused const
* simplify SetLog(s)
* make logs return determinism
* Add comments
* update changelog
* Update CHANGELOG.md
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2021-08-31 08:32:11 +00:00
yihuang
a5ab608336
evm: benchmark contract execution ( #436 )
...
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2021-08-30 03:14:58 +00:00
Federico Kunze Küllmer
7389770b10
ci: lint ( #500 )
2021-08-26 15:45:45 +00:00
Federico Kunze Küllmer
b5288399d3
ci: liveness test ( #498 )
...
* ci: liveness test
* rm key
* makefile
* chmod
* update docs
2021-08-26 15:21:43 +00:00
Federico Kunze Küllmer
f469db94ef
feat: fee market module ( #491 )
...
* feat: fee market module
* update proto
* queriers: CLI + gRPC
* gov params
* genesis
* enable height
* fixes
* fix app
2021-08-26 10:08:11 +00:00
Federico Kunze Küllmer
1ad9b4c1a5
evm: EIP1559 & go-ethereum related updates ( #469 )
...
* updates
* more changes
* proto updates
* tidy
* v1beta1
* update buf
* lint
* comments
* typo
2021-08-25 14:45:51 +00:00
Federico Kunze Küllmer
d068f5b331
server: logger handler ( #343 )
...
* Problem: verbose logs display with FATAL option (fix #320 )
add my script
increase amount for metamask
add run
amount ok
hide log
show info
my logger
hook log
revive eth log
tidy up
use suplog
log replace ok
removed suplog
tidy up
tidy up
fix compile
remove sh
tidy up
tidy up
* logger handler
* fix
* fix eth log override (#371 )
remove redundant log
tidy up
* log test
* c++
Co-authored-by: jongwhan lee <jonghwan@crypto.com>
Co-authored-by: Jongwhan Lee <51560997+leejw51crypto@users.noreply.github.com>
2021-08-19 16:55:13 +00:00
crypto-facs
fc46430e0f
evm: decouple tracer from evm creation ( #459 )
2021-08-19 04:18:20 -04:00
Federico Kunze Küllmer
83c838330f
rpc: configure gas cap ( #457 )
...
* rpc: configure gas cap
* c++
* rm old const
* docs
2021-08-18 14:11:51 +00:00
Federico Kunze Küllmer
6f5f15fc6d
proto: v1alpha to v1 ( #448 )
...
* proto: v1alpha to v1
* c++
* go mod
2021-08-17 15:30:35 +00:00
Federico Kunze Küllmer
aa1b728d34
feat: update chain-id
format ( #447 )
...
* feat: update chain-id format
* c++
* docs
* additional context'
2021-08-17 14:11:26 +00:00
Federico Kunze Küllmer
cc3b2ff8e9
evm, server: configurable tracer ( #434 )
...
* server: update server and enable configurable tracer
* config validation
* fix import cycle
* fix start
* update fields
* c++
* c++
2021-08-16 09:45:10 +00:00
yihuang
353455def9
evm: prepare access list in eth_call
( #348 )
...
Closes : #335
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2021-08-16 08:19:27 +00:00
Federico Kunze Küllmer
ff8f63e99b
evm: fix params ( #437 )
2021-08-15 14:54:44 +00:00
Federico Kunze Küllmer
10f0164181
docs: additional content ( #430 )
...
* docs: additional content
* testnet and intro
2021-08-11 12:51:18 +00:00
yihuang
9227e78c79
evm: use stack of contexts to implement snapshot revert ( #399 )
...
* use stack of contexts to implement snapshot revert
Closes #338
add exception revert test case
verify partial revert
mutate state after the reverted subcall
polish
update comments
name the module after the type name
remove the unnecessary Snapshot in outer layer
and add snapshot unit test
assert context stack is clean after tx processing
cleanups
fix context revert
fix comments
update comments
it's ok to commit in failed case too
Update x/evm/keeper/context_stack.go
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
Update x/evm/keeper/context_stack.go
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
Update x/evm/keeper/context_stack.go
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
update comment and error message
add comment to cacheContext
k -> cs
Update x/evm/keeper/context_stack.go
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
evm can handle state revert
renames and unit tests
* use table driven tests
* keep all the cosmos events
* changelog
* check for if commit function is nil
* fix changelog
* Update x/evm/keeper/context_stack.go
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2021-08-10 07:22:46 +00:00
yihuang
73c2f8e529
evm: re-emit the cosmos events from cache context ( #415 )
...
Closes : #414
2021-08-09 09:38:43 +00:00
Federico Kunze Küllmer
098da6d0cc
evm: code comments and cleanup ( #404 )
...
* evm: code comments and cleanup
* context comment
* abci, tx type event and metrics
* statedb comments
2021-08-05 16:24:06 +00:00
yihuang
9bf3659718
evm: use clean context for GetCommittedState
( #383 )
...
* keep the original context for GetCommittedState api
* fix method mutation
* keep estimateGas consistant
* added test after the original context is recovered
* add integration test for the gas consumption of sstore
* test the committed case
* move methods to keeper module
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2021-08-04 07:49:02 +00:00
Federico Kunze Küllmer
f7bcc8d12e
docs: first update ( #188 )
...
* docs: update
* update +
* txs
* update docs
* more docs
* spec update
* doc fixes
2021-08-03 17:35:31 +00:00
Federico Kunze Küllmer
9b9c835266
evm: dynamic fee tx ( #384 )
...
* evm: dynamic fee tx
* proto message
* fix
* lint
2021-07-30 11:40:17 +00:00
Thomas Nguy
63aa0de1e8
evm: update error format ( #350 )
...
* return geth error format
* fix format in gasestimate
* deal with other evm errors
* fix import
* fix lint
* add test
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2021-07-28 15:50:05 +00:00
Federico Kunze Küllmer
bc2a2eb8f3
evm: fix get storage ( #375 )
2021-07-27 14:33:56 +00:00
yihuang
54581269b8
evm: change log tx index to index in block ( #354 )
...
Closes #334
2021-07-26 04:40:59 -04:00
yihuang
2828fa1e62
evm: fix keep balance when resetting an account ( #353 )
...
* keep balance when override account
* Update CHANGELOG.md
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2021-07-26 08:15:59 +00:00
yihuang
f6dc80d949
evm: estimate gas unit tests ( #324 )
...
* add some unit tests for estimateGas
Also add some test environment setup, Closes #323
test estimateGas of erc20 token transfer
fix failed test case
the trick is to keep a clean transient store, by doing a commit
put artifacts to external file
* fix test failure
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2021-07-23 14:24:36 +00:00
yihuang
d54663c0b8
evm: fix infinite context usage on EndBlock
( #329 )
...
The previous code is not incorrect since the method `SetBlockBloom` use the `ctx` passed in rather than the `k.ctx`.
It's confusing that sometimes methods use ctx in parameter, sometimes use `k.ctx`, but that's another issue.
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2021-07-21 11:57:30 +00:00
Thomas Nguy
0276f3465d
rpc: fix Bloom filter response ( #321 )
...
* fix bloomfilter in rpc response
* add comments
2021-07-20 15:16:02 +00:00
yihuang
14b38af8bc
rpc, evm: use binary search to estimate gas ( #272 )
...
* do binary search to estimate gas
Closes #268
- Also refactor ApplyMessage to be more reuseable
move binary search to rpc api side to have a clean context each try
remove EstimateGas grpc api
* extract BinSearch function and add unit test
* do estimateGas in grpc query
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2021-07-19 15:19:23 +00:00
Thomas Nguy
c8b88a3a8b
evm, rpc: fix parameters and block gas limit in getBlockByHeight
and getBlockByHash
( #312 )
...
* fix evm set parameters
* recompute header hash only if its not set
* Update x/evm/keeper/state_transition.go
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2021-07-19 01:52:44 +00:00
yihuang
297a35dbdd
evm: treat all vm errors the same as reverted ( #276 )
...
Closes : #274
evm: fix `ExtraEIP` activation (#288 )
Closes : #287
Update x/evm/types/utils.go
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
Add `Failed` utility function and changelog
2021-07-15 02:01:05 -04:00
Federico Kunze Küllmer
9d1ce30ecd
evm: use block proposer address for COINBASE
opcode ( #291 )
...
* evm: use block proposer address for COINBASE opcode
* test
* c++
2021-07-14 20:44:51 +00:00
yihuang
84febdddae
evm: fix ExtraEIP
activation ( #288 )
...
Closes : #287
2021-07-14 11:10:31 +00:00
Thomas Nguy
aab793e7f4
rpc: fix BlockBloom
not found in header ( #258 )
...
* fix context index
* return default bloom if cannot be found
* fix blockbloom error
* fix setting blockbloom transient in ctx
* clean comments
* remove unused method
* update changelog
* Update CHANGELOG.md
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2021-07-14 09:40:58 +00:00
Federico Kunze Küllmer
e09bf23bd0
evm: move ChainConfig
to Params
( #266 )
...
* evm: move ChainConfig to Params
* fixes
* fix test
2021-07-14 05:13:55 -04:00
yihuang
1a48e09e78
rpc: implement eth_getPendingTransactions
( #259 )
...
* Implement `eth_getPendingTransactions`
Closes #244
* refactor repeatitive code
* Update ethereum/rpc/namespaces/eth/api.go
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
* Update ethereum/rpc/namespaces/eth/api.go
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
* Update ethereum/rpc/namespaces/eth/api.go
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
* Update ethereum/rpc/namespaces/eth/api.go
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
* test UnwrapEthereumMsg
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2021-07-12 17:42:53 +00:00
Federico Kunze Küllmer
c6dae31231
evm: fix BlockBloom
not found for latest height ( #263 )
2021-07-12 10:25:15 +00:00
yihuang
0020e4f2cd
grpc: add eth_call
query command ( #236 )
...
* add eth_call query command
Implement EthCall grpc query api
Closes #229
add eth_call query command
fix codec issue
use query client
use grpc status error and codes
validate address length in grpc handler
* Update x/evm/types/callargs.go
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2021-07-09 09:04:46 +00:00
Federico Kunze Küllmer
623863231b
evm, rpc: query ChainConfig via gRPC ( #239 )
...
* evm, rpc: query ChainConfig via gRPC
* c++
2021-07-08 14:46:42 +00:00
Thomas Nguy
735f00d4a3
evm: store reverted tx as not failed ( #228 )
...
* add tx when evm revert
* add comment
* use cache ctx
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2021-07-08 08:14:11 +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
yihuang
e6f1874cfc
rpc: extract sender address from msg signature ( #217 )
...
* extract real from address in rpc tx query api
Closes : #210
* Update x/evm/types/msg.go
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2021-07-02 09:34:15 +00:00
yihuang
6e983a9da1
rpc: fix balance overflow ( #219 )
...
Closes #218
2021-07-02 05:29:47 -04:00
Federico Kunze Küllmer
86e30e8fa3
feat: use sdk.Int
for TxData
( #208 )
...
* feat: use sdk.Int for TxData
* c++
* fix
* fix test
* fix rpc
* lint
2021-06-30 15:28:38 +00:00
yihuang
0113b4d2c0
fix: return ethereum-formatted tx hash to client ( #202 )
...
* return eth tx hash to client
Closes #67
Update ethereum/rpc/namespaces/eth/api.go
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
Update ethereum/rpc/namespaces/eth/api.go
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
change GetTxByEthHash to method
add entry to changelog
* use eth tx hash internally
2021-06-30 05:35:11 -04:00
Thomas Nguy
5ba8ffe669
ante, evm: update gas consumption logic ( #178 )
...
* clean up logic by ignoring cosmos gas meter
* set gas used in txResponse
* reset and set the gas in context
* rename ante handler
* fix refundedgas logic
* remove gas update logic in keeper
* update context in keeper
* add test for EthSetupContextDecorator
* fix broken test due to gas logic change
2021-06-30 05:31:30 -04:00
yihuang
036ffb7a39
evm: update block bloom ( #193 )
...
Closes #139
2021-06-30 03:37:03 -04: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
crypto-facs
1363a45e93
fix: remove zero address validation ( #205 )
...
* fix: remove zero address validation
* test: update test invalid Ethereum address
* test: fix ValidateBassic test for invalid To address input
* remove unnecesary comment
* fix: remove zero address validation
* test: update test invalid Ethereum address
* test: fix ValidateBassic test for invalid To address input
* remove unnecesary comment
2021-06-29 11:08:07 -04:00
yihuang
336703cfc9
evm: fix AddLog
unmarshaling tx ( #192 )
...
* fix `AddLog` unmarshaling tx
Closes #187
* use cosmos tx in AddLog unit test
* Apply suggestions from code review
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
2021-06-29 06:54:29 -04:00
Federico Kunze
459a290951
tests: add testutils for integration testing ( #132 )
...
* tests: add testutils for integration testing
* update util
* fix config
* more updates
* rand chain-id
* add rpc client integration test example
* makefile
* rename
* updates to makefile
2021-06-25 05:18:37 -04:00
Thomas Nguy
61260dfda8
fix linter issues ( #184 )
2021-06-25 04:31:57 -04:00
Federico Kunze
365c96acfa
evm: update log tx hash key ( #182 )
...
* evm: update log tx hash key
* update test
2021-06-24 12:05:45 -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
Thomas Nguy
fada59551d
rpc, evm: fix eth_coinbase
endpoint to return ethereum address of the validator node ( #153 )
...
* fix coinbase rpc endpoint to return ethereum address of the validator
* update changelog
* fix lint
* clean code and simplify logic
* fix changelog
* change request variable name and type
* add test
* fix proto comments
* fix proto comments
* Update x/evm/keeper/grpc_query.go
* Update x/evm/keeper/grpc_query.go
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
2021-06-22 06:14:40 -04:00
Federico Kunze
4ca7c43b62
deps: bump SDK and Tendermint versions ( #165 )
...
* deps: bump SDK and Tendermint versions
* use header hash from context
* c++
* typo
2021-06-22 04:25:38 -04:00
Federico Kunze
04bacbdd1b
fix and comment outdated tests ( #155 )
...
* fix and comment outdated tests
* config test
* update workflow for tests
2021-06-21 10:17:31 -04:00
Federico Kunze
8a2a8d377f
evm: fix types unit tests ( #154 )
...
* tests: fix evm unit tests
* lint
2021-06-21 09:09:23 -04:00
hello-bwhour
d7da045fc4
ante: check that sender is a EOA ( #125 )
...
* ante: check that sender is a EOA
* fix: GetCodeSize handles nil case and comments
* docs: add TODO comment
* fix: use EmptyCodeHash check
* lint: evmtypes instead of types
* lint: fix suite error
* test: set code to act not as EOA
* undo comment on GetCodeSize
* keeper: fix input checks
* Apply suggestions from code review
Co-authored-by: Akash Khosla <me@akashkhosla.com>
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
2021-06-15 13:39:41 -04:00
Thomas Nguy
d3c5df9dda
evm: set chainID in context during BeginBlock
( #130 )
2021-06-15 07:53:19 -04:00
Federico Kunze
5af5dd9956
docs: update ADR-001 ( #122 )
...
* docs: update ADR-001
* update
* apply transaction changes:
2021-06-14 15:13:31 -04:00
Federico Kunze
bb91d8d93d
ante, evm: fix panic when checking BlockGasMeter
( #120 )
...
* ante, evm: fix panic when checking BlockGasMeter
* update block gas limit function
2021-06-14 10:24:08 -04:00
Thomas Nguy
9d18414c93
fix: tx amount can be nil or zero ( #117 )
...
* amount can be nil or zero
* fix cost function
* fix tests
2021-06-14 08:42:34 -04:00
Federico Kunze
5fe785e917
evm: stacktrace errors for keeper ( #105 )
...
* evm: stacktrace errors for keeper
* fix godoc
2021-06-11 10:29:28 -04:00
Federico Kunze
e8f6f7838e
evm: support legacy tx ( #109 )
...
* evm: support legacy tx
* lint and minor fix
* tx data constructor
* tx data tests
* ante handler tests
* fill msg sender
* c++
2021-06-11 09:38:51 -04:00
Federico Kunze
0c6e44d3d3
evm: remove CommitStateDB
, journal
and stateObject
( #84 )
...
* evm: remove CommitStateDB and stateObject
* imported build fixes
* lint
* rm set nonce
* update account response
* changelog
2021-06-08 13:10:29 -04:00
Federico Kunze
6eadc8fdf8
rpc, evm: remove tx Receipt
( #81 )
...
* rpc, evm: remove tc receipt
* rm receipt from gRPC query service
* update eth block
* update tx service response
* rpc tx fixes
* update bloom
* fix
* more fixes
* c++
2021-06-08 07:11:37 -04:00
Akash Khosla
e3270aee5d
lint: fix many broken lint issues ( #49 )
...
* lint: fix many broken lint issues
* more lint issues resolved
* more lint issues resolved
* all actions issues fixed
* pin variables for websocket
* Update .github/workflows/lint.yml
* more fixes
* fix lint issues in pubsub, rpc, types
* fix lint issues in statedb, journal, pubsub, cli
* fix comment
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
2021-06-08 03:07:11 -04:00
Federico Kunze
1ff3c46663
evm: replace block hash storage ( #80 )
...
* evm: replace block hash storage
* c++
2021-06-07 07:00:14 -04:00
Federico Kunze
e639cb4a82
evm: use TransientStore
for AccessList
( #75 )
...
* evm: use transient store for access list
* evm: remove address and slot access list mappings
* update tests
* update
* changelog
* update types
2021-06-07 06:05:49 -04:00
Federico Kunze
9509e18842
encoding: fix test ( #64 )
2021-06-04 09:45:37 -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
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
Federico Kunze
4a619b1e1b
faucet: remove module ( #678 )
...
* changelog v0.4.0
* faucet: remove module
* changelog
* codecov
2021-01-08 10:25:02 -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
noot
a54c2dc726
add gas price=0 unit test, comments ( #528 )
...
* add handler comment
* add gas price=0 test
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
2020-09-23 11:21:21 -04:00
noot
73d6c41b72
fix handler csdb usage, fixes consensus error again ( #516 )
2020-09-16 20:29:22 -04:00
noot
244d836669
add rpc logs, ignore block bloom errors ( #492 )
2020-09-15 14:42:06 -04:00
noot
9a2d39bf18
update minimum gas price to be 1 ( #515 )
...
* update minimum gas price to be 1
* update changelog
2020-09-15 13:17:22 -04:00
noot
cf9662c7bd
fix consensus error ( #513 )
2020-09-14 13:41:46 -04:00
Federico Kunze
44876ac72f
types: account balance fix ( #507 )
...
* fix hardcoded photon on account balance getter/setter
* types: testing suite
* balance test
* update zero diff
* add case for other coin
* changelog
* fix journal test
2020-09-09 10:53:14 -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
26816e2648
evm: debug non-determinism ( #496 )
...
* evm: debug non-determinism
* add tests
* changelog
2020-09-02 14:33:03 -04:00
Justin Thompson
4344dc10c7
change photon to aphoton ( #476 )
...
* change photon to aphoton
* fix test
* photon docs
* update doc
Co-authored-by: Federico Kunze <federico.kunze94@gmail.com>
2020-08-31 12:40:53 -04:00
noot
a6e152bbb6
fix csdb.Copy ( #488 )
2020-08-31 10:59:47 -04:00
huanglins
b3c895d039
fix default account addr prefix ( #472 )
2020-08-25 08:16:31 -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
ca0a79f103
fix state object bugs causing tx reverts ( #445 )
2020-08-17 09:49:13 -04:00
Federico Kunze
375a7a074d
local testnet command ( #378 )
...
* evm: fix non-determinism
* fixes
* typo
* fix tests
* local testnet command
* fix testnet cmd (#383 )
fix export-eth-key
generate eth type account in genesis.json file
* fixes
* update docker
* minor changes
* fix build-docker-local-ethermint
* fix dockerfile
* update Makefile
* update denoms
* update genesis file
* update makefile
* fix docker-compose.yml images
* fix localnet execution (#398 )
* finish documentation
* changelog and comment rpc tests workflow
* update codecov
* update testnet docs
* fix docker-compose execution
* update docs
* fix errors and make testnet work (#403 )
* fix errors and make testnet work
* Update Dockerfile
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
* wip - fix db
* fixes emintd nodes and syncs nodes
* starts daemon and rpc server in bg
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: Federico Kunze <federico.kunze94@gmail.com>
* update entrypoint and docs
* update logs
* try fix rpc
* build docker image
* Update Dockerfile
Co-authored-by: Holechain <nrgh@foxmail.com>
Co-authored-by: Alessio Treglia <quadrispro@ubuntu.com>
Co-authored-by: Daniel Choi <choidanielw@gmail.com>
2020-07-31 17:42:04 -04:00
Federico Kunze
de8d8acf77
x/evm: StateBD tests ( #407 )
...
* draft state_transition
* working test
* keeper test
* statedb rewrite
* fix tests
* add keeper statedb test
* minor changes
* x/evm: StateBD tests
* try fix
* fix stateObject.setState
* Update x/evm/types/state_object.go
* update stateObject.setState
* uncomment test
* increase coverage
* fix test-import
* update rpc tests
Co-authored-by: Justin Thompson <justin.thompson12@hotmail.com>
Co-authored-by: noot <elizabethjbinks@gmail.com>
2020-07-27 15:33:16 -04:00
noot
cc6b5d04f2
fix rpc-test action ( #402 )
2020-07-23 15:38:47 -04:00
Justin Thompson
d69aad2016
x/evm: stateDB and keeper tests ( #396 )
...
* draft state_transition
* working test
* keeper test
* statedb rewrite
* fix tests
* add keeper statedb test
* minor changes
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: Federico Kunze <federico.kunze94@gmail.com>
2020-07-23 14:30:31 -04:00
Federico Kunze
2fb4ab4862
x/evm: contract deploy test ( #392 )
...
* Add deploy and call test example to handler_test.go (#271 )
* Add deploy and call test example to handler_test.go
* fmt the file
* remove the smartcontract Bytecode comment
Co-authored-by: liuxiong <xiong.liu@okcoin.net>
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
* fix test
Co-authored-by: Louis Liu <35095310+louisliu2048@users.noreply.github.com>
Co-authored-by: liuxiong <xiong.liu@okcoin.net>
2020-07-15 10:52:21 -04:00
Justin Thompson
6bc80c5357
x/evm: state_transition test ( #389 )
...
* draft state_transition
* working test
* keeper test
* Update x/evm/types/state_transition_test.go
* update state_transition_test.go
* failed Finalize test case
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: Federico Kunze <federico.kunze94@gmail.com>
2020-07-15 06:36:55 -04:00
Federico Kunze
90f39390bc
evm: fix non-determinism ( #352 )
...
* evm: fix non-determinism
* fixes
* typo
* fix tests
* use Storage slice
* more fixes
* lint
* merge development
* additional tests
2020-07-13 16:01:45 -04:00
Federico Kunze
42fc796595
x/evm: state_object tests ( #388 )
...
* x/evm: state_object tests
* tests
* commit tests
* finalize tests
* update
2020-07-13 13:44:28 -04:00
Federico Kunze
fef16af382
x/evm: journal tests ( #384 )
...
* x/evm: journal tests
* comment tests
* cleanup setup
* fixes
* add test for various logs
* lint
* minor fix
2020-07-13 12:30:24 -04:00