Skip to content
This repository has been archived by the owner on Apr 4, 2024. It is now read-only.

v0.5.0

Compare
Choose a tag to compare
@fedekunze fedekunze released this 20 Aug 15:44

Changelog

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 and NewEVM function now have a new trace 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 and stateObjects.
  • (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 use TransientStore 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 to json-rpc.
  • (proto, evm) tharsis#207 Replace big.Int in favor of sdk.Int for TxData 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 the MsgEthereumTxResponse and the
      response now contains the ethereum-formatted Hash in hex format.
  • (eth) #845 The eth namespace must be included in the list of API's as default to run the rpc server without error.
  • (evm) #202 Web3 api SendTransaction/SendRawTransaction returns ethereum compatible transaction hash, and query api GetTransaction* 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's root 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 and EndBlock.
  • (rpc) #124 Implement txpool_content, txpool_inspect and txpool_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) #313 Implement internal debug namespace (Not including logger functions nor traces).
  • (rpc) #349 Implement configurable JSON-RPC APIs to manage enabled namespaces.
  • (rpc) #377 Implement miner_ namespace. miner_setEtherbase and miner_setGasPrice are working as intended. All the other calls are not applicable and return unsupported.

Bug Fixes

  • (keys) tharsis#346 Fix keys add command with --ledger flag for the secp256k1 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 and EmptyRootHash for empty ethereum Header fields.