Federico Kunze
3526ac12b2
evm: GenesisAccount validation ( #317 )
...
* evm: GenesisAccount validation
* changelog
* fix tests
* typo
2020-05-28 17:22:41 -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