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 }