77ed4aa754
* Store eth tx index separately Closes: #1075 Solution: - run a optional indexer service - adapt the json-rpc to the more efficient query changelog changelog fix lint fix backward compatibility fix lint timeout better strconv fix linter fix package name add cli command to index old tx fix for loop indexer cmd don't have access to local rpc workaround exceed block gas limit situation add unit tests for indexer refactor polish the indexer module Update server/config/toml.go Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com> improve comments share code between GetTxByEthHash and GetTxByIndex fix unit test Update server/indexer.go Co-authored-by: Freddy Caceres <facs95@gmail.com> * Apply suggestions from code review * test enable-indexer in integration test * fix go lint * address review suggestions * fix linter * address review suggestions - test indexer in backend unit test - add comments * fix build * fix test * service name Co-authored-by: Freddy Caceres <facs95@gmail.com> Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
47 KiB
47 KiB
Changelog
Unreleased
Improvements
- (rpc) #1229 Add support for configuring RPC
MaxOpenConnections
State Machine Breaking
- (deps) #1159 Bump Geth version to
v1.10.19
. - (deps) #1167 Bump ibc-go to
v4.0.0-rc2
- (evm) #1174 Don't allow eth txs with 0 in mempool.
- (ante) #1176 Fix invalid tx hashes; Remove
Size_
field and validateHash
/From
fields in ante handler, recompute eth tx hashes in JSON-RPC APIs to fix old blocks. - (deps) #1168 Upgrade cosmos-sdk to v0.46.
- (feemarket) #1194 Apply feemarket to native cosmos tx.
API Breaking
- (ante) #1214 Set mempool priority to evm transactions.
Improvements
- (feemarket) #1165 Add hint in specs about different gas terminology for gas in Cosmos and Ethereum.
- (cli) #1226 Add custom app db backend flag.
- (cli) #1230 Remove redundant positional height parameter from feemarket's query cli.
Bug Fixes
- (rpc) #1179 Fix gas used in traceTransaction response.
[v0.17.2] - 2022-07-26
Bug Fixes
- (rpc) #1190 Fix
UnmarshalJSON
panic of breaking EVM and fee marketParams
. - (evm) #1187 Fix
TxIndex
value (expected 0, actual 1) when trace the first tx of a block viadebug_traceTransaction
API.
[v0.17.1] - 2022-07-13
Improvements
- (rpc) #1169 Remove unnecessary queries from
getBlockNumber
function
[v0.17.0] - 2022-06-27
State Machine Breaking
- (evm) #1128 Clear tx logs if tx failed in post processing hooks
- (evm) #1124 Reject non-replay-protected tx in
AnteHandler
to prevent replay attack
API Breaking
- (rpc) #1126 Make some JSON-RPC APIS work for pruned nodes.
- (rpc) #1143 Restrict unprotected txs on the node JSON-RPC configuration.
- (all) #1137 Rename go module to
evmos/ethermint
API Breaking
- (json-rpc) tharsis#1121 Store eth tx index separately
Improvements
- (deps) #1147 Bump Go version to
1.18
. - (feemarket) #1135 Set lower bound of base fee to min gas price param
- (evm) #1142 Rename
RejectUnprotectedTx
toAllowUnprotectedTxs
for consistency with go-ethereum.
Bug Fixes
- (rpc) #1138 Fix GasPrice calculation with relation to
MinGasPrice
[v0.16.1] - 2022-06-09
Improvements
- (feemarket) #1120 Make
min-gas-multiplier
parameter accept zero value
Bug Fixes
- (evm) #1118 Fix
Type()
Account
methodEmptyCodeHash
comparison
[v0.16.0] - 2022-06-06
State Machine Breaking
- (feemarket) tharsis#1105 Update
BaseFee
calculation based onGasWanted
instead ofGasUsed
.
API Breaking
- (feemarket) tharsis#1104 Enforce a minimum gas price for Cosmos and EVM transactions through the
MinGasPrice
parameter. - (rpc) tharsis#1081 Deduplicate some json-rpc logic codes, cleanup several dead functions.
- (ante) tharsis#1062 Emit event of eth tx hash in ante handler to support query failed transactions.
- (analytics) tharsis#1106 Update telemetry to Ethermint modules.
- (rpc) tharsis#1108 Update GetGasPrice RPC endpoint with global
MinGasPrice
Improvements
- (cli) tharsis#1086 Add rollback command.
- (specs) tharsis#1095 Add more evm specs concepts.
- (evm) tharsis#1101 Add tx_type, gas and counter telemetry for ethereum txs.
Bug Fixes
- (rpc) tharsis#1082 fix gas price returned in getTransaction api.
- (evm) tharsis#1088 Fix ability to append log in tx post processing.
- (rpc) tharsis#1081 fix
debug_getBlockRlp
/debug_printBlock
don't filter failed transactions. - (ante) tharsis#1111 Move CanTransfer decorator before GasConsume decorator
- (types) tharsis#1112 Add
GetBaseAccount
to avoid invalid account error when create vesting account.
[v0.15.0] - 2022-05-09
State Machine Breaking
- (ante) tharsis#1060 Check
EnableCreate
/EnableCall
inAnteHandler
to short-circuit EVM transactions. - (evm) tharsis#1087 Minimum GasUsed proportional to GasLimit and
MinGasDenominator
EVM module param.
API Breaking
- (rpc) tharsis#1070 Refactor
rpc/
package:Backend
interface is nowBackendI
, which implementsEVMBackend
(for Ethereum namespaces) andCosmosBackend
(for Cosmos namespaces)- Previous
EVMBackend
type is nowBackend
, which is the concrete implementation ofBackendI
- Move
rpc/ethereum/types
->rpc/types
- Move
rpc/ethereum/backend
->rpc/backend
- Move
rpc/ethereum/namespaces
->rpc/namespaces/ethereum
- (rpc) tharsis#1068 Fix London hard-fork check logic in JSON-RPC APIs.
Improvements
- (ci, evm) tharsis#1063 Run simulations on CI.
Bug Fixes
- (rpc) tharsis#1059 Remove unnecessary event filtering logic on the
eth_baseFee
JSON-RPC endpoint.
[v0.14.0] - 2022-04-19
API Breaking
- (evm) tharsis#1051 Context block height fix on TraceTx. Removes
tx_index
onQueryTraceTxRequest
proto type. - (evm) tharsis#1091 Add query params command on EVM Module
Improvements
- (deps) tharsis#1046 Bump Cosmos SDK version to
v0.45.3
- (rpc) tharsis#1056 Make json-rpc namespaces extensible
Bug Fixes
- (rpc) tharsis#1050
eth_getBlockByNumber
fix on batch transactions - (app) tharsis#658 Support simulations for the EVM.
[v0.13.0] - 2022-04-05
API Breaking
- (evm) tharsis#1027 Change the
PostTxProcessing
hook interface to include the full message data. - (feemarket) tharsis#1026 Fix REST endpoints to use
/ethermint/feemarket/*
instead of/feemarket/evm/*
.
Improvements
- (deps) tharsis#1029 Bump Cosmos SDK version to
v0.45.2
- (evm) tharsis#1025 Allow to append logs after a post processing hook.
[v0.12.2] - 2022-03-30
Bug Fixes
- (feemarket) tharsis#1021 Fix fee market migration.
[v0.12.1] - 2022-03-29
Bug Fixes
- (evm) tharsis#1016 Update validate basic check for storage state.
[v0.12.0] - 2022-03-24
Bug Fixes
- (rpc) tharsis#1012 fix the tx hash in filter entries created by
eth_newPendingTransactionFilter
. - (rpc) tharsis#1006 Use
string
as the parameters type to correct ambiguous results. - (ante) tharsis#1004 Make
MaxTxGasWanted
configurable. - (ante) tharsis#991 Set an upper bound to gasWanted to prevent DoS attack.
- (rpc) tharsis#990 Calculate reward values from all
MsgEthereumTx
from a block ineth_feeHistory
.
[v0.11.0] - 2022-03-06
State Machine Breaking
- (ante) tharsis#964 add NewInfiniteGasMeterWithLimit for storing the user provided gas limit. Fixes block's consumed gas calculation in the block creation phase.
Bug Fixes
- (rpc) tharsis#975 Fix unexpected
nil
values forreward
, returned byEffectiveGasTipValue(blockBaseFee)
in theeth_feeHistory
RPC method.
Improvements
- (rpc) tharsis#979 Add configurable timeouts to http server
- (rpc) tharsis#988 json-rpc server always use local rpc client
[v0.10.1] - 2022-03-04
Bug Fixes
- (rpc) tharsis#970 Fix unexpected nil reward values on
eth_feeHistory
response - (evm) tharsis#529 Add support return value on trace tx response.
Improvements
- (rpc) tharsis#968 Add some buffer to returned gas price to provide better default UX for client.
[v0.10.0] - 2022-02-26
API Breaking
- (ante) tharsis#866
NewAnteHandler
constructor now receives aHandlerOptions
field. - (evm) tharsis#849
PostTxProcessing
hook now takes an Ethereum txReceipt
and afrom
Address
as arguments. - (ante) tharsis#916 Don't check min-gas-price for eth tx if london hardfork enabled and feemarket enabled.
State Machine Breaking
- (deps) tharsis#912 Bump Cosmos SDK version to
v0.45.1
- (evm) tharsis#840 Store empty topics as empty array rather than nil.
- (feemarket) tharsis#822 Update EIP1559 base fee in
BeginBlock
. - (evm) tharsis#817 Use
effectiveGasPrice
in ante handler, addeffectiveGasPrice
to tx receipt. - (evm) tharsis#808 increase nonce in ante handler for contract creation transaction.
- (evm) tharsis#851 fix contract address used in EVM, this issue is caused by tharsis#808.
- (evm) Reject invalid
MsgEthereumTx
wrapping tx - (evm) Fix
SelfDestruct
opcode by deleting account code and state. - (feemarket) tharsis#855 Consistent
BaseFee
check logic. - (evm) tharsis#729 Refactor EVM
StateDB
implementation. - (evm) tharsis#945 Bumb Go-ethereum version to
v1.10.16
Features
- (ante) tharsis#950 Add support for EIP712 signed Cosmos transactions
Improvements
- (types) tharsis#884 Introduce a new
EthAccountI
interface for EVM-compatible account types. - (types) tharsis#849 Add
Type
function to distinguish EOAs from Contract accounts. - (evm) tharsis#826 Improve allocation of bytes of
tx.To
address. - (evm) tharsis#827 Speed up creation of event logs by using the slice insertion idiom with indices.
- (ante) tharsis#819 Remove redundant ante handlers
- (app) tharsis#873 Validate code hash in GenesisAccount
- (evm) tharsis#901 Support multiple
MsgEthereumTx
in single tx. - (config) tharsis#908 Add
api.enable
flag for Cosmos SDK Rest server - (feemarket) tharsis#919 Initialize baseFee in default genesis state.
- (feemarket) tharsis#943 Store the base fee as a module param instead of using state storage.
Bug Fixes
- (rpc) tharsis#955 Fix websocket server push duplicated messages to subscriber.
- (rpc) tharsis#953 Add
eth_signTypedData
api support. - (log) tharsis#948 Redirect go-ethereum's logs to cosmos-sdk logger.
- (evm) tharsis#884 Support multiple account types on the EVM
StateDB
. - (rpc) tharsis#831 Fix BaseFee value when height is specified.
- (evm) tharsis#838 Fix splitting of trace.Memory into 32 chunks.
- (rpc) tharsis#860 Fix
eth_getLogs
when specify blockHash without address/topics, and limit the response size. - (rpc) tharsis#865 Fix RPC Filter parameters being ignored
- (evm) tharsis#871 Set correct nonce in
EthCall
andEstimateGas
grpc query. - (rpc) tharsis#878 Workaround to make GetBlock RPC api report correct block gas used.
- (rpc) tharsis#900
newPendingTransactions
filter return ethereum tx hash. - (rpc) tharsis#933 Fix
newPendingTransactions
subscription deadlock when a Websocket client exits without unsubscribing and the node errors. - (evm) tharsis#932 Fix base fee check logic in state transition.
[v0.9.0] - 2021-12-01
State Machine Breaking
- (evm) tharsis#802 Clear access list for each transaction
Improvements
- (app) tharsis#794 Setup in-place store migrators.
- (ci) tharsis#784 Enable automatic backport of PRs.
- (rpc) tharsis#786 Improve error message of
SendTransaction
/SendRawTransaction
JSON-RPC APIs. - (rpc) tharsis#810 Optimize tx index lookup in web3 rpc
Bug Fixes
- (license) tharsis#800 Re-license project to LGPLv3 to comply with go-ethereum.
- (evm) tharsis#794 Register EVM gRPC
Msg
server. - (rpc) tharsis#781 Fix get block invalid transactions filter.
- (rpc) tharsis#782 Fix wrong block gas limit returned by JSON-RPC.
- (evm) tharsis#798 Fix the semantic of
ForEachStorage
callback's return value
[v0.8.1] - 2021-11-23
Bug Fixes
- (feemarket) tharsis#770 Enable fee market (EIP1559) by default.
- (rpc) tharsis#769 Fix default Ethereum signer for JSON-RPC.
[v0.8.0] - 2021-11-17
State Machine Breaking
- (evm, ante) tharsis#620 Add fee market field to EVM
Keeper
andAnteHandler
. - (all) tharsis#231 Bump go-ethereum version to
v1.10.9
- (ante) tharsis#703 Fix some fields in transaction are not authenticated by signature.
- (evm) tharsis#751 don't revert gas refund logic when transaction reverted
Features
- (rpc, evm) tharsis#673 Use tendermint events to store fee market basefee.
- (rpc) tharsis#624 Implement new JSON-RPC endpoints from latest geth version
- (evm) tharsis#662 Disable basefee for non london blocks
- (cmd) tharsis#712 add tx cli to build evm transaction
- (rpc) tharsis#733 add JSON_RPC endpoint
personal_unpair
- (rpc) tharsis#734 add JSON_RPC endpoint
eth_feeHistory
- (rpc) tharsis#740 add JSON_RPC endpoint
personal_initializeWallet
- (rpc) tharsis#743 add JSON_RPC endpoint
debug_traceBlockByHash
- (rpc) tharsis#748 add JSON_RPC endpoint
personal_listWallets
- (rpc) tharsis#754 add JSON_RPC endpoint
debug_intermediateRoots
Bug Fixes
- (evm) tharsis#746 Set EVM debugging based on tracer configuration.
- (app,cli) tharsis#725 Fix cli-config for
keys
command. - (rpc) tharsis#727 Decode raw transaction using RLP.
- (rpc) tharsis#661 Fix OOM bug when creating too many filters using JSON-RPC.
- (evm) tharsis#660 Fix
nil
pointer panic inApplyNativeMessage
. - (evm, test) tharsis#649 Test DynamicFeeTx.
- (evm) tharsis#702 Fix panic in web3 RPC handlers
- (rpc) tharsis#720 Fix
debug_traceTransaction
failure - (rpc) tharsis#741 Fix
eth_getBlockByNumberAndHash
return with non eth txs - (rpc) tharsis#743 Fix debug JSON RPC handler crash on non-existing block
Improvements
- (tests) tharsis#704 Introduce E2E testing framework for clients
- (deps) tharsis#737 Bump ibc-go to
v2.0.0
- (rpc) tharsis#671 Don't pass base fee externally for
EthCall
/EthEstimateGas
apis. - (evm) tharsis#674 Refactor
ApplyMessage
, removeApplyNativeMessage
. - (rpc) tharsis#714 remove
MsgEthereumTx
support inTxConfig
[v0.7.2] - 2021-10-24
Improvements
- (deps) tharsis#692 Bump Cosmos SDK version to
v0.44.3
. - (rpc) tharsis#679 Fix file close handle.
- (deps) tharsis#668 Bump Tendermint version to
v0.34.14
.
Bug Fixes
- (rpc) tharsis#667 Fix
ExpandHome
restrictions bypass
[v0.7.1] - 2021-10-08
Bug Fixes
- (evm) tharsis#650 Fix panic when flattening the cache context in case transaction is reverted.
- (rpc, test) tharsis#608 Fix rpc test.
[v0.7.0] - 2021-10-07
API Breaking
- (rpc) tharsis#400 Restructure JSON-RPC directory and rename server config
Improvements
- (deps) tharsis#621 Bump IBC-go to
v1.2.1
- (evm) tharsis#613 Refactor
traceTx
- (deps) tharsis#610 Bump Cosmos SDK to v0.44.1.
Bug Fixes
- (rpc) tharsis#642 Fix
eth_getLogs
when string is specified in filter's from or to fields - (evm) tharsis#616 Fix halt on deeply nested stack of cache context. Stack is now flattened before iterating over the tx logs.
- (rpc, evm) tharsis#614 Use JSON for (un)marshaling tx
Log
s from events. - (rpc) tharsis#611 Fix panic on JSON-RPC when querying for an invalid block height.
- (cmd) tharsis#483 Use config values on genesis accounts.
[v0.6.0] - 2021-09-29
State Machine Breaking
- (app) tharsis#476 Update Bech32 HRP to
ethm
. - (evm) tharsis#556 Remove tx logs and block bloom from chain state
- (evm) tharsis#590 Contract storage key is not hashed anymore
API Breaking
- (evm) tharsis#469 Deprecate
YoloV3Block
andEWASMBlock
fromChainConfig
Features
- (evm) tharsis#469 Support EIP-1559
- (evm) tharsis#417 Add
EvmHooks
for tx post-processing - (rpc) tharsis#506 Support for
debug_traceTransaction
RPC endpoint - (rpc) tharsis#555 Support for
debug_traceBlockByNumber
RPC endpoint
Bug Fixes
- (rpc, server) tharsis#600 Add TLS configuration for websocket API
- (rpc) tharsis#598 Check truncation when creating a
BlockNumber
frombig.Int
- (evm) tharsis#597 Check for
uint64
->int64
block height overflow onGetHashFn
- (evm) tharsis#579 Update
DeriveChainID
function to handlev
signature values< 35
. - (encoding) tharsis#478 Register
Evidence
to amino codec. - (rpc) tharsis#478 Getting the node configuration when calling the
miner
rpc methods. - (cli) tharsis#561
Export
andStart
commands now use the same home directory.
Improvements
- (evm) tharsis#461 Increase performance of
StateDB
transaction log storage (r/w). - (evm) tharsis#566 Introduce
stateErr
store inStateDB
to avoid meaningless operations if any error happened before - (rpc, evm) tharsis#587 Apply bloom filter when query ethlogs with range of blocks
- (evm) tharsis#586 Benchmark evm keeper
[v0.5.0] - 2021-08-20
State Machine Breaking
- (app, rpc) tharsis#447 Chain ID format has been changed from
<identifier>-<epoch>
to<identifier>_<EIP155_number>-<epoch>
in order to clearly distinguish permanent vs impermanent components. - (app, evm) tharsis#434 EVM
Keeper
struct andNewEVM
function now have a newtrace
field to define the Tracer type used to collect execution traces from the EVM transaction execution. - (evm) tharsis#175 The msg
TxData
field is now represented as a*proto.Any
. - (evm) tharsis#84 Remove
journal
,CommitStateDB
andstateObjects
. - (rpc, evm) tharsis#81 Remove tx
Receipt
from store and replace it with fields obtained from the Tendermint RPC client. - (evm) tharsis#72 Update
AccessList
to useTransientStore
instead of map. - (evm) tharsis#68 Replace block hash storage map to use staking
HistoricalInfo
. - (evm) tharsis#276 Vm errors don't result in cosmos tx failure, just different tx state and events.
- (evm) tharsis#342 Don't clear balance when resetting the account.
- (evm) tharsis#334 Log index changed to the index in block rather than tx.
- (evm) tharsis#399 Exception in sub-message call reverts the call if it's not propagated.
API Breaking
- (proto) tharsis#448 Bump version for all Ethermint messages to
v1
- (server) tharsis#434
evm-rpc
flags and app config have been renamed tojson-rpc
. - (proto, evm) tharsis#207 Replace
big.Int
in favor ofsdk.Int
forTxData
fields - (proto, evm) tharsis#81 gRPC Query and Tx service changes:
- The
TxReceipt
,TxReceiptsByBlockHeight
endpoints have been removed from the Query service. - The
ContractAddress
,Bloom
have been removed from theMsgEthereumTxResponse
and the response now contains the ethereum-formattedHash
in hex format.
- The
- (eth) tharsis#845 The
eth
namespace must be included in the list of API's as default to run the rpc server without error. - (evm) tharsis#202 Web3 api
SendTransaction
/SendRawTransaction
returns ethereum compatible transaction hash, and query apiGetTransaction*
also accept that. - (rpc) tharsis#258 Return empty
BloomFilter
instead of throwing an error when it cannot be found (nil
or empty). - (rpc) tharsis#277 Fix
BloomFilter
response.
Improvements
- (client) tharsis#450 Add EIP55 hex address support on
debug addr
command. - (server) tharsis#343 Define a wrap tendermint logger
Handler
go-ethereum'sroot
logger. - (rpc) tharsis#457 Configure RPC gas cap through app config.
- (evm) tharsis#434 Support different
Tracer
types for the EVM. - (deps) tharsis#427 Bump ibc-go to
v1.0.0
- (gRPC) tharsis#239 Query
ChainConfig
via gRPC. - (rpc) tharsis#181 Use evm denomination for params on tx fee.
- (deps) tharsis#423 Bump Cosmos SDK and Tendermint versions to v0.43.0 and v0.34.11, respectively.
- (evm) tharsis#66 Support legacy transaction types for signing.
- (evm) tharsis#24 Implement metrics for
MsgEthereumTx
, state transitions,BeginBlock
andEndBlock
. - (rpc) tharsis#124 Implement
txpool_content
,txpool_inspect
andtxpool_status
RPC methods - (rpc) tharsis#112 Fix
eth_coinbase
to return the ethereum address of the validator - (rpc) tharsis#176 Support fetching pending nonce
- (rpc) tharsis#272 do binary search to estimate gas accurately
- (rpc) tharsis#313 Implement internal debug namespace (Not including logger functions nor traces).
- (rpc) tharsis#349 Implement configurable JSON-RPC APIs to manage enabled namespaces.
- (rpc) tharsis#377 Implement
miner_
namespace.miner_setEtherbase
andminer_setGasPrice
are working as intended. All the other calls are not applicable and returnunsupported
. - (eth) tharsis#460 Add support for EIP-1898.
Bug Fixes
- (keys) tharsis#346 Fix
keys add
command with--ledger
flag for thesecp256k1
signing algorithm. - (evm) tharsis#291 Use block proposer address (validator operator) for
COINBASE
opcode. - (rpc) tharsis#81 Fix transaction hashing and decoding on
eth_sendTransaction
. - (rpc) tharsis#45 Use
EmptyUncleHash
andEmptyRootHash
for empty ethereumHeader
fields.
[v0.4.1] - 2021-03-01
API Breaking
- (faucet) tharsis#678 Faucet module has been removed in favor of client libraries such as
@cosmjs/faucet
. - (evm) tharsis#670 Migrate types to the ones defined by the protobuf messages, which are required for the stargate release.
Bug Fixes
- (evm) tharsis#799 Fix wrong precision in calculation of gas fee.
- (evm) tharsis#760 Fix Failed to call function EstimateGas.
- (evm) tharsis#767 Fix error of timeout when using Truffle to deploy contract.
- (evm) tharsis#751 Fix misused method to calculate block hash in evm related function.
- (evm) tharsis#721 Fix mismatch block hash in rpc response when use eht.getBlock.
- (evm) tharsis#730 Fix 'EIP2028' not open when Istanbul version has been enabled.
- (evm) tharsis#749 Fix panic in
AnteHandler
when gas price larger than 100000 - (evm) tharsis#747 Fix format errors in String() of QueryETHLogs
- (evm) tharsis#742 Add parameter check for evm query func.
- (evm) tharsis#687 Fix nonce check to explicitly check for the correct nonce, rather than a simple 'greater than' comparison.
- (api) tharsis#687 Returns error for a transaction with an incorrect nonce.
- (evm) tharsis#674 Reset all cache after account data has been committed in
EndBlock
to make sure every node state consistent. - (evm) tharsis#672 Fix panic of
wrong Block.Header.AppHash
when restart a node with snapshot. - (evm) tharsis#775 MisUse of headHash as blockHash when create EVM context.
Features
- (api) tharsis#821 Individually enable the api modules. Will be implemented in the latest version of ethermint with the upcoming stargate upgrade.
Features
- (api) tharsis#825 Individually enable the api modules. Will be implemented in the latest version of ethermint with the upcoming stargate upgrade.
[v0.4.0] - 2020-12-15
API Breaking
- (evm) tharsis#661
Balance
field has been removed from the evm module'sGenesisState
.
Features
- (rpc) tharsis#571 Add pending queries to JSON-RPC calls. This allows for the querying of pending transactions and other relevant information that pertains to the pending state:
eth_getBalance
eth_getTransactionCount
eth_getBlockTransactionCountByNumber
eth_getBlockByNumber
eth_getTransactionByHash
eth_getTransactionByBlockNumberAndIndex
eth_sendTransaction
- the nonce will automatically update to its pending nonce (when none is explicitly provided)
Improvements
- (evm) tharsis#661 Add invariant check for account balance and account nonce.
- (deps) tharsis#654 Bump go-ethereum version to v1.9.25
- (evm) tharsis#627 Add extra EIPs parameter to apply custom EVM jump tables.
Bug Fixes
- (evm) tharsis#661 Set nonce to the EVM account on genesis initialization.
- (rpc) tharsis#648 Fix block cumulative gas used value.
- (evm) tharsis#621 EVM
GenesisAccount
fields now share the same format as the auth moduleAccount
. - (evm) tharsis#618 Add missing EVM
Context
GetHash
field that retrieves a the header hash from a given block height. - (app) tharsis#617 Fix genesis export functionality.
- (rpc) tharsis#574 Fix outdated version from
eth_protocolVersion
.
[v0.3.1] - 2020-11-24
Improvements
- (deps) tharsis#615 Bump Cosmos SDK version to v0.39.2
- (deps) tharsis#610 Update Go dependency to 1.15+.
- (evm) tharsis#603 Add state transition params that enable or disable the EVM
Call
andCreate
operations. - (deps) tharsis#602 Bump tendermint version to v0.33.9
Bug Fixes
- (rpc) tharsis#613 Fix potential deadlock caused if the keyring
List
returned an error.
[v0.3.0] - 2020-11-16
API Breaking
- (crypto) tharsis#559 Refactored crypto package in preparation for the SDK's Stargate release:
crypto.PubKeySecp256k1
andcrypto.PrivKeySecp256k1
are nowethsecp256k1.PubKey
andethsecp256k1.PrivKey
, respectively- Moved SDK
SigningAlgo
implementation for Ethermint's Secp256k1 key tocrypto/hd
package.
- (rpc) tharsis#588 The
rpc
package has been refactored to account for the separation of each corresponding Ethereum API namespace:rpc/namespaces/eth
:eth
namespace. Exposes thePublicEthereumAPI
and thePublicFilterAPI
.rpc/namespaces/personal
:personal
namespace. Exposes thePrivateAccountAPI
.rpc/namespaces/net
:net
namespace. Exposes thePublicNetAPI
.rpc/namespaces/web3
:web3
namespace. Exposes thePublicWeb3API
.
- (evm) tharsis#588 The EVM transaction CLI has been removed in favor of the JSON-RPC.
Improvements
- (deps) tharsis#594 Bump go-ethereum version to v1.9.24
Bug Fixes
- (ante) tharsis#597 Fix incorrect fee check on
AnteHandler
. - (evm) tharsis#583 Fixes incorrect resetting of tx count and block bloom during
BeginBlock
, as well as gas consumption. - (crypto) tharsis#577 Fix
BIP44HDPath
that did not prependm/
to the path. This now uses theDefaultBaseDerivationPath
variable from go-ethereum to ensure addresses are consistent.
[v0.2.1] - 2020-09-30
Features
- (rpc) tharsis#552 Implement Eth Personal namespace
personal_importRawKey
.
Bug fixes
- (keys) tharsis#554 Fix private key derivation.
- (app/ante) tharsis#550 Update ante handler nonce verification to accept any nonce greater than or equal to the expected nonce to allow to successive transactions.
[v0.2.0] - 2020-09-24
State Machine Breaking
- (app) tharsis#540 Chain identifier's format has been changed to match the Cosmos
chainID
standard, which is required for IBC. The epoch number of the ID is used as the EVMchainID
.
API Breaking
- (types) tharsis#503 The
types.DenomDefault
constant for"aphoton"
has been renamed totypes.AttoPhoton
.
Improvements
- (types) tharsis#504 Unmarshal a JSON
EthAccount
using an Ethereum hex address in addition to Bech32. - (types) tharsis#503 Add
--coin-denom
flag to testnet command that sets the given coin denomination to SDK and Ethermint parameters. - (types) tharsis#502
EthAccount
now also exposes the Ethereum hex address instring
format to clients. - (types) tharsis#494 Update
EthAccount
public key JSON type tostring
. - (app) tharsis#471 Add
x/upgrade
module for managing software updates. - (evm) tharsis#458 Define parameter for token denomination used for the EVM module.
- (evm) tharsis#443 Support custom Ethereum
ChainConfig
params. - (types) tharsis#434 Update default denomination to Atto Photon (
aphoton
). - (types) tharsis#515 Update minimum gas price to be 1.
Bug Fixes
- (ante) tharsis#525 Add message validation decorator to
AnteHandler
forMsgEthereumTx
. - (types) tharsis#507 Fix hardcoded
aphoton
onEthAccount
balance getter and setter. - (types) tharsis#501 Fix bech32 encoding error by using the compressed ethereum secp256k1 public key.
- (evm) tharsis#496 Fix bugs on
journal.revert
andCommitStateDB.Copy
. - (types) tharsis#480 Update BIP44 coin type to
60
to satisfy EIP84. - (types) tharsis#513 Fix simulated transaction bug that was causing a consensus error by unintentionally affecting the state.
[v0.1.0] - 2020-08-23
Improvements
- (sdk) tharsis#386 Bump Cosmos SDK version to v0.39.1
- (evm) tharsis#181 Updated EVM module to the recommended module structure.
- (app) tharsis#188 Misc cleanup:
- (evm) Rename
EthereumTxMsg
-->MsgEthereumTx
andEmintMsg
-->MsgEthermint
for consistency with SDK standards - Updated integration and unit tests to use
EthermintApp
as testing suite - Use expected
Keeper
interface forAccountKeeper
- Replaced
count
type in keeper withint
- Add SDK events for transactions
- (evm) Rename
- tharsis#236 Changes from upgrade:
- (
app/ante
) MovedAnteHandler
implementation toapp/ante
- (keys) Marked
ExportEthKeyCommand
as UNSAFE - (evm) Moved
BeginBlock
andEndBlock
tox/evm/abci.go
- (
- (evm) tharsis#255 Add missing
GenesisState
fields and supportExportGenesis
functionality. - tharsis#272 Add
Logger
for evm module. - tharsis#317
GenesisAccount
validation. - (evm) tharsis#319 Various evm improvements:
- Add transaction
[]*ethtypes.Logs
to evm'sGenesisState
to persist logs after an upgrade. - Remove evm
CodeKey
andBlockKey
in favor of a prefixStore
. - Set
BlockBloom
duringEndBlock
instead ofBeginBlock
. Commit
state object andFinalize
storage afterInitGenesis
setup.
- Add transaction
- (rpc) tharsis#325
eth_coinbase
JSON-RPC query now returns the node's validator address.
Features
- (build) tharsis#378 Create multi-node, local, automated testnet setup with
make localnet-start
. - (rpc) tharsis#330 Implement
PublicFilterAPI
'sEventSystem
which subscribes to Tendermint events uponFilter
creation. - (rpc) tharsis#231 Implement
NewBlockFilter
in rpc/filters.go which instantiates a polling block filter- Polls for new blocks via
BlockNumber
rpc call; if block number changes, it requests the new block viaGetBlockByNumber
rpc call and adds it to its internal list of blocks - Update
uninstallFilter
andgetFilterChanges
accordingly uninstallFilter
stops the polling goroutinegetFilterChanges
returns the filter's internal list of block hashes and resets it
- Polls for new blocks via
- (rpc) tharsis#54, tharsis#55
Implement
eth_getFilterLogs
andeth_getLogs
:- For a given filter, look through each block for transactions. If there are transactions in the block, get the logs from it, and filter using the filterLogs method
eth_getLogs
andeth_getFilterChanges
for log filters use the same underlying method aseth_getFilterLogs
- update
HandleMsgEthereumTx
to store logs using the ethereum hash
- (app) tharsis#187 Add support for simulations.
Bug Fixes
- (evm) tharsis#767 Fix error of timeout when using Truffle to deploy contract.
- (evm) tharsis#751 Fix misused method to calculate block hash in evm related function.
- (evm) tharsis#721 Fix mismatch block hash in rpc response when use eth.getBlock.
- (evm) tharsis#730 Fix 'EIP2028' not open when Istanbul version has been enabled.
- (app) tharsis#749 Fix panic in
AnteHandler
when gas price larger than 100000 - (rpc) tharsis#305 Update
eth_getTransactionCount
to check for account existence before getting sequence and return 0 as the nonce if it doesn't exist. - (evm) tharsis#319 Fix
SetBlockHash
that was setting the incorrect height duringBeginBlock
. - (evm) tharsis#176 Updated Web3 transaction hash from using RLP hash. Now all transaction hashes exposed are amino hashes:
- Removes
Hash()
(RLP) function fromMsgEthereumTx
to avoid confusion or misuse in future.
- Removes