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

import "cosmos/auth/v1beta1/auth.proto";
import "cosmos_proto/cosmos.proto";
import "gogoproto/gogo.proto";

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

// EthAccount implements the authtypes.AccountI interface and embeds an
// authtypes.BaseAccount type. It is compatible with the auth AccountKeeper.
message EthAccount {
  option (gogoproto.goproto_getters)  = false;
  option (gogoproto.goproto_stringer) = false;
  option (gogoproto.equal)            = false;

  option (cosmos_proto.implements_interface) = "github.com/cosmos/cosmos-sdk/x/auth/types.AccountI";

  cosmos.auth.v1beta1.BaseAccount base_account = 1
      [(gogoproto.embed) = true, (gogoproto.moretags) = "yaml:\"base_account\""];
  string code_hash = 2 [(gogoproto.moretags) = "yaml:\"code_hash\""];
}
