Commit Graph

108 Commits

Author SHA1 Message Date
Austin Chandra
cb632c6bef
Refactor EIP-712 signature verification (#1397)
* [WIP] EIP-712 Signature Refactor

* Debug and add ante tests

* Add tests for failure cases

* Add changelog entry

* Code cleanup

* Add tests for MsgDelegate and MsgWithdrawDelegationReward

* Update ethereum/eip712/encoding.go

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

* Update ethereum/eip712/encoding.go

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

* Update ethereum/eip712/encoding.go

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

* Update ethereum/eip712/encoding.go

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

* Update ethereum/eip712/encoding.go

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

* Update ethereum/eip712/encoding.go

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

* Code cleanup

* Update ethereum/eip712/encoding.go

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

* Minor codefix

* Update ethereum/eip712/encoding.go

* Minor code revision updates

* Refactor EIP712 unit tests to use test suite

* Address import cycle and implement minor refactors

* Fix lint issues

* Add EIP712 unit suite test function

* Update ethereum/eip712/encoding.go

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

* Update ethereum/eip712/encoding.go

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

* Update ethereum/eip712/encoding.go

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

* Add minor refactors; increase test coverage

* Correct ante_test for change in payload

* Add single-signer util and tests

* Update ethereum/eip712/encoding.go

* Update ethereum/eip712/encoding.go

* fix build

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: Freddy Caceres <facs95@gmail.com>
2022-11-07 16:50:25 +00:00
Vladislav Varadinov
83e509bc57
refactor: optimize AnteHandler gas consumption (#1388)
* refactor: antehandler order and params optimization

* removed additional individual params for the feemarket module

* typo fix

* Apply suggestions from code review - Fede

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

* typo fix

* formatted using gofumpt

* typo fix - missed negate operator

* missed to negate conditions

* added unit tests for the new param getter methods

* updated changelog

* Apply suggestions from code review

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

* moved to improvements

* Converted unit tests into table-driven tests

* added Require().Equal() to test case

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2022-10-19 18:21:59 +02:00
Ramiro Carlucho
cae7c4d270
!fix(erc712): support MsgCreateValidator (#1346)
* fix for create validator msg and tests

* changelog

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2022-09-17 13:37:47 +00:00
Austin Chandra
723443abc7
feat(eip712): Create LedgerPreprocessHook to reformat EIP-712 payloads (#1277)
* Create ReformatLedgerTx to reformat EIP-712 payloads

* Fix issue with public key; minor refactors

* Refactor naming; add test case

* Update preprocess_test

* Add tests and fix lint

* Refactor preprocess test

* Implement minor fix and add changelog entry

Co-authored-by: Freddy Caceres <facs95@gmail.com>
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2022-09-13 16:56:35 +02:00
Ramiro Carlucho
c9fe1d1913
fixes for 19.0.1 (#1305)
* fixes for 19.0.1

* changelog

* changelog

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2022-08-26 20:25:12 +02:00
Jacob Gadikian
524e25c038
chore: Gofumpt (#1298)
* fumpt

* golangci

* Update keeper_test.go

* Update keeper_test.go

* Update handler_test.go

* Update rpc_pending_test.go

* lll

* line length limits

* Update CHANGELOG.md
2022-08-26 10:30:55 +00:00
yihuang
29d3abcf09
!feat(deps): Upgrade cosmos-sdk to v0.46.0 (#1168)
* Reuse cosmos-sdk client library to create keyring

Extracted from https://github.com/evmos/ethermint/pull/1168
Cleanup cmd code for easier to migration to cosmos-sdk 0.46

* Update cosmos-sdk v0.46

prepare for implementing cosmos-sdk feemarket and tx prioritization

changelog

refactor cmd

use sdkmath

fix lint

fix unit tests

fix unit test genesis

fix unit tests

fix unit test env setup

fix unit tests

fix unit tests

register PrivKey impl

fix extension options

fix lint

fix unit tests

make HandlerOption.Validate private

gofumpt

fix msg response decoding

fix sim test

bump cosmos-sdk version

fix sim test

sdk 46

fix unit test

fix unit tests

update ibc-go
2022-07-28 15:43:49 +02:00
Federico Kunze Küllmer
3ac8b93a1c
evm: cleanup, remove atlas/ (#1152)
* evm: cleanup, remove atlas/

* rm tparse action

* fix lint issue

* use cases.NoLower

* tidy
2022-06-27 11:58:44 +02:00
Guillermo Paoletti
3bea3fa1ef
ante: EIP712 support (#950)
* code migrated

* signed_data ported to avoid conficting dependency

* correct payload

* eip712 working with evmos.me

* use geth TypedData types

* fix linter

* minor refactor

* test first try

* fix test

* fix tests

* enforce fee delegated eip712

* verify signature refactor

* SignedTypedData api refactor

* add AnteHandler test for EIP712

* remove comment

* code clean up

* return more detailed error messages

* fix linter

* remove unnecesary global vars

* Update app/ante/eip712.go

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

* fix pr comments

* remove hardcoded value

* add more tests

* add changelog

* use sdk errors

* add MsgDelegate test

Co-authored-by: Freddy Caceres <freddy.caceres@crypto.com>
Co-authored-by: Federico Kunze Küllmer <federico.kunze94@gmail.com>
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>
2022-02-26 16:34:43 +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
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
bc82f3f8eb
rpc: fix gas price (#596) 2021-09-28 08:42:18 +00:00
Adu
fdb92ee788
fix: use global []byte slice to avoid conversions in loop (#595)
Co-authored-by: Muggle-Du <adudu@CNMAC0342.local>
2021-09-28 08:03:08 +02:00
Federico Kunze Küllmer
bbb54a6d17
rpc: geth v1.10.8 changes (#585) 2021-09-27 22:06:27 +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
01b789c3e9
rpc: tx receipt don't contain events (#580)
* tx receipt don't contains events

- Should convert tx hash when query transaction logs

* tx index should start from 0
2021-09-22 06:01:35 -03:00
Thomas Nguy
b8ae5984c5
rpc: fix gas price (#568)
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2021-09-17 23:47:13 +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
davcrypto
644ae50410
rpc: fix JSON-RPC gas used (#558)
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2021-09-14 10:27:20 +00:00
Federico Kunze Küllmer
26c5eabb18
all: linter (#532)
* add additional linters

* fixes

* rm action
2021-09-05 11:03:06 +00: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
Federico Kunze Küllmer
6794daf014
rpc, docs: private APIs (#525) 2021-09-04 10:18:32 +00:00
Federico Kunze Küllmer
7389770b10
ci: lint (#500) 2021-08-26 15:45:45 +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
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
Thomas Nguy
52f42b5ff4
rpc: fix get transaction by hash (#428)
* fix get transaction by hash

* add test case
2021-08-11 07:15:11 -04:00
crypto-facs
640684c648
rpc: refactor backend package (#418)
* backend refractor

* Revert init file changes

* fix linter issues

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

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2021-08-10 10:04:16 +00:00
Ramiro Carlucho
bfb9943af3
fix fee value (#396) 2021-08-04 16:10:08 +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
crypto-facs
c4aa8fafab
fix: Extra data empty response (#381) 2021-07-29 13:40:59 -04:00
Thomas Nguy
63aa0de1e8
evm: update error format (#350)
* return geth error format

* fix format in gasestimate

* deal with other evm errors

* fix import

* fix lint

* add test

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2021-07-28 15:50:05 +00:00
Federico Kunze Küllmer
09746c6a51
feat: import ethermint without forking (#378)
* cmd: cleanup

* update gh action

* lint

* more cleanup

* update config

* register denom
2021-07-28 05:47:29 -04: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
3f136bf5d6
rpc: return ABCI state's latest block number (#331)
* return abci state's latest block number in rpc

Closes #318

* Update ethereum/rpc/backend/backend.go

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

* add comments

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2021-07-22 11:06:44 -04: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
Thomas Nguy
c8b88a3a8b
evm, rpc: fix parameters and block gas limit in getBlockByHeight and getBlockByHash (#312)
* fix evm set parameters

* recompute header hash only if its not set

* Update x/evm/keeper/state_transition.go

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2021-07-19 01:52:44 +00:00
Calvin Lau
071ae3f618
rpc: fix eth_getBlockTransactionCountByNumber crash on block not found (#254)
* Fix GetBlockTransactionCountByNumber crashed on block not found

* Fix getTransactionByBlock*

* Update log based on review

* Apply suggestions from code review

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

* Apply suggestions from code review

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2021-07-16 10:13:15 +00:00
Thomas Nguy
6aa43305ee
rpc: fix EthLatestBlockNumber value (#300)
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2021-07-15 11:07:23 +00:00
yihuang
297a35dbdd
evm: treat all vm errors the same as reverted (#276)
Closes: #274

evm: fix `ExtraEIP` activation (#288)

Closes: #287

Update x/evm/types/utils.go

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

Add `Failed` utility function and changelog
2021-07-15 02:01:05 -04:00
Federico Kunze Küllmer
5e87661e4c
rpc: display block proposer address as the miner address (#290)
* rpc: display proser address as the miner address

* use validator operator address
2021-07-14 14:40:32 +00:00
Thomas Nguy
aab793e7f4
rpc: fix BlockBloom not found in header (#258)
* fix context index

* return default bloom if cannot be found

* fix blockbloom error

* fix setting blockbloom transient in ctx

* clean comments

* remove unused method

* update changelog

* Update CHANGELOG.md

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2021-07-14 09:40:58 +00:00
Federico Kunze Küllmer
e09bf23bd0
evm: move ChainConfig to Params (#266)
* evm: move ChainConfig to Params

* fixes

* fix test
2021-07-14 05:13:55 -04:00
Federico Kunze Küllmer
74b7eaf431
rpc: fix inconsistent logging levels (#265)
* rpc: fix incosistent logging levels

* minor changes
2021-07-12 18:39:35 +00:00