syntax = "proto3";
package wormhole_foundation.wormchain.wormhole;

option go_package = "github.com/wormhole-foundation/wormchain/x/wormhole/types";

import "gogoproto/gogo.proto";

message GuardianKey {
  bytes key = 1;
}

message GuardianValidator {
  bytes guardianKey = 1;
  bytes validatorAddr = 2;
}

message GuardianSet {
  option (gogoproto.equal) = true;
  uint32 index = 1;
  repeated bytes keys = 2;
  uint64 expirationTime = 3;
}

message ValidatorAllowedAddress {
  // the validator/guardian that controls this entry
  string validator_address = 1;
  // the allowlisted account
  string allowed_address = 2;
  // human readable name
  string name = 3;
}

message WasmInstantiateAllowedContractCodeId {
  // bech32 address of the contract that can call wasm instantiate without a VAA
  string contract_address = 1;
  // reference to the stored WASM code that can be instantiated
  uint64 code_id = 2;
}

message IbcComposabilityMwContract {
  // bech32 address of the contract that is used by the ibc composability middleware
  string contract_address = 1;
}
