syntax = "proto3";
package ethermint.types.v1;

import "gogoproto/gogo.proto";

option go_package = "github.com/tharsis/ethermint/types";

message ExtensionOptionsWeb3Tx {
  option (gogoproto.goproto_getters) = false;

  // typed data chain id used only in EIP712 Domain and should match
  // Ethereum network ID in a Web3 provider (e.g. Metamask).
  uint64 typed_data_chain_id = 1 [
    (gogoproto.jsontag) = "typedDataChainID,omitempty",
    (gogoproto.customname) = "TypedDataChainID"
  ];

  // fee payer is an account address for the fee payer. It will be validated
  // during EIP712 signature checking.
  string fee_payer         = 2 [(gogoproto.jsontag) = "feePayer,omitempty"];

  // fee payer sig is a signature data from the fee paying account,
  // allows to perform fee delegation when using EIP712 Domain.
  bytes fee_payer_sig       = 3 [(gogoproto.jsontag) = "feePayerSig,omitempty"];
}
