forked from cerc-io/laconicd
19 KiB
19 KiB
Changelog
Unreleased
State Machine Breaking
- (evm) tharsis#175 The msg
TxDatafield is now represented as a*proto.Any. - (evm) tharsis#84 Remove
journal,CommitStateDBandstateObjects. - (rpc, evm) tharsis#81 Remove tx
Receiptfrom store and replace it with fields obtained from the Tendermint RPC client. - (evm) tharsis#72 Update
AccessListto useTransientStoreinstead of map. - (evm) tharsis#68 Replace block hash storage map to use staking
HistoricalInfo.
API Breaking
- (proto, evm) tharsis#207 Replace
big.Intin favor ofsdk.IntforTxDatafields - (proto, evm) tharsis#81 gRPC Query and Tx service changes:
- The
TxReceipt,TxReceiptsByBlockHeightendpoints have been removed from the Query service. - The
ContractAddress,Bloomhave been removed from theMsgEthereumTxResponseand the response now contains the ethereum-formattedHashin hex format.
- The
- (eth) #845 The
ethnamespace must be included in the list of API's as default to run the rpc server without error. - (evm) #202 Web3 api
SendTransaction/SendRawTransactionreturns ethereum compatible transaction hash, and query apiGetTransaction*also accept that.
Improvements
- (gRPC) tharsis#239 Query
ChainConfigvia gRPC. - (rpc) tharsis#181 Use evm denomination for params on tx fee.
- (deps) tharsis#165 Bump Cosmos SDK and Tendermint versions to v0.42.6 and v0.34.11, respectively.
- (evm) tharsis#66 Support legacy transaction types for signing.
- (evm) tharsis#24 Implement metrics for
MsgEthereumTx, state transitions,BeginBlockandEndBlock. - (rpc) #124 Implement
txpool_content,txpool_inspectandtxpool_statusRPC methods - (rpc) tharsis#112 Fix
eth_coinbaseto return the ethereum address of the validator - (rpc) tharsis#176 Support fetching pending nonce
Bug Fixes
- (rpc) tharsis#81 Fix transaction hashing and decoding on
eth_sendTransaction. - (rpc) tharsis#45 Use
EmptyUncleHashandEmptyRootHashfor empty ethereumHeaderfields.
[v0.4.1] - 2021-03-01
API Breaking
- (faucet) #678 Faucet module has been removed in favor of client libraries such as
@cosmjs/faucet. - (evm) #670 Migrate types to the ones defined by the protobuf messages, which are required for the stargate release.
Bug Fixes
- (evm) #799 Fix wrong precision in calculation of gas fee.
- (evm) #760 Fix Failed to call function EstimateGas.
- (evm) #767 Fix error of timeout when using Truffle to deploy contract.
- (evm) #751 Fix misused method to calculate block hash in evm related function.
- (evm) #721 Fix mismatch block hash in rpc response when use eht.getBlock.
- (evm) #730 Fix 'EIP2028' not open when Istanbul version has been enabled.
- (evm) #749 Fix panic in
AnteHandlerwhen gas price larger than 100000 - (evm) #747 Fix format errors in String() of QueryETHLogs
- (evm) #742 Add parameter check for evm query func.
- (evm) #687 Fix nonce check to explicitly check for the correct nonce, rather than a simple 'greater than' comparison.
- (api) #687 Returns error for a transaction with an incorrect nonce.
- (evm) #674 Reset all cache after account data has been committed in
EndBlockto make sure every node state consistent. - (evm) #672 Fix panic of
wrong Block.Header.AppHashwhen restart a node with snapshot. - (evm) #775 MisUse of headHash as blockHash when create EVM context.
Features
- (api) #821 Individually enable the api modules. Will be implemented in the latest version of ethermint with the upcoming stargate upgrade.
Features
- (api) #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) #661
Balancefield has been removed from the evm module'sGenesisState.
Features
- (rpc) #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_getBalanceeth_getTransactionCounteth_getBlockTransactionCountByNumbereth_getBlockByNumbereth_getTransactionByHasheth_getTransactionByBlockNumberAndIndexeth_sendTransaction- the nonce will automatically update to its pending nonce (when none is explicitly provided)
Improvements
- (evm) #661 Add invariant check for account balance and account nonce.
- (deps) #654 Bump go-ethereum version to v1.9.25
- (evm) #627 Add extra EIPs parameter to apply custom EVM jump tables.
Bug Fixes
- (evm) #661 Set nonce to the EVM account on genesis initialization.
- (rpc) #648 Fix block cumulative gas used value.
- (evm) #621 EVM
GenesisAccountfields now share the same format as the auth moduleAccount. - (evm) #618 Add missing EVM
ContextGetHashfield that retrieves a the header hash from a given block height. - (app) #617 Fix genesis export functionality.
- (rpc) #574 Fix outdated version from
eth_protocolVersion.
[v0.3.1] - 2020-11-24
Improvements
- (deps) #615 Bump Cosmos SDK version to v0.39.2
- (deps) #610 Update Go dependency to 1.15+.
- (evm) #603 Add state transition params that enable or disable the EVM
CallandCreateoperations. - (deps) #602 Bump tendermint version to v0.33.9
Bug Fixes
- (rpc) #613 Fix potential deadlock caused if the keyring
Listreturned an error.
[v0.3.0] - 2020-11-16
API Breaking
- (crypto) #559 Refactored crypto package in preparation for the SDK's Stargate release:
crypto.PubKeySecp256k1andcrypto.PrivKeySecp256k1are nowethsecp256k1.PubKeyandethsecp256k1.PrivKey, respectively- Moved SDK
SigningAlgoimplementation for Ethermint's Secp256k1 key tocrypto/hdpackage.
- (rpc) #588 The
rpcpackage has been refactored to account for the separation of each corresponding Ethereum API namespace:rpc/namespaces/eth:ethnamespace. Exposes thePublicEthereumAPIand thePublicFilterAPI.rpc/namespaces/personal:personalnamespace. Exposes thePrivateAccountAPI.rpc/namespaces/net:netnamespace. Exposes thePublicNetAPI.rpc/namespaces/web3:web3namespace. Exposes thePublicWeb3API.
- (evm) #588 The EVM transaction CLI has been removed in favor of the JSON-RPC.
Improvements
Bug Fixes
- (ante) #597 Fix incorrect fee check on
AnteHandler. - (evm) #583 Fixes incorrect resetting of tx count and block bloom during
BeginBlock, as well as gas consumption. - (crypto) #577 Fix
BIP44HDPaththat did not prependm/to the path. This now uses theDefaultBaseDerivationPathvariable from go-ethereum to ensure addresses are consistent.
[v0.2.1] - 2020-09-30
Features
- (rpc) #552 Implement Eth Personal namespace
personal_importRawKey.
Bug fixes
- (keys) #554 Fix private key derivation.
- (app/ante) #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) #540 Chain identifier's format has been changed to match the Cosmos
chainIDstandard, which is required for IBC. The epoch number of the ID is used as the EVMchainID.
API Breaking
- (types) #503 The
types.DenomDefaultconstant for"aphoton"has been renamed totypes.AttoPhoton.
Improvements
- (types) #504 Unmarshal a JSON
EthAccountusing an Ethereum hex address in addition to Bech32. - (types) #503 Add
--coin-denomflag to testnet command that sets the given coin denomination to SDK and Ethermint parameters. - (types) #502
EthAccountnow also exposes the Ethereum hex address instringformat to clients. - (types) #494 Update
EthAccountpublic key JSON type tostring. - (app) #471 Add
x/upgrademodule for managing software updates. - (
x/evm) #458 Define parameter for token denomination used for the EVM module. - (
x/evm) #443 Support custom EthereumChainConfigparams. - (types) #434 Update default denomination to Atto Photon (
aphoton). - (types) #515 Update minimum gas price to be 1.
Bug Fixes
- (ante) #525 Add message validation decorator to
AnteHandlerforMsgEthereumTx. - (types) #507 Fix hardcoded
aphotononEthAccountbalance getter and setter. - (types) #501 Fix bech32 encoding error by using the compressed ethereum secp256k1 public key.
- (
x/evm) #496 Fix bugs onjournal.revertandCommitStateDB.Copy. - (types) #480 Update BIP44 coin type to
60to satisfy EIP84. - (types) #513 Fix simulated transaction bug that was causing a consensus error by unintentionally affecting the state.
[v0.1.0] - 2020-08-23
Improvements
- (sdk) #386 Bump Cosmos SDK version to v0.39.1
- (
x/evm) #181 Updated EVM module to the recommended module structure. - (app) #188 Misc cleanup:
- (
x/evm) RenameEthereumTxMsg-->MsgEthereumTxandEmintMsg-->MsgEthermintfor consistency with SDK standards - Updated integration and unit tests to use
EthermintAppas testing suite - Use expected
Keeperinterface forAccountKeeper - Replaced
counttype in keeper withint - Add SDK events for transactions
- (
- #236 Changes from upgrade:
- (
app/ante) MovedAnteHandlerimplementation toapp/ante - (keys) Marked
ExportEthKeyCommandas UNSAFE - (
x/evm) MovedBeginBlockandEndBlocktox/evm/abci.go
- (
- (
x/evm) #255 Add missingGenesisStatefields and supportExportGenesisfunctionality. - #272 Add
Loggerfor evm module. - #317
GenesisAccountvalidation. - (
x/evm) #319 Various evm improvements:- Add transaction
[]*ethtypes.Logsto evm'sGenesisStateto persist logs after an upgrade. - Remove evm
CodeKeyandBlockKeyin favor of a prefixStore. - Set
BlockBloomduringEndBlockinstead ofBeginBlock. Commitstate object andFinalizestorage afterInitGenesissetup.
- Add transaction
- (rpc) #325
eth_coinbaseJSON-RPC query now returns the node's validator address.
Features
- (build) #378 Create multi-node, local, automated testnet setup with
make localnet-start. - (rpc) #330 Implement
PublicFilterAPI'sEventSystemwhich subscribes to Tendermint events uponFiltercreation. - (rpc) #231 Implement
NewBlockFilterin rpc/filters.go which instantiates a polling block filter- Polls for new blocks via
BlockNumberrpc call; if block number changes, it requests the new block viaGetBlockByNumberrpc call and adds it to its internal list of blocks - Update
uninstallFilterandgetFilterChangesaccordingly uninstallFilterstops the polling goroutinegetFilterChangesreturns the filter's internal list of block hashes and resets it
- Polls for new blocks via
- (rpc) #54, #55
Implement
eth_getFilterLogsandeth_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_getLogsandeth_getFilterChangesfor log filters use the same underlying method aseth_getFilterLogs- update
HandleMsgEthereumTxto store logs using the ethereum hash
- (app) #187 Add support for simulations.
Bug Fixes
- (evm) #767 Fix error of timeout when using Truffle to deploy contract.
- (evm) #751 Fix misused method to calculate block hash in evm related function.
- (evm) #721 Fix mismatch block hash in rpc response when use eth.getBlock.
- (evm) #730 Fix 'EIP2028' not open when Istanbul version has been enabled.
- (app) #749 Fix panic in
AnteHandlerwhen gas price larger than 100000 - (rpc) #305 Update
eth_getTransactionCountto check for account existence before getting sequence and return 0 as the nonce if it doesn't exist. - (
x/evm) #319 FixSetBlockHashthat was setting the incorrect height duringBeginBlock. - (
x/evm) #176 Updated Web3 transaction hash from using RLP hash. Now all transaction hashes exposed are amino hashes:- Removes
Hash()(RLP) function fromMsgEthereumTxto avoid confusion or misuse in future.
- Removes