26816e2648
* evm: debug non-determinism * add tests * changelog
5.7 KiB
5.7 KiB
Changelog
Unreleased
Improvements
- (app) #471 Add
x/upgrade
module for managing software updates.
Bug Fixes
- (
x/evm
) #496 Fix bugs onjournal.revert
andCommitStateDB.Copy
. - (types) #480 Update BIP44 coin type to
60
to satisfy EIP84.
[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
-->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
- (
- #236 Changes from upgrade:
- (
app/ante
) MovedAnteHandler
implementation toapp/ante
- (keys) Marked
ExportEthKeyCommand
as UNSAFE - (
x/evm
) MovedBeginBlock
andEndBlock
tox/evm/abci.go
- (
- (
x/evm
) #255 Add missingGenesisState
fields and supportExportGenesis
functionality. - #272 Add
Logger
for evm module. - #317
GenesisAccount
validation. - (
x/evm
) #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) #325
eth_coinbase
JSON-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
'sEventSystem
which subscribes to Tendermint events uponFilter
creation. - (rpc) #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) #54, #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) #187 Add support for simulations.
Bug Fixes
- (rpc) #305 Update
eth_getTransactionCount
to check for account existence before getting sequence and return 0 as the nonce if it doesn't exist. - (
x/evm
) #319 FixSetBlockHash
that 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 fromMsgEthereumTx
to avoid confusion or misuse in future.
- Removes