Vladislav Varadinov
a5c927bf5b
Remove simulation checks ( #1507 )
...
* Add cli rollback command
it's useful in app-hash mismatch situation.
* Update CHANGELOG.md
* (refactor): removed old sim tests logic
* (fix): removed tests from CI
* (fix): fix test.yml
* (fix): format and lint
* (fix): fix linter issue
* (fix): fix linter issues v2
* (fix): linter
* (fix): removed sim-test references
* Applied changes from code review
Co-authored-by: HuangYi <huang@crypto.com>
2022-11-29 13:41:40 +02:00
Vladislav Varadinov
8866ae0ffd
chore(evm) - Delete deprecated store migrations ( #1498 )
...
* (fix): Delete deprecated migrations
* Update x/evm/module.go
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2022-11-25 13:29:47 +00:00
crypto-facs
4a6f4fd6e0
imp(deps): Geth upgrade v1.10.19 ( #1159 )
...
* upgrade geth and fix build
* add support for
* update EIPs
* fix keeper tests
* update traceTx function with latest geth changes
* remove unnecessary comments
* fix tests
* update proto
* add migrations
* update module version
* fix grpc test
* fix lint
* fix lint
* update changelog
* fix typo
* remove unnecessary format logs
* Update proto/ethermint/evm/v1/evm.proto
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
* remove debug true on default
* update comments
* fixing ante tests
* fixed cycle imports on migrate_test
* fix wrong naming
* update comment
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2022-07-08 10:58:04 +00:00
Federico Kunze Küllmer
ec8e93b319
all: rename go module to evmos/ethermint ( #1137 )
2022-06-19 11:43:41 +02:00
yihuang
8f932ddc6a
!feat(evm): Reject not replay-protected tx to prevent replay attack ( #1124 )
...
* Reject not replay-protected tx to prevent replay attack
Closes : #1122
- reject such txs in ante handler
* add reject unprotected parameter
* Update CHANGELOG.md
* Apply suggestions from code review
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
* pr suggestions
* add unit test case
* Reject not replay-protected tx to prevent replay attack
Closes : #1122
- reject such txs in ante handler
add reject unprotected parameter
Update CHANGELOG.md
Apply suggestions from code review
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
pr suggestions
add unit test case
use var
* add migrations
* Apply suggestions from code review
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
* rename
* update comments
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2022-06-13 09:41:53 +00:00
crypto-facs
620f6a6770
imp(feemarket): update BaseFee
based on GasWanted
( #1105 )
...
* add gasWanted transient store keys
* add gasWanted transient store keeper functions
* add gasWanted transient store tracker
* add comment
* remove unncesary comment
* remove unnecesary function
* fix tests
* fix bad comment
* remove unnecesary comment
* update comment
* update changelog
* Update CHANGELOG.md
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
* add GasWantedDecorator
* remove unnecesary comments
* gasWanted decorator test
* fix tests
* fix tests and build
* fix lint
* updated end block event
* Update app/ante/fee_market.go
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
* fix undeclared variable
* Update app/ante/fee_market_test.go
* remove unnecesary line
* migrate MinGasMultiplier to FeeMarket module
* set limited gas wanted
* remove old newKeeper param
* update proto comment
* fix test
* update comments
* Update x/feemarket/keeper/abci.go
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
* address comments from review
* tidy
* tests
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2022-06-05 09:22:33 +00:00
crypto-facs
c4417713fa
imp(evm): define minimum GasUsed proportional to GasLimit ( #1087 )
...
* min gas denominator implementation
* update changelog
* modify MinGasDenominator type to sdk.Dec
* fix typo in comments
* add comments
* update comment
* refactor logic
* remove unnecesary test
* fix typo on proto
* rename param
* fix tests
* use truncate and run mod tidy
* comment to default value
* update changelog
* rename temporary gas used
* integration tests
* add migrations
* add default as var
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2022-05-25 13:52:34 +00:00
Adu
eaca3e09e2
fix: simulations don't generate EVM transactions ( #996 )
...
* use SimAppChainId instead of the default cosmos-sdk simulation chainid
* implement custom RandomGenesisAccounts for auth module simulation
* use customized RandomGenesisAccounts
* generate random ethereum txs operations
* use sdk.DefaultBondDenom
* implement WeightedOperations
* fix self assignment
* use customized RandomAccounts to generate accounts with ethsecp256k1 private key
* RandomAccounts generate random accounts with ethsecp256k1 private key
* implement SimulateEthSimpleTransfer
* implement SimulateEthCreateContract
* refactor and implement operationSimulateEthCallContract as future operations of SimulateEthCreateContract
* Update app/app.go
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
* Update app/test_helpers.go
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
* Update x/evm/simulation/operations.go
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
* Update x/evm/simulation/operations.go
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
* Update app/test_helpers.go
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
* fix r.Read return only 1 result
* fix linter errors
* change SimulateContext to private
* return transferable amount immediately
* fix linter errors
* fix linter errors: append assign to different slice
* fix linter error: remove else block
* use gofumpt
* Update x/evm/simulation/operations.go
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
* Update x/evm/simulation/operations.go
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
* Update x/evm/simulation/operations.go
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
* Update x/evm/simulation/operations.go
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
* fix recipient typo
* add nosec comment to escape Potential hardcoded credentials check
* add comments
* use SimAppChainID as valid chainID
* do not specify genesis.json to create random genesis state for simulation
* sub estimateGas to avoid overflow
* correct RandomGenesisAccounts comments
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
* correct app/test_helpers.go comments
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
* remove NewTxConfig
* implement RegisterStoreDecoder
* remove WeightMsgEthCallContract and adjust weights
* use gofmt
* update godoc
* use types.DefaultEVMDenom in evm genesis params
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
* use types.DefaultEVMDenom
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
* update godoc
* Update x/evm/simulation/genesis.go
* replace evmdenom with bonddenom in AppStateFn
* fix AppStateFn
* fix lint error
* add ParamChanges for RandomizedParams
* rename app/test_helpers.go -> app/utils.go
* testing for RandomGenesisAccounts
* use cdc for marshaling
* lint
* changelog
* changelog 2
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: crypto-facs <84574577+crypto-facs@users.noreply.github.com>
Co-authored-by: Freddy Caceres <freddy.caceres@crypto.com>
Co-authored-by: Federico Kunze Küllmer <federico.kunze94@gmail.com>
2022-04-19 09:50:00 +00:00
Federico Kunze Küllmer
841c93cd65
feat: store migration setup ( #794 )
...
* feat: store migration setup
* comment
* changelog
2021-11-29 16:46:20 +01:00
yihuang
10c49f7748
feat: add raw ethereum tx CLI ( #712 )
...
Closes #709
fix index
Apply suggestions from code review
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
fix lint
transaction decoding unit test
test BuildTx
fix lint
changelog
2021-11-02 12:20:19 +01:00
Tomas Tauber
e91ec58aa1
evm: fixed commented out simulations, pubsub, and handler tests ( #655 )
...
* evm: fixed commented out simulations, pubsub, and handler tests
fixes #640
simulations are very basic: they can be built and executed,
but they don't generate any EVM-related transactions yet.
(It should be a matter of adding simulation-related code to the
modules + potentially extra helpers to the simulation.)
handler tests miss some extra assertions due to changes
in the return values snapshotting logic (ADR-001 and ADR-002).
Besides the test suites identified in the audit,
there's also "importer_test.go" which wasn't yet fixed.
(it'd require major rewriting + extra test resources)
* gofumpt
2021-10-11 13:09:53 +02: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
Thomas Nguy
61260dfda8
fix linter issues ( #184 )
2021-06-25 04:31:57 -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
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
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
614e62fb7e
additions
2021-04-18 17:54:18 +02:00
Federico Kunze
5a3d514ba0
conflicts
2021-04-17 12:00:07 +02: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
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
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
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
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
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
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
Federico Kunze
c30205cae9
error migration ( #254 )
...
* migrate errors
* ante handler errors
* return err instead of panic
2020-04-16 11:47:39 -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
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
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
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
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
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
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
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
1d490ba4d9
Adds AppModuleBasic and Genesis Functions ( #62 )
...
* Adds AppModuleBasic implementation and genesis functions
* Fixes broken links
* Adds .idea/
* Adds starter for missing genesis funcs
* Completes AppModuleBasic interface
* Removes comment
2019-07-08 12:02:20 -04:00