2021-01-07 21:45:32 +00:00
|
|
|
syntax = "proto3";
|
|
|
|
package ethermint.evm.v1alpha1;
|
|
|
|
|
|
|
|
import "gogoproto/gogo.proto";
|
|
|
|
import "ethermint/evm/v1alpha1/evm.proto";
|
|
|
|
|
|
|
|
option go_package = "github.com/cosmos/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;
|
|
|
|
|
|
|
|
TxData data = 1;
|
|
|
|
// caches
|
|
|
|
double size = 2 [ (gogoproto.jsontag) = "-" ];
|
|
|
|
SigCache from = 3 [ (gogoproto.jsontag) = "-" ];
|
|
|
|
}
|
|
|
|
|
2021-04-18 15:54:18 +00:00
|
|
|
message ExtensionOptionsEthereumTx {
|
|
|
|
option (gogoproto.goproto_getters) = false;
|
|
|
|
}
|
|
|
|
|
|
|
|
message ExtensionOptionsWeb3Tx {
|
|
|
|
option (gogoproto.goproto_getters) = false;
|
|
|
|
}
|
|
|
|
|
2021-01-07 21:45:32 +00:00
|
|
|
// MsgEthereumTxResponse defines the Msg/EthereumTx response type.
|
2021-04-18 15:54:18 +00:00
|
|
|
message MsgEthereumTxResponse {
|
2021-01-07 21:45:32 +00:00
|
|
|
option (gogoproto.goproto_getters) = false;
|
|
|
|
|
|
|
|
// contract_address contains the ethereum address of the created contract (if
|
|
|
|
// any). If the state transition is an evm.Call, the contract address will be
|
|
|
|
// empty.
|
2021-04-18 15:54:18 +00:00
|
|
|
string contract_address = 1 [(gogoproto.moretags) = "yaml:\"contract_address\"" ];
|
2021-01-07 21:45:32 +00:00
|
|
|
// bloom represents the bloom filter bytes
|
|
|
|
bytes bloom = 2;
|
|
|
|
// tx_logs contains the transaction hash and the proto-compatible ethereum
|
|
|
|
// logs.
|
|
|
|
TransactionLogs tx_logs = 3 [
|
|
|
|
(gogoproto.moretags) = "yaml:\"tx_logs\"",
|
|
|
|
(gogoproto.nullable) = false
|
|
|
|
];
|
|
|
|
// ret defines the bytes from the execution.
|
|
|
|
bytes ret = 4;
|
2021-04-18 15:54:18 +00:00
|
|
|
// reverted flag is set to true when the call has been reverted
|
|
|
|
bool reverted = 5;
|
2021-01-07 21:45:32 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
// SigCache is used to cache the derived sender and contains the signer used
|
|
|
|
// to derive it.
|
|
|
|
message SigCache {
|
|
|
|
option (gogoproto.goproto_getters) = false;
|
|
|
|
|
|
|
|
EIP155Signer signer = 1;
|
2021-04-18 15:54:18 +00:00
|
|
|
bytes address = 2;
|
2021-01-07 21:45:32 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
// EIP155Transaction implements Signer using the EIP155 rules.
|
|
|
|
message EIP155Signer {
|
|
|
|
option (gogoproto.goproto_getters) = false;
|
|
|
|
|
|
|
|
bytes chain_id = 1 [(gogoproto.customname) = "chainId"];
|
|
|
|
bytes chain_id_mul = 2 [(gogoproto.customname) = "chainIdMul"];
|
2021-04-18 15:54:18 +00:00
|
|
|
}
|