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
Federico Kunze
0cc1c40e34
x/evm: tests ( #381 )
...
* run suite
* add a few tests (#340 )
* add a few tests
* fixes to tests
* add more tests
* check err to fix lint
* add preimage and refund tests
* add more more tests
* fix linting errs
* lint err
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
* set stateDB on suite
* fix genesis
* logs tests
* remove dup imports
Co-authored-by: Daniel Choi <choidanielw@gmail.com>
2020-07-08 14:11:02 -04:00
Federico Kunze
c8b8f49675
run make format ( #351 )
...
* run make format
* fix yaml
* fixes
2020-07-02 11:19:48 -04:00
Federico Kunze
d4fe9b234c
docs: vuepress setup and section titles ( #311 )
...
* vuepress
* docs: vuepress setup and TODOs
* doc scripts
* update Makefile and gitignore
* more docs updates
* gitignore
* metamask instructions
* update image
* updates
* updates from call
* docs: vuepress config and home.vue (#350 )
* update uncles return (#337 )
* x/evm: fix EndBlock consensus failure (#334 )
* add test for sending tx w/ 21000 gas
* improve rpc transfer test
* use ctx in EndBlock
* UpdateAccounts and ClearStateObjects with passed in context
* log ethereum address on error
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: Federico Kunze <federico.kunze94@gmail.com>
* update Ethermint color variables
* add header and footer logo
* tweak config.js
* WIP custom homepage.vue
* add layout to docs/README
* update color variables
* add eth logo black and white
* tweak docs/README
* update logo and logo-bw svg
* bump 1.0.167
* homepage → home
* add icon-code, icon-rocket
* layout: home, remove configurable frontmatter: label, read, use
* clean up config.js
* bump 1.0.168
* fix missing comma from resolving conflicts
* update sidebar, config nav, path
* remove left whitespace on the header and footer logos
* clean up home.vue, docs/README
* update ethermint forum url in footer.links
* comment out custom true to enable searchbar in subpages
* remove external link icon for Guides
* comments, revert custom true
* clean up config.js, add specifications icon
Co-authored-by: noot <36753753+noot@users.noreply.github.com>
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: Federico Kunze <federico.kunze94@gmail.com>
* final touches
Co-authored-by: Cyrus Goh <hello@lovincyrus.com>
Co-authored-by: noot <36753753+noot@users.noreply.github.com>
2020-07-02 04:22:45 -04:00
Federico Kunze
edf4357176
build: github actions ( #346 )
...
* add workflows
* fix
* fix lint
* rpc tests
* build and format
* fix build errors
* remove dontcover
* update importer test
* more fixes
* lint
* split importer test
* fix
* remove tmp dir
* revert
* comment test import
2020-06-26 18:26:55 -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
noot
28e28f2a7b
x/evm: fix EndBlock consensus failure ( #334 )
...
* add test for sending tx w/ 21000 gas
* improve rpc transfer test
* use ctx in EndBlock
* UpdateAccounts and ClearStateObjects with passed in context
* log ethereum address on error
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: Federico Kunze <federico.kunze94@gmail.com>
2020-06-22 12:07:35 -04:00
noot
9f573690a6
implement eth_exportAccount ( #331 )
2020-06-17 14:23:36 -04:00
Federico Kunze
427e96c1de
evm: various fixes ( #319 )
...
* evm: use prefix stores, move SetBlockBloom to EndBlock, bug fixes
* add logs to genesis state
* log tests
* commit and finalize on InitGenesis
* validate TransactionLogs
* changelog
* fix test-import
* fix lint
* add more tests
2020-06-04 06:40:21 -04:00
noot
4fd9ec3a26
genesis functions cleanup, testing ( #318 )
2020-05-29 11:50:22 -04:00
Federico Kunze
3526ac12b2
evm: GenesisAccount validation ( #317 )
...
* evm: GenesisAccount validation
* changelog
* fix tests
* typo
2020-05-28 17:22:41 -04:00
Federico Kunze
5d15be6adb
update init script ( #309 )
...
* update init script
* rename faucet cmd
2020-05-20 17:29:26 -04:00
Federico Kunze
0351bef644
testnet faucet ( #281 )
...
* testnet faucet
* commands
* updates
* faucet module
* genesis state
* fixes
* module.go
* add module to app
* update Fund
* querier route
* querier
* CLI query
* fix query
* add rest routes
* update cli query
2020-05-18 17:33:08 -04:00
Federico Kunze
16df7725c5
evm: add missing genesis fields and export genesis state logic ( #255 )
...
* evm: export genesis state
* x/evm: split keeper.go
* x/evm: retrieve storage from address
* changelog
* fixes
* add check for nil logs
* update validation func
* fixes
* fix non-determinism
* stop storage iteration
* remove error return value
* update changelog
* fix test
* lint
2020-05-18 15:21:12 -04:00
noot
846f48a572
get account sequence in GetTransactionCount ( #303 )
...
* get account sequence if querying latest in GetTransactionCount
* use ctx WithHeight in GetTransactionCount; remove nonce query from querier
2020-05-17 11:15:32 -04:00
noot
1f63ddfe96
evm: update msgs to accept zero gas price ( #299 )
...
* update keeper to accept gas price=0; default pending to latest
* cleanup
* more cleanup
* more cleanup
* more cleanup
* more cleanup
* ante: copy IncrementSequenceDecorator from SDK's AnteHandler
* improve bloom test
* lint
* update msg error
Co-authored-by: Federico Kunze <federico.kunze94@gmail.com>
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
2020-05-14 22:08:13 -04:00
noot
ce0feb307b
update rpc tests ( #276 )
...
* update rpc tests
* cleanup
* add log assertion to getTransacionReceipt
* fix queurier_test
* address comment
2020-05-04 18:02:26 -04:00
Federico Kunze
26d4e968e0
remove duplicate query in receipts ( #273 )
...
* logs tests
* updates
* String()
* remove extra query, add comments
* test fixes
* lint
* lint
2020-05-02 21:56:18 -04:00
Federico Kunze
d3c802f99e
x/evm: logger ( #272 )
...
* x/evm: logger
* changelog
* go mod verify and tidy
* typo
2020-04-29 23:36:30 -04:00
thomasmodeneis
5417b4bb54
migrate build to Travis #258 ( #259 )
...
* add travis file
* update lint so it reports properly
* disable circleci
* separate test structure into Verify deps & Lint, Unit Tests, Race Tests, Integration Tests
* fix path issue now evident on ci build err
* fixed golangci version to latest stable
* Upgrade ci lint to go script and avoid cache issues #268
* fix lint issues #268
* bump go version for travis build to match go.mod version recently updated with Cosmos SDK upgrade
* add panic for err edge cases on os.Stat
* increase timeout to 10m since its failing on jenkins
* bump GOLANGCI_VERSION to 1.23.8 in order to try avoiding some weird errors on CI
2020-04-29 22:38:57 +02:00
dependabot-preview[bot]
716181d9d5
Bump github.com/ethereum/go-ethereum from 1.9.0 to 1.9.13 ( #256 )
...
* Bump github.com/ethereum/go-ethereum from 1.9.0 to 1.9.13
Bumps [github.com/ethereum/go-ethereum](https://github.com/ethereum/go-ethereum ) from 1.9.0 to 1.9.13.
- [Release notes](https://github.com/ethereum/go-ethereum/releases )
- [Commits](https://github.com/ethereum/go-ethereum/compare/v1.9.0...v1.9.13 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
* add isEIP2028 param to IntrinsicGas
* go mod verify and tidy
Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
Co-authored-by: Federico Kunze <federico.kunze94@gmail.com>
2020-04-23 13:21:23 -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
thomasmodeneis
2693718662
fix lint ( #264 )
2020-04-22 19:39:09 +02: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
c30205cae9
error migration ( #254 )
...
* migrate errors
* ante handler errors
* return err instead of panic
2020-04-16 11:47:39 -04:00
Austin Abell
33ab63ef15
update web3 transaction hash from RLP ( #250 )
...
* remove ethereum hash of web3 transaction type (always amino hash)
* Update changelog
2020-04-13 19:08:43 -04:00
noot
199484fc2e
eth_getFilterLogs, eth_getLogs implementation ( #248 )
2020-04-13 15:18:50 -04:00
Austin Abell
9b8dd598bb
Remove recomputing of tx bytes ( #217 )
2020-04-10 16:47:56 -04:00
noot
db4cee7eac
eth_newBlockFilter and related functionality ( #232 )
...
* add filter types for block, pending tx, log
* implement pollForBlocks for block filters
* implement getFilterChanges for block filter
* implement uninstall filter by stopping polling
2020-04-07 16:00:06 -04:00
noot
35e7a98ab2
filters: begin implementation ( #230 )
...
* adds Filter type and related methods
* updates PublicFilterAPI to include backend, filter mapping
* stub out filter related eth_ functions
2020-04-01 20:43:59 -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
Federico Kunze
87b625ed50
Tools configuration and linters ( #215 )
...
* tools config
* lint
* lint
* codecov
2020-03-16 19:53:24 -03:00
Federico Kunze
30f34e6c59
evm: move Keeper and Querier to /keeper package ( #182 )
...
* evm: move Keeper and Querier to /keeper package
* keeper: update keeper_test.go
* fix format
* evm: use aliased types
* add comments from review
* changelog
2020-03-09 10:17:23 -03:00
Austin Abell
c99d5cf6c5
Switch EVM context to use header time ( #167 )
2020-01-09 09:03:39 +13:00
Austin Abell
51adade59f
Update golangci-lint config and fix linting issues ( #168 )
...
* update golangci
* update golang lint yml and updated linting issues
2020-01-08 09:56:49 +13:00
Austin Abell
a4d88188bc
Add statedb bloom filter test ( #160 )
2019-12-19 16:18:50 +10:00
Austin Abell
ce8a94a98e
Cosmos PR changes ( #158 )
...
* Changes necessary for enforced custom account encoding/decoding and keyring keybase changes
* updates cosmos dependency and fixes inconsistency in gas usage for simulated/real txs
* Update PR changes
* Remove unused password prompt when using OS keyring
* Update from changes to sdk
* Update to merged PR commit :the_horns:
* updated code to handle keyring backend options
* update documentation and replace cosmos-sdk with fork (temporarily)
* update cosmos dependency from fork
* update documentation
2019-12-13 14:50:19 -05:00
Austin Abell
6eef37b0c6
Finish and clean up module queries and txs ( #152 )
...
* Basic transactions set up (to be separated)
* Change transaction command to not include create operation (to include other command in next commit)
* set up create command and made minor changes
* wip implements module queries
* Added tests for query address decoding
* Added ambiguous encoding of to address in transaction and added tests
* Fix linting issue
* Move registering key types to application level to allow module usage to ignore
* Move genaccounts code to be reused
* Switches nonce increase to always happen in ante handler
* change SetNonce from keeper to point to actual nonce operation
* Remove no op nonce switch (not needed with clearing cache)
* Changes to update all accounts pre state transition and clear cache at end of block
* Update accounts before end of block commit (edge case where necessary)
* Fix nonce of sender going into evm in case it's checked, and let evm set contract starting nonce
2019-11-15 12:02:13 -05:00
Austin Abell
9311f9efd0
Update keybase back to cosmos-sdk with support ( #147 )
...
* Migrate keybase back to Cosmos-sdk using temporary fork
* Cleaned up other affected code
* Change to updated tendermint
* fmt
* Change auth codec update
* clean up codec registration to respective packages
* Fix import fmt
* Remove no longer necessary replace
* Fix function comment
2019-11-13 12:00:21 -05:00
Austin Abell
97f73063a5
Updates SDK and implement application genaccounts ( #143 )
...
* Transition to updated sdk with modular ante handler and new genaccounts setup
* Update genesis account type to be an Ethermint account
* Change default keybase and tidy modules
* Fix lint
2019-11-04 15:45:02 -05:00
Austin Abell
42227a1b8c
Fix eth_estimateGas and simulated txs ( #142 )
2019-11-04 11:59:16 -05:00
Dustin Brickwood
fc57cabcab
Linted Repo ( #136 )
...
* Linted
* Updated lint to include config file
* Linted repo
* Updated make command
* made requested changes
* added no lint
2019-11-01 10:26:53 -05:00
Austin Abell
c130105b86
Fix EVM out of gas handling ( #133 )
2019-10-30 14:39:46 -04:00
Dustin Brickwood
69e0873dd9
eth_estimateGas ( #128 )
...
* Draft eth_estimateGas
* implemented eth_estimateGas
* refactored doCall to be used for both eth_call and eth_estiamteGas
* updated to reflect requested changes
* moved GenerateFromArgs func
* removed todo
* revert comment
* fixes dereference issue
* gofmted
2019-10-30 13:30:24 -05:00
Austin Abell
741dfeb461
Revert journal changes from simulated transactions ( #132 )
2019-10-30 11:16:00 -04:00
Austin Abell
51ff5d48a9
Fixes gas limit for simulated transaction ( #130 )
...
* Fixes call gas limit for stdTxs
* reword comment
2019-10-29 11:52:26 -04:00
Austin Abell
2b4d2bea82
Implements eth_call ( #127 )
...
* Fixed tx receipt error on failed transaction
* Add returnData to failed transaction for logs bloom
* Added simulate call option, without returning evm data
* Added encoding and decoding of data from EVM execution for usability
* Remove unused context parameter
* Fix function comment and remove unnecessary logging on eth_call
2019-10-22 11:40:34 -05:00
Austin Abell
475919274e
Tx receipt query fix ( #126 )
...
* Fixed tx receipt error on failed transaction
* Add returnData to failed transaction for logs bloom
* Change comment to TODO
2019-10-23 01:04:51 +09:00
Austin Abell
160e82b2ad
Implement eth_pendingTransactions, bump sdk version ( #124 )
...
* Update sdk version, implement pending txs, fix nonce check
* Bump cached dependencies in circleCI
* bump circleci go version
* updated linter and fixed bugs relating to go version 1.13
2019-10-19 08:23:09 +09:00
Austin Abell
9802cbc98e
Gas usage implementation ( #123 )
...
* Set up gas consumption based on gas limit
* Convert evm gas meter to be infinite since being ignored
* Remove unnecessary declaration
* Update fees paid to validators to be function of gas limit and price instead of just gas
* added nonce check for node tx execution
* Increment account nonce after mempool check
* Remove unnecessary nonce increment
2019-10-19 08:14:38 +09:00
Austin Abell
dc25d847c3
Implements eth_getProof ( #122 )
...
* Implemented eth_getProof and cleaned logs query types
* Rename ethereum logs query type
2019-10-16 09:46:50 +09:00
Austin Abell
5a19ae5706
Implements net_version for Ethers ( #121 )
2019-10-15 10:20:35 +09:00
Dustin Brickwood
a61f3b892d
Filtering for eth_getLogs ( #120 )
...
* Filtered logs based param criteria
* addded PublicFilterAPI
* added filter logs func to filter based on params
* added Unmarshal func from go-ethereum
* Linted
* made requested changes
2019-10-07 22:32:28 -05:00
Austin Abell
eab81bc578
block and tx logs bloom and tx receipt logs ( #119 )
...
* Add bloom filter to tx receipt
* wip tx receipt logs to be tested
* Added Bloom - Height Mapping
* keeper.go sets <height:bloombits>
* keeper.go gets <height> --> bloombits
* updating and querying bloom by block (to be tested with real logs)
* fix bug with contract address return
* added error handling instead of logging
2019-10-04 15:32:56 -04:00
Austin Abell
8bb8b40b32
Emint tx type for eth_call and logs setup ( #118 )
...
* Implement new tx message type for eth_call and module txs and abstracted state transition, prepared db for logs
* Added transaction indexing to evm keeper
* Alternative count type
2019-10-03 12:46:02 -04:00
Austin Abell
09a71a2a3a
eth_getBlockByHash and block hash mapping functionality ( #114 )
...
* Set up block hash to height mapping storage and fixed linting issues
* fix typos
* Set up module query for block height
* fix bug with block mappings and implemented get block by hash
* Fix other consensus hash references
2019-09-27 10:08:45 -04:00
Austin Abell
f7ad8f53f0
Sets up basic storage test for keeper and moves commit function to end of block in module from handler ( #112 )
2019-09-26 11:54:23 -04:00
Austin Abell
7f1eb4b0cf
Query and bug fixes ( #110 )
...
* Fix queries and bugs
* Fix issues from rebasing
* Fix rpc query address
2019-09-26 11:36:23 -04:00
Austin Abell
6cfeb6e754
eth_getTransactionReceipt Impl ( #109 )
...
* wip Implement get transaction receipt, waiting on details to finalize
* Fix response format for tx receipt
* Fix duplicate err check
* remove cumulative gas field
* Used byte conversion function
2019-09-25 14:38:33 -04:00
Austin Abell
4a030335e6
eth_getBlockByNumber impl ( #87 )
...
* WIP implement eth_getBlockByNumber
* Implemented some missing fields
* Added gasLimit and updated previous fields
* Implement remaining pieces for eth_getBlock including decoding txs
* Add converting transaction objects into function for usability
* Clean up code
* format block in function for usability
* Fixed formatting and cached gasLimit value
2019-09-24 14:39:17 -04:00
David Ansermino
1cac4feb4d
Minor fixes ( #94 )
...
- Updates RPC return types
- Removes custom query types in favour of default eth
- This is largely to allow for proper hexadecimal formatting (provided by `hexutil`), as the API is very specific about formatting.
2019-09-24 16:49:40 +02:00
Austin Abell
28aaba0695
Implement eth_sendTransaction ( #104 )
...
* Set up framework for sending transaction with correct args and nonce mutex locking
* Set up printing ethereum address through emintkeys and getting chainid from flags
* Implemented defaults for eth_sendTransaction
* Fix bug with no data provided
* Updated comments and error, as well as RLP encoded tx bytes for return instead of amino encoded
2019-09-20 09:30:20 -04:00
Austin Abell
2ca42cc155
Implement eth_sendRawTransaction ( #101 )
...
* Implement sendRawTransaction (tx not being broadcasted to node from server)
* Add broadcast type flag to rpc API and fixed amount validation
* Add documentation
2019-09-18 16:14:39 -04:00
Austin Abell
69567e29d5
Override auth module codec for all references to Ethermint codec ( #103 )
2019-09-18 14:50:06 -04:00
Austin Abell
1b5c33cf33
EVM Transaction handler and contract creation ( #96 )
...
* WIP implementing state transition function
* Error handling and application setup fix
* Fixed error comment
* Allow creation of state objects with a BaseAccount
* Fixed parameters and finalise state after transaction
* updated transaction signing and cli signature
* Set up consistent account encoding and decoding
* Update txbuilder to get sequence before generating eth tx
* Added create functionality to the CLI command
* Remove need to copy over context for statedb interactions
* Updated account retriever
* Cleaned up handler code and updated TODO
* Make recoverEthSig private again
* Add error check for committing to kv store
* Remove commented out code
* Update evm chain config for state transition
* Add time in context for dapps
2019-09-18 09:51:18 -04:00
Austin Abell
72fc3ca3af
Transaction signing and encoding ( #95 )
...
* WIP setting up evm tx command and updating emint keys output
* Fix linting issue
* Wip restructuring to allow for ethereum signing and encoding
* WIP setting up keybase and context to use Ethermint keys
* Fixed encoding and decoding of emint keys
* Adds command for generating explicit ethereum tx
* Fixed evm route for handling tx
* Fixed tx and msg encoding which allows transactions to be sent
* Added relevant documentation for changes and cleaned up code
* Added documentation and indicators why code was overriden
2019-09-15 12:12:59 -04:00
Austin Abell
4c29c48905
Add missing nonce query to evm module ( #92 )
2019-09-07 12:41:15 -04:00
Austin Abell
1e48e2b115
eth_getTransactionCount implementation ( #91 )
...
* Implemented eth_getTransactionCount endpoint
* Linting fixes
2019-09-06 10:46:26 -04:00
Austin Abell
5777ead349
Handler Framework ( #80 )
...
* Implement base handler framework
* Add comments for the missing state transition logic components for a tx
* Fix typo
* Remove TODO checks done by anteHandler
2019-08-14 19:52:45 -04:00
Austin Abell
64b63f33f1
Moved crypto codec registration to module ( #79 )
2019-08-11 10:50:30 -04:00
Austin Abell
cfac906f92
Ethermint key generation ( #78 )
...
* WIP setting up Ethereum key CLI commands
* Functional key gen and showing Ethereum address
* Cleaned up changes
* WIP setting up Ethereum key CLI commands
* Functional key gen and showing Ethereum address
* Cleaned up changes
* Changed address to cosmos specific address
* Remove default bech32 prefixes and add basic add command test
* Changed Private key type to slice of bytes for compatibility and storability
* switch back to using cosmos crypto Keybase interfaces
* Changed key output to ethereum addressing instead of bitcoin and key generation to allow seeding from mnemonic and bip39 password
* Updated show command and added test
* Remove prefix requirement for showing keys and added existing keys commands to CLI temporarily
* Removed unnecessary duplicate code
* Readd prefixes for accounts temporarily
* Fix linting issue
* Remove TODO for setting PK to specific length of bytes (all functions use slice)
* Cleaned up descriptions to remove multi-sigs
2019-08-11 10:42:46 -04:00
David Ansermino
92dc7d9a59
Basic RPC and CLI Queries ( #77 )
...
- Adds ethermint query command (`emintcli query ethermint <query>`)
- Supports block number, storage, code, balance lookups
- Implements RPC API methods `eth_blockNumber`, `eth_getStorageAt`, `eth_getBalance`, and `eth_getCode`
- Adds tester utility for RPC calls
- Adheres to go test format, but should not be run with regular suite
- Requires daemon and RPC server to be running
- Excluded from `make test`, available with `make test-rpc`
- Implemented AppModule interface and added EVM module to app
- Required for routing
- Implements `InitGenesis` (`x/evm/genesis.go`) and stubs `ExportGenesis`
- Modifies GenesisAccount to match expected format
2019-07-25 16:38:55 -04:00
David Ansermino
d9d45b48b9
CSDB Keeper ( #76 )
...
- Implements Keeper. This is a wrapper around the "real" keeper (CSDB). Since we need to pass the context into the keeper we need to abstract the CSDB from the
- Adds WithContext() to CSDB to support the above requirement
- Adds Keeper to app
2019-07-24 18:14:12 -04:00