syntax = "proto3"; package ethermint.evm.v1alpha1; import "gogoproto/gogo.proto"; import "ethermint/evm/v1alpha1/evm.proto"; option go_package = "github.com/tharsis/ethermint/x/evm/types"; // Msg defines the evm Msg service. service Msg { // EthereumTx defines a method submitting Ethereum transactions. rpc EthereumTx(MsgEthereumTx) returns (MsgEthereumTxResponse); } // MsgEthereumTx encapsulates an Ethereum transaction as an SDK message. message MsgEthereumTx { option (gogoproto.goproto_getters) = false; // inner transaction data TxData data = 1; // caches // encoded storage size of the transaction double size = 2 [(gogoproto.jsontag) = "-"]; // transaction hash in hex format string hash = 3 [(gogoproto.moretags) = "rlp:\"-\""]; // ethereum signer address in hex format. This address value is checked against // the address derived from the signature (V, R, S) using the secp256k1 // elliptic curve string from = 4; } message ExtensionOptionsEthereumTx { option (gogoproto.goproto_getters) = false; } message ExtensionOptionsWeb3Tx { option (gogoproto.goproto_getters) = false; } // MsgEthereumTxResponse defines the Msg/EthereumTx response type. message MsgEthereumTxResponse { option (gogoproto.goproto_getters) = false; // ethereum transaction hash in hex format. This hash differs from the Tendermint sha256 hash of the transaction // bytes. See https://github.com/tendermint/tendermint/issues/6539 for reference string hash = 1; // logs contains the transaction hash and the proto-compatible ethereum // logs. repeated Log logs = 2; // returned data from evm function (result or data supplied with revert opcode) bytes ret = 3; // reverted flag is set to true when the call has been reverted bool reverted = 4; }