syntax = "proto3";
package provenance.msgfees.v1;

option go_package          = "github.com/provenance-io/provenance/x/msgfees/types";
option java_package        = "io.provenance.msgfees.v1";
option java_multiple_files = true;

import "gogoproto/gogo.proto";
import "cosmos/base/v1beta1/coin.proto";

// AddMsgFeeProposal defines a governance proposal to add additional msg based fee
// Deprecated: This message is no longer usable. It is only still included for
// backwards compatibility (e.g. looking up old governance proposals).
// It is replaced by providing a MsgAddMsgFeeProposalRequest in a governance proposal.
message AddMsgFeeProposal {
  option deprecated = true;

  // propsal title
  string title = 1;
  // propsal description
  string description = 2;

  // type url of msg to add fee
  string msg_type_url = 3;

  // additional fee for msg type
  cosmos.base.v1beta1.Coin additional_fee = 4 [(gogoproto.nullable) = false];

  // optional recipient to recieve basis points
  string recipient = 5;
  // basis points to use when recipient is present (1 - 10,000)
  string recipient_basis_points = 6;
}

// UpdateMsgFeeProposal defines a governance proposal to update a current msg based fee
// Deprecated: This message is no longer usable. It is only still included for
// backwards compatibility (e.g. looking up old governance proposals).
// It is replaced by providing a MsgUpdateMsgFeeProposalRequest in a governance proposal.
message UpdateMsgFeeProposal {
  option deprecated = true;

  // propsal title
  string title = 1;
  // propsal description
  string description = 2;
  // type url of msg to update fee
  string msg_type_url = 3;

  // additional fee for msg type
  cosmos.base.v1beta1.Coin additional_fee = 4 [(gogoproto.nullable) = false];
  // optional recipient to recieve basis points
  string recipient = 5;
  // basis points to use when recipient is present (1 - 10,000)
  string recipient_basis_points = 6;
}

// RemoveMsgFeeProposal defines a governance proposal to delete a current msg based fee
// Deprecated: This message is no longer usable. It is only still included for
// backwards compatibility (e.g. looking up old governance proposals).
// It is replaced by providing a MsgRemoveMsgFeeProposalRequest in a governance proposal.
message RemoveMsgFeeProposal {
  option deprecated = true;

  // propsal title
  string title = 1;
  // propsal description
  string description = 2;
  // type url of msg fee to remove
  string msg_type_url = 3;
}

// UpdateNhashPerUsdMilProposal defines a governance proposal to update the nhash per usd mil param
// Deprecated: This message is no longer usable. It is only still included for
// backwards compatibility (e.g. looking up old governance proposals).
// It is replaced by providing a MsgUpdateNhashPerUsdMilProposalRequest in a governance proposal.
message UpdateNhashPerUsdMilProposal {
  option deprecated = true;

  string title       = 1; // proposal title
  string description = 2; // proposal description
  // nhash_per_usd_mil is number of nhash per usd mil
  uint64 nhash_per_usd_mil = 3;
}

// UpdateConversionFeeDenomProposal defines a governance proposal to update the msg fee conversion denom
// Deprecated: This message is no longer usable. It is only still included for
// backwards compatibility (e.g. looking up old governance proposals).
// It is replaced by providing a MsgUpdateConversionFeeDenomProposalRequest in a governance proposal.
message UpdateConversionFeeDenomProposal {
  option deprecated = true;

  string title       = 1; // proposal title
  string description = 2; // proposal description
  // conversion_fee_denom is the denom that usd will be converted to
  string conversion_fee_denom = 4;
}