2022-01-08 01:59:34 +00:00
|
|
|
syntax = "proto3";
|
|
|
|
package cosmos.distribution.v1beta1;
|
|
|
|
|
|
|
|
option go_package = "github.com/cosmos/cosmos-sdk/x/distribution/types";
|
|
|
|
option (gogoproto.equal_all) = true;
|
|
|
|
|
|
|
|
import "gogoproto/gogo.proto";
|
|
|
|
import "cosmos/base/v1beta1/coin.proto";
|
2023-04-04 00:08:45 +00:00
|
|
|
import "cosmos_proto/cosmos.proto";
|
|
|
|
import "cosmos/msg/v1/msg.proto";
|
2024-02-06 22:54:10 +00:00
|
|
|
import "amino/amino.proto";
|
|
|
|
import "cosmos/distribution/v1beta1/distribution.proto";
|
2022-01-08 01:59:34 +00:00
|
|
|
|
|
|
|
// Msg defines the distribution Msg service.
|
|
|
|
service Msg {
|
2024-02-06 22:54:10 +00:00
|
|
|
option (cosmos.msg.v1.service) = true;
|
|
|
|
|
2022-01-08 01:59:34 +00:00
|
|
|
// SetWithdrawAddress defines a method to change the withdraw address
|
|
|
|
// for a delegator (or validator self-delegation).
|
|
|
|
rpc SetWithdrawAddress(MsgSetWithdrawAddress) returns (MsgSetWithdrawAddressResponse);
|
|
|
|
|
|
|
|
// WithdrawDelegatorReward defines a method to withdraw rewards of delegator
|
|
|
|
// from a single validator.
|
|
|
|
rpc WithdrawDelegatorReward(MsgWithdrawDelegatorReward) returns (MsgWithdrawDelegatorRewardResponse);
|
|
|
|
|
|
|
|
// WithdrawValidatorCommission defines a method to withdraw the
|
|
|
|
// full commission to the validator address.
|
|
|
|
rpc WithdrawValidatorCommission(MsgWithdrawValidatorCommission) returns (MsgWithdrawValidatorCommissionResponse);
|
|
|
|
|
|
|
|
// FundCommunityPool defines a method to allow an account to directly
|
|
|
|
// fund the community pool.
|
|
|
|
rpc FundCommunityPool(MsgFundCommunityPool) returns (MsgFundCommunityPoolResponse);
|
2024-02-06 22:54:10 +00:00
|
|
|
|
|
|
|
// UpdateParams defines a governance operation for updating the x/distribution
|
|
|
|
// module parameters. The authority is defined in the keeper.
|
|
|
|
//
|
|
|
|
// Since: cosmos-sdk 0.47
|
|
|
|
rpc UpdateParams(MsgUpdateParams) returns (MsgUpdateParamsResponse);
|
|
|
|
|
|
|
|
// CommunityPoolSpend defines a governance operation for sending tokens from
|
|
|
|
// the community pool in the x/distribution module to another account, which
|
|
|
|
// could be the governance module itself. The authority is defined in the
|
|
|
|
// keeper.
|
|
|
|
//
|
|
|
|
// Since: cosmos-sdk 0.47
|
|
|
|
rpc CommunityPoolSpend(MsgCommunityPoolSpend) returns (MsgCommunityPoolSpendResponse);
|
2022-01-08 01:59:34 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
// MsgSetWithdrawAddress sets the withdraw address for
|
|
|
|
// a delegator (or validator self-delegation).
|
|
|
|
message MsgSetWithdrawAddress {
|
2023-04-04 00:08:45 +00:00
|
|
|
option (cosmos.msg.v1.signer) = "delegator_address";
|
2024-02-06 22:54:10 +00:00
|
|
|
option (amino.name) = "cosmos-sdk/MsgModifyWithdrawAddress";
|
2023-04-04 00:08:45 +00:00
|
|
|
|
2022-01-08 01:59:34 +00:00
|
|
|
option (gogoproto.equal) = false;
|
|
|
|
option (gogoproto.goproto_getters) = false;
|
|
|
|
|
2023-04-04 00:08:45 +00:00
|
|
|
string delegator_address = 1 [(cosmos_proto.scalar) = "cosmos.AddressString"];
|
|
|
|
string withdraw_address = 2 [(cosmos_proto.scalar) = "cosmos.AddressString"];
|
2022-01-08 01:59:34 +00:00
|
|
|
}
|
|
|
|
|
2024-02-06 22:54:10 +00:00
|
|
|
// MsgSetWithdrawAddressResponse defines the Msg/SetWithdrawAddress response
|
|
|
|
// type.
|
2022-01-08 01:59:34 +00:00
|
|
|
message MsgSetWithdrawAddressResponse {}
|
|
|
|
|
|
|
|
// MsgWithdrawDelegatorReward represents delegation withdrawal to a delegator
|
|
|
|
// from a single validator.
|
|
|
|
message MsgWithdrawDelegatorReward {
|
2023-04-04 00:08:45 +00:00
|
|
|
option (cosmos.msg.v1.signer) = "delegator_address";
|
2024-02-06 22:54:10 +00:00
|
|
|
option (amino.name) = "cosmos-sdk/MsgWithdrawDelegationReward";
|
2023-04-04 00:08:45 +00:00
|
|
|
|
2022-01-08 01:59:34 +00:00
|
|
|
option (gogoproto.equal) = false;
|
|
|
|
option (gogoproto.goproto_getters) = false;
|
|
|
|
|
2023-04-04 00:08:45 +00:00
|
|
|
string delegator_address = 1 [(cosmos_proto.scalar) = "cosmos.AddressString"];
|
|
|
|
string validator_address = 2 [(cosmos_proto.scalar) = "cosmos.AddressString"];
|
2022-01-08 01:59:34 +00:00
|
|
|
}
|
|
|
|
|
2024-02-06 22:54:10 +00:00
|
|
|
// MsgWithdrawDelegatorRewardResponse defines the Msg/WithdrawDelegatorReward
|
|
|
|
// response type.
|
2023-04-04 00:08:45 +00:00
|
|
|
message MsgWithdrawDelegatorRewardResponse {
|
|
|
|
// Since: cosmos-sdk 0.46
|
2024-02-06 22:54:10 +00:00
|
|
|
repeated cosmos.base.v1beta1.Coin amount = 1 [
|
|
|
|
(gogoproto.nullable) = false,
|
|
|
|
(amino.dont_omitempty) = true,
|
|
|
|
(gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.Coins"
|
|
|
|
];
|
2023-04-04 00:08:45 +00:00
|
|
|
}
|
2022-01-08 01:59:34 +00:00
|
|
|
|
|
|
|
// MsgWithdrawValidatorCommission withdraws the full commission to the validator
|
|
|
|
// address.
|
|
|
|
message MsgWithdrawValidatorCommission {
|
2023-04-04 00:08:45 +00:00
|
|
|
option (cosmos.msg.v1.signer) = "validator_address";
|
2024-02-06 22:54:10 +00:00
|
|
|
option (amino.name) = "cosmos-sdk/MsgWithdrawValCommission";
|
2023-04-04 00:08:45 +00:00
|
|
|
|
2022-01-08 01:59:34 +00:00
|
|
|
option (gogoproto.equal) = false;
|
|
|
|
option (gogoproto.goproto_getters) = false;
|
|
|
|
|
2023-04-04 00:08:45 +00:00
|
|
|
string validator_address = 1 [(cosmos_proto.scalar) = "cosmos.AddressString"];
|
2022-01-08 01:59:34 +00:00
|
|
|
}
|
|
|
|
|
2024-02-06 22:54:10 +00:00
|
|
|
// MsgWithdrawValidatorCommissionResponse defines the
|
|
|
|
// Msg/WithdrawValidatorCommission response type.
|
2023-04-04 00:08:45 +00:00
|
|
|
message MsgWithdrawValidatorCommissionResponse {
|
|
|
|
// Since: cosmos-sdk 0.46
|
2024-02-06 22:54:10 +00:00
|
|
|
repeated cosmos.base.v1beta1.Coin amount = 1 [
|
|
|
|
(gogoproto.nullable) = false,
|
|
|
|
(amino.dont_omitempty) = true,
|
|
|
|
(gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.Coins"
|
|
|
|
];
|
2023-04-04 00:08:45 +00:00
|
|
|
}
|
2022-01-08 01:59:34 +00:00
|
|
|
|
|
|
|
// MsgFundCommunityPool allows an account to directly
|
|
|
|
// fund the community pool.
|
|
|
|
message MsgFundCommunityPool {
|
2023-04-04 00:08:45 +00:00
|
|
|
option (cosmos.msg.v1.signer) = "depositor";
|
2024-02-06 22:54:10 +00:00
|
|
|
option (amino.name) = "cosmos-sdk/MsgFundCommunityPool";
|
2023-04-04 00:08:45 +00:00
|
|
|
|
2022-01-08 01:59:34 +00:00
|
|
|
option (gogoproto.equal) = false;
|
|
|
|
option (gogoproto.goproto_getters) = false;
|
|
|
|
|
2024-02-06 22:54:10 +00:00
|
|
|
repeated cosmos.base.v1beta1.Coin amount = 1 [
|
|
|
|
(gogoproto.nullable) = false,
|
|
|
|
(amino.dont_omitempty) = true,
|
|
|
|
(gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.Coins"
|
|
|
|
];
|
2023-04-04 00:08:45 +00:00
|
|
|
string depositor = 2 [(cosmos_proto.scalar) = "cosmos.AddressString"];
|
2022-01-08 01:59:34 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
// MsgFundCommunityPoolResponse defines the Msg/FundCommunityPool response type.
|
|
|
|
message MsgFundCommunityPoolResponse {}
|
2024-02-06 22:54:10 +00:00
|
|
|
|
|
|
|
// MsgUpdateParams is the Msg/UpdateParams request type.
|
|
|
|
//
|
|
|
|
// Since: cosmos-sdk 0.47
|
|
|
|
message MsgUpdateParams {
|
|
|
|
option (cosmos.msg.v1.signer) = "authority";
|
|
|
|
option (amino.name) = "cosmos-sdk/distribution/MsgUpdateParams";
|
|
|
|
|
|
|
|
// authority is the address that controls the module (defaults to x/gov unless overwritten).
|
|
|
|
string authority = 1 [(cosmos_proto.scalar) = "cosmos.AddressString"];
|
|
|
|
|
|
|
|
// params defines the x/distribution parameters to update.
|
|
|
|
//
|
|
|
|
// NOTE: All parameters must be supplied.
|
|
|
|
Params params = 2 [(gogoproto.nullable) = false, (amino.dont_omitempty) = true];
|
|
|
|
}
|
|
|
|
|
|
|
|
// MsgUpdateParamsResponse defines the response structure for executing a
|
|
|
|
// MsgUpdateParams message.
|
|
|
|
//
|
|
|
|
// Since: cosmos-sdk 0.47
|
|
|
|
message MsgUpdateParamsResponse {}
|
|
|
|
|
|
|
|
// MsgCommunityPoolSpend defines a message for sending tokens from the community
|
|
|
|
// pool to another account. This message is typically executed via a governance
|
|
|
|
// proposal with the governance module being the executing authority.
|
|
|
|
//
|
|
|
|
// Since: cosmos-sdk 0.47
|
|
|
|
message MsgCommunityPoolSpend {
|
|
|
|
option (cosmos.msg.v1.signer) = "authority";
|
|
|
|
option (amino.name) = "cosmos-sdk/distr/MsgCommunityPoolSpend";
|
|
|
|
|
|
|
|
// authority is the address that controls the module (defaults to x/gov unless overwritten).
|
|
|
|
string authority = 1 [(cosmos_proto.scalar) = "cosmos.AddressString"];
|
|
|
|
string recipient = 2;
|
|
|
|
repeated cosmos.base.v1beta1.Coin amount = 3 [
|
|
|
|
(gogoproto.nullable) = false,
|
|
|
|
(amino.dont_omitempty) = true,
|
|
|
|
(gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.Coins"
|
|
|
|
];
|
|
|
|
}
|
|
|
|
|
|
|
|
// MsgCommunityPoolSpendResponse defines the response to executing a
|
|
|
|
// MsgCommunityPoolSpend message.
|
|
|
|
//
|
|
|
|
// Since: cosmos-sdk 0.47
|
|
|
|
message MsgCommunityPoolSpendResponse {}
|