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
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
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
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
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
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
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
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
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
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
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
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