github.com/Finschia/finschia-sdk@v0.48.1/proto/cosmos/staking/v1beta1/tx.proto (about)

     1  syntax = "proto3";
     2  package cosmos.staking.v1beta1;
     3  
     4  import "google/protobuf/any.proto";
     5  import "google/protobuf/timestamp.proto";
     6  import "gogoproto/gogo.proto";
     7  
     8  import "cosmos_proto/cosmos.proto";
     9  import "cosmos/base/v1beta1/coin.proto";
    10  import "cosmos/staking/v1beta1/staking.proto";
    11  
    12  option go_package = "github.com/Finschia/finschia-sdk/x/staking/types";
    13  
    14  // Msg defines the staking Msg service.
    15  service Msg {
    16    // CreateValidator defines a method for creating a new validator.
    17    rpc CreateValidator(MsgCreateValidator) returns (MsgCreateValidatorResponse);
    18  
    19    // EditValidator defines a method for editing an existing validator.
    20    rpc EditValidator(MsgEditValidator) returns (MsgEditValidatorResponse);
    21  
    22    // Delegate defines a method for performing a delegation of coins
    23    // from a delegator to a validator.
    24    rpc Delegate(MsgDelegate) returns (MsgDelegateResponse);
    25  
    26    // BeginRedelegate defines a method for performing a redelegation
    27    // of coins from a delegator and source validator to a destination validator.
    28    rpc BeginRedelegate(MsgBeginRedelegate) returns (MsgBeginRedelegateResponse);
    29  
    30    // Undelegate defines a method for performing an undelegation from a
    31    // delegate and a validator.
    32    rpc Undelegate(MsgUndelegate) returns (MsgUndelegateResponse);
    33  }
    34  
    35  // MsgCreateValidator defines a SDK message for creating a new validator.
    36  message MsgCreateValidator {
    37    option (gogoproto.equal)           = false;
    38    option (gogoproto.goproto_getters) = false;
    39  
    40    Description     description         = 1 [(gogoproto.nullable) = false];
    41    CommissionRates commission          = 2 [(gogoproto.nullable) = false];
    42    string          min_self_delegation = 3 [
    43      (gogoproto.customtype) = "github.com/Finschia/finschia-sdk/types.Int",
    44      (gogoproto.moretags)   = "yaml:\"min_self_delegation\"",
    45      (gogoproto.nullable)   = false
    46    ];
    47    string                   delegator_address = 4 [(gogoproto.moretags) = "yaml:\"delegator_address\""];
    48    string                   validator_address = 5 [(gogoproto.moretags) = "yaml:\"validator_address\""];
    49    google.protobuf.Any      pubkey            = 6 [(cosmos_proto.accepts_interface) = "cosmos.crypto.PubKey"];
    50    cosmos.base.v1beta1.Coin value             = 7 [(gogoproto.nullable) = false];
    51  }
    52  
    53  // MsgCreateValidatorResponse defines the Msg/CreateValidator response type.
    54  message MsgCreateValidatorResponse {}
    55  
    56  // MsgEditValidator defines a SDK message for editing an existing validator.
    57  message MsgEditValidator {
    58    option (gogoproto.equal)           = false;
    59    option (gogoproto.goproto_getters) = false;
    60  
    61    Description description       = 1 [(gogoproto.nullable) = false];
    62    string      validator_address = 2 [(gogoproto.moretags) = "yaml:\"address\""];
    63  
    64    // We pass a reference to the new commission rate and min self delegation as
    65    // it's not mandatory to update. If not updated, the deserialized rate will be
    66    // zero with no way to distinguish if an update was intended.
    67    // REF: #2373
    68    string commission_rate = 3
    69        [(gogoproto.customtype) = "github.com/Finschia/finschia-sdk/types.Dec", (gogoproto.moretags) = "yaml:\"commission_rate\""];
    70    string min_self_delegation = 4 [
    71      (gogoproto.customtype) = "github.com/Finschia/finschia-sdk/types.Int",
    72      (gogoproto.moretags)   = "yaml:\"min_self_delegation\""
    73    ];
    74  }
    75  
    76  // MsgEditValidatorResponse defines the Msg/EditValidator response type.
    77  message MsgEditValidatorResponse {}
    78  
    79  // MsgDelegate defines a SDK message for performing a delegation of coins
    80  // from a delegator to a validator.
    81  message MsgDelegate {
    82    option (gogoproto.equal) = false;
    83  
    84    string                   delegator_address = 1 [(gogoproto.moretags) = "yaml:\"delegator_address\""];
    85    string                   validator_address = 2 [(gogoproto.moretags) = "yaml:\"validator_address\""];
    86    cosmos.base.v1beta1.Coin amount            = 3 [(gogoproto.nullable) = false];
    87  }
    88  
    89  // MsgDelegateResponse defines the Msg/Delegate response type.
    90  message MsgDelegateResponse {}
    91  
    92  // MsgBeginRedelegate defines a SDK message for performing a redelegation
    93  // of coins from a delegator and source validator to a destination validator.
    94  message MsgBeginRedelegate {
    95    option (gogoproto.equal) = false;
    96  
    97    string                   delegator_address     = 1 [(gogoproto.moretags) = "yaml:\"delegator_address\""];
    98    string                   validator_src_address = 2 [(gogoproto.moretags) = "yaml:\"validator_src_address\""];
    99    string                   validator_dst_address = 3 [(gogoproto.moretags) = "yaml:\"validator_dst_address\""];
   100    cosmos.base.v1beta1.Coin amount                = 4 [(gogoproto.nullable) = false];
   101  }
   102  
   103  // MsgBeginRedelegateResponse defines the Msg/BeginRedelegate response type.
   104  message MsgBeginRedelegateResponse {
   105    google.protobuf.Timestamp completion_time = 1 [(gogoproto.nullable) = false, (gogoproto.stdtime) = true];
   106  }
   107  
   108  // MsgUndelegate defines a SDK message for performing an undelegation from a
   109  // delegate and a validator.
   110  message MsgUndelegate {
   111    option (gogoproto.equal) = false;
   112  
   113    string                   delegator_address = 1 [(gogoproto.moretags) = "yaml:\"delegator_address\""];
   114    string                   validator_address = 2 [(gogoproto.moretags) = "yaml:\"validator_address\""];
   115    cosmos.base.v1beta1.Coin amount            = 3 [(gogoproto.nullable) = false];
   116  }
   117  
   118  // MsgUndelegateResponse defines the Msg/Undelegate response type.
   119  message MsgUndelegateResponse {
   120    google.protobuf.Timestamp completion_time = 1 [(gogoproto.nullable) = false, (gogoproto.stdtime) = true];
   121  }