Commit Graph

320 Commits

Author SHA1 Message Date
Calvin Lau
481e3b82ce
rpc: add debug_tranceBlockByHash, fix debug_traceBlock* crash on non-existing block (#743)
* Problem: Missing debug_tranceBlockByHash RPC method

Solution: (Fix #742) Add the missing method

* Problem: debug_traceBlockByNumber crashed when block height not found

Solution: (Fix #744) Fix memory reference error

* Run go fmt

* Revert comment on init.sh

* Apply suggestions from code review

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>

* Update rpc/ethereum/backend/backend.go

* Update rpc/ethereum/backend/backend.go

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2021-11-12 08:50:38 +00:00
Jongwhan Lee
72c1098972
fix: cli-config for keys command (#725)
* Problem: config/client.toml keyring-backend not working correctly (fix #724)

refactoring

fix lint

refactoring

Apply suggestions from code review

add changelog

* changelog

Co-authored-by: Federico Kunze Küllmer <federico.kunze94@gmail.com>
2021-11-12 08:16:46 +00:00
Adu
a874c1e1ca
rpc: personal_initializeWallet (#740)
* Problem: need to add JSON-RPC endpoint personal_initializeWallet

Closes #738

* this is aimed at smartcard wallet which is not supported yet.

* changelog and not skip for expecting error

* fix personal_test error message assertion

* Apply suggestions from code review

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2021-11-11 15:12:14 +00:00
Adu
a3f1d8d89d
rpc: personal_unpair (#733)
* Problem: need to add rpc endpoint personal_unpair

Closes #730

* this is aimed at smartcard wallet which is not supported yet.

* will return unsupported error now.

* Update rpc/ethereum/namespaces/personal/api.go

* add changelog entry and use errors.Is

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: Tomas Tauber <2410580+tomtau@users.noreply.github.com>
2021-11-10 10:09:53 +01:00
Federico Kunze Küllmer
d647988ad5
deps: bump IBC-go to v2 (#737)
* deps: bump IBC-go to v2

* c++
2021-11-09 20:25:49 +00:00
yihuang
2a205e561a
rpc: debug_traceTransaction fails for succesful tx (#720)
* Problem: traceTransaction fails for succesful tx

Solution:
- Change the context to the begining of the block, rather than the end
  of it, while override block context to correct one

pass predecessors

pass current block information to grpc query

* changelog

* fix build

* fix lint

* refactor traceBlock

* update protobuf

* fix Predecessors

* traceBlock refactor

* refactor traceBlock response

* Update proto/ethermint/evm/v1/tx.proto

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>

* Update proto/ethermint/evm/v1/query.proto

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>

* Update proto/ethermint/evm/v1/query.proto

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>

* Update proto/ethermint/evm/v1/query.proto

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>

* Update proto/ethermint/evm/v1/query.proto

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>

* Update proto/ethermint/evm/v1/query.proto

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>

* check tx index is not out of bound

* fix build

* Update rpc/ethereum/namespaces/debug/api.go

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>

* Update rpc/ethereum/namespaces/debug/api.go

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>

* Update rpc/ethereum/namespaces/debug/api.go

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>

* Update rpc/ethereum/namespaces/debug/api.go

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>

* remove prealloc

* add traceBlock test

* Update x/evm/keeper/grpc_query.go

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>

* use bytes2Hex

* fix error message

* add comment

* Apply suggestions from code review

Co-authored-by: Freddy Caceres <freddy.caceres@crypto.com>
Co-authored-by: crypto-facs <84574577+crypto-facs@users.noreply.github.com>
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2021-11-09 18:38:22 +00:00
Adu
e04422b6ff
fix: tx fields are not authenticated by signature (#703)
Co-authored-by: Muggle-Du <adudu@CNMAC0342.local>
2021-11-08 14:00:35 +01:00
NevermoreRandom
fd36873261
rpc: decode raw transaction via RLP (#727)
* Decode raw transaction via RLP

* add changelog

* Apply suggestions from code review

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2021-11-08 08:22:31 +00: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
yihuang
d1446fc1f4
encoding: rm MsgEthereumTx custom support in TxConfig (#714)
* remove MsgEthereumTx support in TxConfig

Closes: #711

* changelog
2021-11-02 11:24:24 +01:00
yihuang
bc1d81c5e8
fix: Web3 RPC handlers panic (#702)
* Problem: Some Web3 RPC Handlers could panic

Closes: #701

Solution:
- return error rather than panic when decoding invalid tx

* add validation rules

* changelog
2021-10-26 13:13:27 +02:00
Federico Kunze Küllmer
1447bf6655
docs: update changelog (#699) 2021-10-24 12:06:59 +00:00
yihuang
1fe07edbf9
evm: refactor dup state transition code (#674)
* Problem: state transition code is duplicated

Closes: #672

Solution:
- move gas refund out from ApplyMessage
- move check into ApplyMessage
- move evm construction into ApplyMessage
- ensure context stack is clean after ApplyMessage return

fix unit tests

undo rename

add underflow check

* improve performance

- don't duplicate params loading
- passing EVMConfig around as pointer
2021-10-22 19:21:03 +02:00
Federico Kunze Küllmer
799dffef7d
deps: bump cosmos-sdk (#692)
* deps: bump cosmos-sdk

* changelog
2021-10-22 10:49:38 +00:00
yihuang
ac75a9a4a4
refactor: eth_call and eth_estimateGas don't need to pass base fee as field (#671)
Solution:
- load fee directly from state

changelog
2021-10-21 17:29:19 +02:00
JayT106
c644dd6707
fix: handle file close logic (#679)
* handle file close logic

* Update rpc/ethereum/namespaces/debug/utils.go

* update changelog

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2021-10-19 08:55:55 +00:00
JayT106
1076307e6b
tests: DynamicFeeTx (#649)
* test DynamicFeeTx against state_transition_benchmark_test

* add feemarketGenesis in the app setup param

* add dynamicTxFee flag to KeeperTestSuite

* add feemarketGenesis.BaseFee setup

* update TestAddLog

* fix gasFeeCap assignment in newMsgEthereumTx

* modify keeperTestSuite helper functions to support dynamicTxFee

* update test cases in grpc_query_test w/ dynamicTxFee

* update the evm keeper utils tests

* add dynamic tx fee in the ante tests

* remove duplicate type define

* fix error return type

* update changelog

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2021-10-19 08:49:29 +00:00
Thomas Nguy
cd3b0be5ed
rpc, feemarket: store base fee in event (#673)
* store base fee in event

* update changelog
2021-10-15 08:59:26 +00:00
Thomas Nguy
75d553674c
evm, rpc: disable BaseFee for non London block (#662)
* disable basefee if not london block

* add london block check in state transition

* fix linter

* add unit test

* clean code

* add changelog
2021-10-13 15:39:47 +02:00
Devashish Dixit
c7a2fb97c7
fix: limit total number of filters that can be created (#661)
* Problem: No way to limit total number of filters that can be created

Solution: Add a config parameter to set the total number of filters that can be created

* Add defer statement for releasing locks

* Change default value for filter cap to 200

* Changed data type of filter cap to int32

* Add changelog entry

* Update CHANGELOG.md

* Fix struct alignment

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2021-10-13 11:03:49 +00:00
Tomas Tauber
8e12d94359
rpc: fix ExpandHome restrictions bypass (#667)
`go-home` seems to be using environment variables first
2021-10-13 10:52:05 +00:00
yihuang
2e067590a2
fix: nil pointer panic in ApplyNativeMessage (#660)
* Problem: nil pointer panic in ApplyNativeMessage

Solution:
- pass NoOpTracer

* use NewTracer

* changelog
2021-10-13 10:57:12 +02:00
Federico Kunze Küllmer
89e2b29aed
deps: bump cosmos-sdk (#665)
* deps: bump cosmos-sdk

* c++
2021-10-12 15:45:24 +00:00
Federico Kunze Küllmer
bc8c87cb28
chore: merge v0.7.0 to main (#651)
* chore: merge v0.7.0 to main

* update changelog
2021-10-08 12:03:51 +00:00
Thomas Nguy
fe5fefbd8e
evm: fix panic when transaction is reverted (#650)
* fix panic when transaction is reverted

* update changelog

* Update x/evm/keeper/context_stack.go

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2021-10-08 11:29:40 +00:00
JayT106
f69c887276
rpc: test fix (#608)
* fix rpc tests with net namespace

* skip personal test

* skip rpc pending test

* fix endpoint

* fix rpc pending test

* fix missing gas param in some rpc tests

* fix eth_getproof when the block number is equal to pending or latest

* fix rpc tests filter subscribe failed

* lint

* remove unused linter

* fix PendingTransactionFilter and TestEth_GetFilterChanges_BlockFilter

* fix eth_estimateGas

* fix TestEth_EstimateGas_ContractDeployment

* skip TestEth_ExportAccount_WithStorage

* remove sleep in rpc test

* Update changelog

* add test-rpc in github action

* bump golangci-lint version to v1.42.1
2021-10-07 18:41:27 +02:00
Thomas Nguy
f9323f6473
rpc: fix range filter fromBlock logic (#643) 2021-10-07 11:04:04 +02:00
Federico Kunze Küllmer
bcdb982886
rpc: geth v1.10.9 changes (#624)
* rpc: geth v1.10.9 changes

* updates

* suggestGasTipCap

* update gRPC

* resend

* fixes

* rm unused func

* address TODO
2021-10-06 11:22:32 +00:00
yihuang
202bc5f1cd
evm: fix iterator on deeply nested cache contexts (#617)
* Problem: iterator on deeply nested cache contexts is extremely slow

Closes: #616

Solution:
- flatten cache contexts before doing `GetTxLogsTransient`

* Update x/evm/keeper/context_stack.go

* changelog

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: Federico Kunze <federico.kunze94@gmail.com>
2021-10-05 16:08:55 +00:00
Federico Kunze Küllmer
a8722655bb
all: bump go-ethereum to v1.10.9 (#231)
* all: bump go-ethereum to v1.10.4

* build

* state transition and rpc

* wip rpc changes

* fix refund

* fixes

* no base fee param

* ante handler

* undo change

* fix test

* bump deps

* calculate base fee

* gRPC base fee query

* update RPC

* fix

* update'

* go.mod

* fix build

* fix panic

* rm changes in third_party

* json rpc changes

* reserved fields

* fixes fixes fixes

* rm no stringer

* fixes 2

* tests wip

* bump geth version

* update

* grpc traceTx

* rm fee market from ante

* fix TransactionArgs

* lint

* update proto

* update tx args

* changelog
2021-10-05 15:38:20 +00:00
yihuang
cda968bddd
evm, rpc: fix tx log attribute value is not parsable by some client (#615)
* Problem: tx log attribute value not parsable by some client

Closes: #614

Solution:
- encode the value to json string rather than bytes

Apply suggestions from code review

* rm cdc and changelog

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: Federico Kunze <federico.kunze94@gmail.com>
2021-10-05 10:26:31 +00:00
Federico Kunze Küllmer
d6423f0c3f
deps: bump IBC-go (#621)
* deps: bump IBC-go

* changelog
2021-10-04 15:09:30 +00:00
Federico Kunze Küllmer
fb9adf979c
evm: geth 1.10.9 fee market changes to Keeper and AnteHandler (#620)
* evm: geth 1.10.9 fee market changes

* update

* changelog
2021-10-04 14:58:06 +00:00
Federico Kunze Küllmer
561d5db985
evm: refactor traceTx (#613)
* DNM: debug traceTx

* c++
2021-10-04 08:44:38 +00:00
Daniel Burckhardt
34c2593e43
rpc: restructure JSON-RPC directory and rename server config (#612)
* Restructure ethermint/rpc repo structure and change import statements

* Add #400 to changelog

* fix filepath in util and json_rpc

* Move #400  to unreleased section
2021-10-01 14:49:22 +00:00
Federico Kunze Küllmer
a1867a584a
rpc: fix panic (#611)
* rpc: fix panic

* fix

* c++
2021-10-01 10:58:22 +00:00
Federico Kunze Küllmer
548bf48d7a
cmd: use config on genaccounts (#483)
* cmd: use config on genaccounts

* update

* c++
2021-09-30 12:02:58 +00:00
dependabot[bot]
27d4ea393d
build(deps): bump github.com/cosmos/cosmos-sdk from 0.44.0 to 0.44.1 (#610)
* build(deps): bump github.com/cosmos/cosmos-sdk from 0.44.0 to 0.44.1

Bumps [github.com/cosmos/cosmos-sdk](https://github.com/cosmos/cosmos-sdk) from 0.44.0 to 0.44.1.
- [Release notes](https://github.com/cosmos/cosmos-sdk/releases)
- [Changelog](https://github.com/cosmos/cosmos-sdk/blob/v0.44.1/CHANGELOG.md)
- [Commits](https://github.com/cosmos/cosmos-sdk/compare/v0.44.0...v0.44.1)

---
updated-dependencies:
- dependency-name: github.com/cosmos/cosmos-sdk
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

* changelog

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Federico Kunze <federico.kunze94@gmail.com>
2021-09-30 13:04:30 +02:00
Federico Kunze Küllmer
4fe758e51b
docs: v0.6.0 changelog (#605) (#606)
* docs: v0.6.0 changelog

* update codeowners
2021-09-29 15:11:36 +00:00
Federico Kunze Küllmer
05d9b290a7
rpc, server: add TLS certificate for websocket (#600)
* rpc, server: add TLS certificate for websocket

* changelog
2021-09-28 13:33:54 +02:00
Federico Kunze Küllmer
52a3f9c66f
rpc: fix truncation (#598)
* rpc: fix truncation

* c++
2021-09-28 10:07:18 +00:00
Federico Kunze Küllmer
83627b9967
evm: check height overflow (#597)
* evm: check height overflow

* rm

* c++
2021-09-28 09:48:11 +00:00
JayT106
b42e187060
evm, rpc: apply bloom filter when querying ethlogs with a range of blocks (#587)
* apply the bloom filter when query the ethlogs with a range of blocks

* fix lint

* error handling in calcBloomIVs

* print error log in createBloomFilters

* update changelog

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2021-09-27 14:35:37 +00:00
yihuang
d6a64a275a
evm: fix import/export genesis for contract storage (#590)
* Problem: import/export roundtrip test fail contract storage

Closes: #589

- don't hash the key again in InitGenesis

* changelog

* try to fix estimate-gas undeterministics Closes #536
2021-09-27 12:26:45 +02:00
JayT106
2088297e3d
evm: benchmark evm keeper (#586)
* adds more erc20 token benchmark tests

* add more benchmark for statedb

* adds benchmark for state_transition

* fix typo

* refactor state_transition_benchmark_test

* update newSignedEthTx input argument

* revises tx template type

* modify tests for both LegacyTx and AccessListTx

* update changelog
2021-09-24 12:58:22 -03:00
Federico Kunze Küllmer
d84837a438
evm: fix Chain ID derivation (#579)
* evm: fix Chain ID derivation

* update

* changelog
2021-09-21 11:31:19 +00:00
davcrypto
742b6d1300
evm: fail early on StateDB functions (#566)
* ADD stateErr on keeper

* UPDATE init stateErr

* UPDATE test case

* Update x/evm/keeper/statedb.go

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>

* ADD comment

* UPDATE clear evm state error

* REMOVE unnecessary clear

* ADD comment

* UPDATE false value

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2021-09-17 06:22:52 +00:00
yihuang
116de54617
evm: remove tx logs and block bloom from chain state (#556)
Closes #452

fix unit tests

changelog and fix lint

fix unit test

Update ethereum/rpc/backend/backend.go

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>

Update ethereum/rpc/backend/utils.go

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>

changelog

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2021-09-15 09:45:03 +00:00
crypto-facs
3f1eeb30b6
rpc: debug_traceBlockByNumber endpoint (#555)
* Refactor traceTx

* add getTendermintBlock on backend

* keeper concurrency

* first version

* json rpc concurrency

* rever makefile change

* remove grpc traceblock

* create internal traceBlock function

* added types to evm module

* tendermintBlockByNumber rename

* added safe message check

* remove unnecesary line

* check error

* fix lint

* fix linter

* Update ethereum/rpc/namespaces/debug/api.go

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>

* Update ethereum/rpc/namespaces/debug/api.go

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>

* Update ethereum/rpc/backend/backend.go

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>

* improve traceBlock performance

* fix linter

* add extra line on function parameters

* changed index to uint 64

* fix lint

* proto gen

* update endpoints documentation

* update changelog

* Apply suggestions from code review

* Update ethereum/rpc/namespaces/eth/filters/filters.go

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2021-09-15 08:46:01 +00:00
Ramiro Carlucho
ec7d8a37fd
fix: homedir consistency (#561)
* fix export homedir

* Changelog updated

Co-authored-by: Hanchon <guillermo.paoletti@gmail.com>
2021-09-15 05:27:37 -03:00
crypto-facs
c7554e96aa
rpc, evm: debug_traceTransaction endpoint (#506)
* fix typo

* Added tracers package to debug API

* Add GetTransactionByHash function to backend package

* first version

* traceTransaction first version

* clean PR

* revert debug changes

* Update proto/ethermint/evm/v1/query.proto

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>

* remove unnecesary panic

* remove internal debug api

* trace transaction javascript tracer

* add support for custom logConfig

* added comment

* traceTransactions tests

* fix linter

* remove unused

* add comments to traceConfig

* update dependencies

* updated endpoints md

* Apply suggestions from code review

* Update x/evm/keeper/grpc_query.go

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>

* Update x/evm/keeper/grpc_query.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-09-04 20:33:06 +00:00
yihuang
089afe41a8
evm: implement ADR-002 EVM Hooks (#417)
* Allow evm to call native modules through logs

Closes #416

comment

add txHash parameter

review suggestions

add hooks test

* Update x/evm/keeper/hooks.go

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>

* Update x/evm/keeper/hooks_test.go

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>

* Update x/evm/keeper/keeper.go

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>

* Update x/evm/keeper/keeper.go

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>

* Update x/evm/keeper/keeper.go

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>

* use table tests

* update adr comment

* update adr

* changelog

* Update CHANGELOG.md

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2021-09-02 12:36:33 +00:00
JayT106
9a8827e790
evm: increase performance of tx Log storage (#461)
* revise the way of the logs store into the stateDB

* wording

* refine GetTxLogs/SetLogs

* nit

* add bytes_uint16 convert helper

* using helper to instead of big.Int

* nit

* helper tests and fixes

* handle the logs length in SetLogs

* revise Get/Set logs with store.iterator

* remove Bytes<->Uint16 functions

* remove unused const

* simplify SetLog(s)

* make logs return determinism

* Add comments

* update changelog

* Update CHANGELOG.md

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2021-08-31 08:32:11 +00:00
Federico Kunze Küllmer
1ad9b4c1a5
evm: EIP1559 & go-ethereum related updates (#469)
* updates

* more changes

* proto updates

* tidy

* v1beta1

* update buf

* lint

* comments

* typo
2021-08-25 14:45:51 +00:00
Thomas Nguy
4ea3cc190e
rpc: add EIP1898 support (#462)
* support for eip1898

* update changelog

* fix linter

* fix linter

* refactor code

* add test

* support for eip1898

* update changelog

* fix linter

* fix linter

* refactor code

* add test

* cleanup code

* add comment

* create const for block param

* change default to be earliest to be consistant with geth

* correct comment

* update doc

* update doc

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2021-08-25 01:21:57 +00:00
Guillermo Paoletti
204c361043
docs: miner namespace (#481)
* miner_namespace docs

* use GetConfig to maintain user configuration instead of the default

* Minimal changes to the docs

* Changelog updated

Co-authored-by: ramacarlucho <ramirocarlucho@gmail.com>
2021-08-23 13:47:09 -04:00
Federico Kunze Küllmer
486e0130fd
codec: register Evidence (#478)
* app, docs: update Bech32 HRP

* codec: register Evidence

* cleanup

* c++
2021-08-23 08:51:24 -04:00
Federico Kunze Küllmer
9dcbebafb8
app, docs: update Bech32 HRP to ethm (#476)
* changelog

* app, docs: update Bech32 HRP

* changelog
2021-08-23 07:21:27 +00:00
Federico Kunze Küllmer
6f145da328
client: add EIP55 address to debug command (#464)
* cmd: debug command

* c++

* docs
2021-08-20 09:01:57 +00:00
Federico Kunze Küllmer
d068f5b331
server: logger handler (#343)
* Problem: verbose logs display with FATAL option (fix #320)
add my script

increase amount for metamask

add run

amount ok

hide log

show info

my logger

hook log

revive eth log

tidy up

use suplog

log replace ok

removed suplog

tidy up

tidy up

fix compile

remove sh

tidy up

tidy up

* logger handler

* fix

* fix eth log override (#371)

remove redundant log

tidy up

* log test

* c++

Co-authored-by: jongwhan lee <jonghwan@crypto.com>
Co-authored-by: Jongwhan Lee <51560997+leejw51crypto@users.noreply.github.com>
2021-08-19 16:55:13 +00:00
Federico Kunze Küllmer
83c838330f
rpc: configure gas cap (#457)
* rpc: configure gas cap

* c++

* rm old const

* docs
2021-08-18 14:11:51 +00:00
Federico Kunze Küllmer
6f5f15fc6d
proto: v1alpha to v1 (#448)
* proto: v1alpha to v1

* c++

* go mod
2021-08-17 15:30:35 +00:00
Federico Kunze Küllmer
aa1b728d34
feat: update chain-id format (#447)
* feat: update chain-id format

* c++

* docs

* additional context'
2021-08-17 14:11:26 +00:00
Federico Kunze Küllmer
cc3b2ff8e9
evm, server: configurable tracer (#434)
* server: update server and enable configurable tracer

* config validation

* fix import cycle

* fix start

* update fields

* c++

* c++
2021-08-16 09:45:10 +00:00
Federico Kunze Küllmer
bc790066c4
deps: bump ibc-go to v1 (#427)
* deps: bump ibc-go to v1

* c++
2021-08-10 16:45:48 +00:00
dependabot[bot]
417640e814
build(deps): bump github.com/cosmos/cosmos-sdk from 0.43.0-rc3 to 0.43.0 (#423)
* build(deps): bump github.com/cosmos/cosmos-sdk from 0.43.0-rc3 to 0.43.0

Bumps [github.com/cosmos/cosmos-sdk](https://github.com/cosmos/cosmos-sdk) from 0.43.0-rc3 to 0.43.0.
- [Release notes](https://github.com/cosmos/cosmos-sdk/releases)
- [Changelog](https://github.com/cosmos/cosmos-sdk/blob/master/CHANGELOG.md)
- [Commits](https://github.com/cosmos/cosmos-sdk/compare/v0.43.0-rc3...v0.43.0)

---
updated-dependencies:
- dependency-name: github.com/cosmos/cosmos-sdk
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

* c++

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Federico Kunze <federico.kunze94@gmail.com>
2021-08-10 11:11:31 +00:00
yihuang
9227e78c79
evm: use stack of contexts to implement snapshot revert (#399)
* use stack of contexts to implement snapshot revert

Closes #338

add exception revert test case

verify partial revert

mutate state after the reverted subcall

polish

update comments

name the module after the type name

remove the unnecessary Snapshot in outer layer

and add snapshot unit test

assert context stack is clean after tx processing

cleanups

fix context revert

fix comments

update comments

it's ok to commit in failed case too

Update x/evm/keeper/context_stack.go

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>

Update x/evm/keeper/context_stack.go

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>

Update x/evm/keeper/context_stack.go

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>

update comment and error message

add comment to cacheContext

k -> cs

Update x/evm/keeper/context_stack.go

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>

evm can handle state revert

renames and unit tests

* use table driven tests

* keep all the cosmos events

* changelog

* check for if commit function is nil

* fix changelog

* Update x/evm/keeper/context_stack.go

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2021-08-10 07:22:46 +00:00
dependabot[bot]
75b7f56b00
build(deps): bump github.com/cosmos/cosmos-sdk from 0.43.0-rc2 to 0.43.0-rc3 (#403)
* build(deps): bump github.com/cosmos/cosmos-sdk

Bumps [github.com/cosmos/cosmos-sdk](https://github.com/cosmos/cosmos-sdk) from 0.43.0-rc2 to 0.43.0-rc3.
- [Release notes](https://github.com/cosmos/cosmos-sdk/releases)
- [Changelog](https://github.com/cosmos/cosmos-sdk/blob/v0.43.0-rc3/CHANGELOG.md)
- [Commits](https://github.com/cosmos/cosmos-sdk/compare/v0.43.0-rc2...v0.43.0-rc3)

---
updated-dependencies:
- dependency-name: github.com/cosmos/cosmos-sdk
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

* updates

* changelog

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Federico Kunze <federico.kunze94@gmail.com>
2021-08-06 12:47:49 +00:00
Guillermo Paoletti
396db9f20a
rpc: miner_ namespace (#377)
* miner namespace

* SetGasPrice call

* Added note plus fixed error logging

* Refactor to use the keyring in the miner namespace

* Changed keyring function return

* Added more detailed logs to unsupported functions

* Reverted changes on ethapi and just using a refrence to it on miner

* Creating a transaction

* fix condition

* Error string not capitalized

* suggested changes to setEtherbase

* change log level

* minor changes

* minor changes

* Sending tx to test the endpoint

* get tx nonce

* Using aphoton const and changing the logger to debug

* Using default RPC gas limit constant

* Apply suggestions from code review

Renames and log changes

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>

* pair programming session

* get gas

* Set gas prices note added

* Setting fess and max gas

* delete unnecessary log

* Apply suggestions from code review

return false in case of error

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>

* Suggested changes applied

* Updated changelog and json_rpc docs

* Update CHANGELOG.md

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>

* Update ethereum/rpc/namespaces/miner/api.go

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>

* Update ethereum/rpc/namespaces/miner/api.go

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>

* Update ethereum/rpc/namespaces/miner/api.go

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>

* Update ethereum/rpc/namespaces/miner/api.go

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>

* Using the same coin denom as the gas price for the fee

Co-authored-by: ramacarlucho <ramirocarlucho@gmail.com>
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: Federico Kunze <federico.kunze94@gmail.com>
2021-08-04 09:18:22 +00:00
dependabot[bot]
8491ae3c64
build(deps): bump github.com/cosmos/ibc-go from 1.0.0-rc2 to 1.0.0-rc3 (#374)
* build(deps): bump github.com/cosmos/ibc-go from 1.0.0-rc2 to 1.0.0-rc3

Bumps [github.com/cosmos/ibc-go](https://github.com/cosmos/ibc-go) from 1.0.0-rc2 to 1.0.0-rc3.
- [Release notes](https://github.com/cosmos/ibc-go/releases)
- [Changelog](https://github.com/cosmos/ibc-go/blob/main/CHANGELOG.md)
- [Commits](https://github.com/cosmos/ibc-go/compare/v1.0.0-rc2...v1.0.0-rc3)

---
updated-dependencies:
- dependency-name: github.com/cosmos/ibc-go
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

* changelog

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Federico Kunze <federico.kunze94@gmail.com>
2021-07-27 11:08:03 +00:00
Federico Kunze Küllmer
d40c49834c
deps: bump ibc-go (#360)
* deps: bump ibc-go

* ibc ante decorator

* c++
2021-07-26 19:26:53 +00:00
crypto-facs
d1212725f8
feat: configurable JSON-RPC APIs (#349)
* fix confusing name

* feat: Enable configurable grpc apis

* docs: Update docs and changelog

* Organized flags order

* fix linter

* fix linter

* fix maligned struct

* fix typo in docs

* fix unnecesary duplicate

* Update cmd/ethermintd/config/config.go

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>

* Update cmd/ethermintd/config/config.go

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>

* Update cmd/ethermintd/config/config.go

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>

* Update docs/basics/json_rpc.md

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>

* fix eth to be manage as default

* Update init.sh

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>

* Update tests/solidity/init-test-node.sh

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>

* add default case

* add default enable api namespaces

* update changelog

* fix namespaces array  handler

* remove duplicated changelog

* fix typo

* remove duplicates namespaces and fix eth namespace issue

* fix variable name

* break line in docs

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2021-07-26 11:15:55 +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
Federico Kunze Küllmer
fad5424ed1
keys: fix secp256k1 key creation (#346)
* keys: fix secp256k1 key creation

* c++
2021-07-24 08:46:13 +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
Guillermo Paoletti
282eb13a6f
rpc: implement internal debug_ API namespace functions (#313)
* API Hello World

* Added all the debug functions + more data to try implementing the GC functions

* Getting transactions information

* Added cpu profile first approach functions

* new struct for cpuprofile and read filename from params

* cpuprofile, gcstats and memstats

* added comment

* All endpoints returns error instead of string

* Code cleanup

* Changed errors messages to match go-eth returns

* Removed activated flag and just using the file to check if it's running

* Added new endpoints to the json_rpc.md file

* GoTrace debug endpoints added

* Block profile endpoint added

* missing goeth calls

* added debug logs

* divide debug and internal api

* Using ExpandHome on server configuration

* Added rpc changes to changelog

* Logging go trace status

* Removed logger functions and moved logger errors to debug

* Added more logs to go trace

* Added more datailed changelog

* Removed trace debug api interface

* added comments

* cleanup

* Updated changelog

* disable lint on cpuprofile rename

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>

* return error in StopCpuProfile

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>

* return error in StopGoTrace

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>

* implement suggested changes

Co-authored-by: ramacarlucho <ramirocarlucho@gmail.com>
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2021-07-20 12:50:17 +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
Federico Kunze Küllmer
c986ef59a3
deps: bump SDK to v0.43.0-rc1 (#298)
* deps: bump SDK to v0.43.0-rc1

* c++
2021-07-15 05:43:35 -04:00
yihuang
297a35dbdd
evm: treat all vm errors the same as reverted (#276)
Closes: #274

evm: fix `ExtraEIP` activation (#288)

Closes: #287

Update x/evm/types/utils.go

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>

Add `Failed` utility function and changelog
2021-07-15 02:01:05 -04:00
Federico Kunze Küllmer
9d1ce30ecd
evm: use block proposer address for COINBASE opcode (#291)
* evm: use block proposer address for COINBASE opcode

* test

* c++
2021-07-14 20:44:51 +00:00
Thomas Nguy
aab793e7f4
rpc: fix BlockBloom not found in header (#258)
* fix context index

* return default bloom if cannot be found

* fix blockbloom error

* fix setting blockbloom transient in ctx

* clean comments

* remove unused method

* update changelog

* Update CHANGELOG.md

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2021-07-14 09:40:58 +00:00
Federico Kunze Küllmer
623863231b
evm, rpc: query ChainConfig via gRPC (#239)
* evm, rpc: query ChainConfig via gRPC

* c++
2021-07-08 14:46:42 +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
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
3b3daa4b48
rpc: support fetching pending nonce (#191)
* consider mempool tx when computing account nonce

* fix lint

* add condition on blocknbr

* add log

* update changelog
:

* cleanup
2021-06-30 03:30:01 -04:00
Federico Kunze
0f3a346cdc
rpc: use evm denom for tx fee (#181)
* rpc: use evm denom for tx fee

* changelog
2021-06-24 04:22:36 -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
crypto-facs
b4d3659547
feat: add txpool namespace RPC methods (#146)
* rpc: add txpool namespace and txpool_content endpoint

* fix PublicTxPoolAPI naming typo

* Update ethereum/rpc/txpool_api.go

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>

* Update ethereum/rpc/txpool_api.go

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>

* rpc: add txpool_inspect method

* rpc: add txpool_status method

* docs: Update Changelog with TxPool methods

* docs: Add txpool namespace methods documentation

* fix: removed txpool functions from backend.go

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
2021-06-21 10:06:30 -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
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
956b18f45e
rpc: fix empty root and uncle hash (#45)
* rpc: fix empty root and uncle hash

* changelog
2021-05-26 06:33:24 -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
5a3d514ba0
conflicts 2021-04-17 12:00:07 +02:00
Daniel Choi
20f9a72908
Upgrade SDK v0.39.3 (#856)
* upgrade sdk v0.39.3

* update changelog sdk

* update packages
2021-04-08 18:16:23 -04: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
Daniel Choi
2df3abd6a2
Rpcapi fix - requires Eth namespace (#845)
* update join_network docs

* add eth as default in apis

* update changelog
2021-03-16 13:37:32 -07:00
KamiD
2294a19e23
fix gas fee calcuation error (#798)
Co-authored-by: Daniel Choi <13338103+araskachoi@users.noreply.github.com>
2021-03-15 10:17:52 -07:00
Daniel Choi
11fbf1fd44
update changelog for rpc api changes (#824)
* add cmd flag for rpc api modules

* add rpc-api flags

* improve test by fixing race condition by sleeping

* edit changelog
2021-03-01 12:12:19 -08:00
KamiD
fae8147352
Fix failed to call EstimateGas (#761)
* fix failed to call function EstimateGas

* add ut to test estimateGas after contract deployed
2021-02-16 13:04:29 -08:00
KamiD
177574aafa
fix error of timeout when using Truffle to deploy contract (#768)
* fix error of timeout when using Truffle to deploy contract

* fix CHANGELOG.MD

Co-authored-by: Daniel Choi <13338103+araskachoi@users.noreply.github.com>
2021-02-08 15:54:18 -08: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
KamiD
16f1dabdbc
ante: fix panic in when gas price larger than 100000 (#750) 2021-01-27 17:34:59 -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
Daniel Choi
d7bdbd7488
Fix nonce issue for replay attack (#692)
* fix nonce issue for replay attack

* fix lint

* add to changelog
2021-01-08 22:44:50 -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
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
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
Daniel Choi
cb96bc4ea3
Pending (#571)
* add PendingBlockNumber -1

* increase block times

* update bn

* get pending balance

* additional logic to check for pending state

* add multiple balance query

* pending state for getTransactionCount

* fix lint

* add getBlockTransactionCountByNumber code - commented

* cleanup test

* GetBlockTransactionCountByNumber

* cleanup

* getBlockByNumber

* GetTransactionByBlockNumberAndIndex

* conform to namespace changes

* exportable FormatBlock method

* eth_getTransactionByHash

* eth_getTransactionByBlockNumberAndIndex

* pending nonce

* set nonce for pending and check for invalid

* WIP: doCall

* add pending tx test

* cleanup + refactor

* push first tests and init pending

* pending changes (#600)

* cleanup

* updates

* more fixes

* lint

* update call and send

* comments and minor changes

* add pending tests into sep package

* fix latest case for eth_GetBlockTransactionCountByNumber

* fix repeating null transactions in queue

* remove repeated structs

* latestblock case

* revert init script back

* fix to exportable method

* automate pending tests; add make cmd

* move and comment out pending call test

* fix some golint

* fix unlock issue

* wip: linter stringer fix?

* stringer lint

* set arr instead of append

* instantiate with length

* sep if statement

* edit pendingblocknumber note

* switch statement

* fix and update tests

* move tests-pending into tests dir

* remove commented test

* revert to appending pendingtx

* Update tests/utils.go

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>

* Update tests/utils.go

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>

* Update tests/utils.go

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>

* require no err

* rename var

* check result for eth_sendTransaction

* update changelog

* update

* Update tests/utils.go

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>

* Update tests/tests-pending/rpc_pending_test.go

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>

* changelog

* remove redundant check

Co-authored-by: noot <elizabethjbinks@gmail.com>
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: Federico Kunze <federico.kunze94@gmail.com>
2020-12-15 19:52:09 +00:00
Federico Kunze
602e61adea
rpc: fix cumulative gas (#662)
* rpc: fix cumulative gas

* changelog
2020-12-15 20:42:58 +01: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
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
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
3072376371
rpc: fix deadlock (#614) 2020-11-24 16:15:42 +01:00
Federico Kunze
ef4193b4d4
deps: bump cosmos-sdk version to v0.39.2 (#615)
* deps: bump cosmos-sdk version to v0.39.2

* changelog
2020-11-24 16:05:15 +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
Federico Kunze
d6b944787a
changelog (#609) 2020-11-20 19:22:48 +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
73e5eb5e98
ante: fix fee check (#597)
* ante: fix fee check

* changelog

* comment
2020-11-16 14:09:40 +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
Daniel Choi
0870a27018
crypto: fix Bip44 derivation path (#577)
* change derivationpath to geth's const

* fix lint

* change to var

* add hd path and derivation tests

* replace method

* add to tests

* fix test; pr to sdk

* Update types/config.go

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>

* Update types/config.go

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>

* add wrong path/acct test

* use BytesToAddress

* add to changelog

* update tests

* update changelog

* minor comment change

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: Federico Kunze <federico.kunze94@gmail.com>
2020-10-16 10:51:00 -03:00
Federico Kunze
d0456e546e
ChainSafe/ethermint -> cosmos/ethermint renaming (#569)
* ChainSafe/ethermint -> cosmos/ethermint renaming

* more renaming

* chainsafe
2020-10-09 17:52:32 +02: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
811ca7f045
rpc: implement personal_importRawKey (#552) 2020-09-29 20:34:01 -04:00
Federico Kunze
592eca96bc
keys: fix privkey derivation (#554)
* keys: fix privkey derivation

* changelog

* add DeriveSecp256k1 test

Co-authored-by: araskachoi <choidanielw@gmail.com>
2020-09-29 17:10:56 -03:00
noot
7f648d2c55
ante: update nonce check (#550) 2020-09-29 10:39:15 -04:00
Federico Kunze
712a5bad61
release changelog (#543)
* Merge PR #513: Add chainsafe to readme

* changelog

Co-authored-by: Marko <marbar3778@yahoo.com>
2020-09-25 14:12:50 -03: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
Federico Kunze
1f4f7fb017
ante: add message validation decorator (#525)
* ante: add message validation decorator

* changelog

* fix lint

* fix lint

* rename
2020-09-23 11:49:20 -03: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
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
d6783707dc
types: unmarshal account from hex address (#504)
* types: unmarshal account from hex address:

* changelog
2020-09-08 12:58:19 -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
b485542b0b
types: support eth hex address on accounts (#502)
* types: support eth hex address on accounts

* changelog

* doc update

* add note for keyring output
2020-09-08 10:57:49 -03:00
Federico Kunze
d3529dd959
types: update account pubkey JSON to string (#494)
* types: update account pubkey JSON to string

* changelog

* Update app/ethermint.go

* tests

* update

* fix secp256k1 public key formatting (#501)

* use Compress and Decompress pubkey for secp256k1 keys

* cleanup

* update estimate gas test

* comments

Co-authored-by: noot <36753753+noot@users.noreply.github.com>
2020-09-07 10:04:50 -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
Federico Kunze
8a3692e174
Fix BIP44 coin type (#480)
* fix docsearch

* update BIP44 coin type

* changelog

* set HD path
2020-08-28 11:35:10 -04:00
Federico Kunze
33de0ca1f4
upgrade module support (#471)
* upgrade module

* changelog
2020-08-25 15:17:15 -04:00
Federico Kunze
28fd339265
docs: fix npm dependency (#468)
* changelog

* docs: fix dependency
2020-08-24 16:21:45 -04:00
Federico Kunze
43788ad9f7
Changelog changes (#464)
* changelog

* changelog updates from v0.1.0
2020-08-24 16:16:12 -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
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
20e9b2ede3
rpc: event websocket subscription (#308)
* rpc: event websocket subscription

* rpc: use tendermint event subscriptions

* new log events

* filter evm transactions

* filter logs

* wip: refactor filters

* remove custom BlockNumber

* wip: refactor rpc

* HeaderByNumber and HeaderByHash

* update Tendermint event system

* update Filter

* update EventSystem

* fix lint issues

* update rpc filters

* upgrade to tendermint v0.33.4

* update filters

* fix unsubscription

* updates wip

* initialize channels

* cleanup go routines

* pass ResultEvent channel on subscription

* error channel

* add block filter changes test

* add eventCh loop

* pass funcs in select go func, block filter working

* cleanup

* lint

* NewFilter and GetFilterChanges working

* eth_getLogs working

* lint

* lint

* cleanup

* remove logs and minor fixes

* changelog

* address @noot comments

* revert BlockNumber removal

Co-authored-by: noot <elizabethjbinks@gmail.com>
2020-07-03 11:40:00 -04:00
noot
e9c494cf71
rpc: return 0 nonce if account doesn't exist (#345)
* add EnsureExists check to GetTransactionCount

* cleanup, return 0 as nonce if account doesn't exist

* update changelog

* update changelog
2020-06-26 14:15:54 -04:00
Federico Kunze
988ee53a59
rpc: implement eth_coinbase (#325)
* rpc: implement eth_coinbase

* changelog

* address comments from review

* changelog
2020-06-08 12:43:37 -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
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
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
Federico Kunze
7c5e0afb09
SDK modules simulations (#269)
* SDK modules simulations

* changelog

* changelog
2020-04-29 11:48:44 -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
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
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
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
Federico Kunze
b6af79638c
add CHANGELOG.md (#184)
* add CHANGELOG.md

* update PR template
2020-03-06 20:00:03 -03:00