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

import "wormhole/guardian.proto";
import "gogoproto/gogo.proto";
option go_package = "github.com/wormhole-foundation/wormchain/x/wormhole/types";

// GuardianSetUpdateProposal defines a guardian set update governance proposal
message GuardianSetUpdateProposal {
  option (gogoproto.equal)            = true;
  option (gogoproto.goproto_stringer) = false;

  string title       = 1;
  string description = 2;
  GuardianSet newGuardianSet = 3 [(gogoproto.nullable) = false];
}

// GovernanceWormholeMessageProposal defines a governance proposal to emit a generic message in the governance message
// format.
message GovernanceWormholeMessageProposal {
  option (gogoproto.equal)            = true;
  option (gogoproto.goproto_stringer) = false;

  string title       = 1;
  string description = 2;
  uint32 action = 3;
  bytes module = 4;
  uint32 targetChain = 5;
  bytes payload = 6;
}
