fix: return undelegate amount with MsgUndelegateResponse (#14590)
Closes https://github.com/cosmos/cosmos-sdk/issues/14153
This commit is contained in:
@@ -135,6 +135,7 @@ Ref: https://keepachangelog.com/en/1.0.0/
|
||||
* (store) [#14439](https://github.com/cosmos/cosmos-sdk/pull/14439) Remove global metric gatherer from store.
|
||||
* By default store has a no op metric gatherer, the application developer must set another metric gatherer or us the provided one in `store/metrics`.
|
||||
* [#14406](https://github.com/cosmos/cosmos-sdk/issues/14406) Migrate usage of types/store.go to store/types/..
|
||||
* (x/staking) [#14590](https://github.com/cosmos/cosmos-sdk/pull/14590) Return undelegate amount in MsgUndelegateResponse
|
||||
|
||||
### State Machine Breaking
|
||||
|
||||
@@ -161,6 +162,7 @@ Ref: https://keepachangelog.com/en/1.0.0/
|
||||
* (x/group) [#13876](https://github.com/cosmos/cosmos-sdk/pull/13876) Fix group MinExecutionPeriod that is checked on execution now, instead of voting period end.
|
||||
* (x/feegrant) [#14294](https://github.com/cosmos/cosmos-sdk/pull/14294) Moved the logic of rejecting duplicate grant from `msg_server` to `keeper` method.
|
||||
* (store) [#14378](https://github.com/cosmos/cosmos-sdk/pull/14378) The `CacheKV` store is thread-safe again, which includes improved iteration and deletion logic. Iteration is on a strictly isolated view now, which is breaking from previous behavior.
|
||||
* (x/staking) [#14590](https://github.com/cosmos/cosmos-sdk/pull/14590) `MsgUndelegateResponse` now includes undelegated amount. `x/staking` module's `keeper.Undelegate` now returns 3 values (completionTime,undelegateAmount,error) instead of 2.
|
||||
|
||||
### API Breaking Changes
|
||||
|
||||
@@ -226,6 +228,7 @@ extension interfaces. `module.Manager.Modules` is now of type `map[string]interf
|
||||
* (snapshots) [14048](https://github.com/cosmos/cosmos-sdk/pull/14048) Move the Snapshot package to the store package. This is done in an effort group all storage related logic under one package.
|
||||
* (baseapp) [#14050](https://github.com/cosmos/cosmos-sdk/pull/14050) refactor `ABCIListener` interface to accept go contexts
|
||||
* (store/streaming)[#14603](https://github.com/cosmos/cosmos-sdk/pull/14603) `StoreDecoderRegistry` moved from store to `types/simulations` this breaks the `AppModuleSimulation` interface.
|
||||
* (x/staking) [#14590](https://github.com/cosmos/cosmos-sdk/pull/14590) `MsgUndelegateResponse` now includes undelegated amount. `x/staking` module's `keeper.Undelegate` now returns 3 values (completionTime,undelegateAmount,error) instead of 2.
|
||||
|
||||
### Client Breaking Changes
|
||||
|
||||
|
||||
@@ -4769,12 +4769,14 @@ func (x *fastReflection_MsgUndelegate) ProtoMethods() *protoiface.Methods {
|
||||
var (
|
||||
md_MsgUndelegateResponse protoreflect.MessageDescriptor
|
||||
fd_MsgUndelegateResponse_completion_time protoreflect.FieldDescriptor
|
||||
fd_MsgUndelegateResponse_amount protoreflect.FieldDescriptor
|
||||
)
|
||||
|
||||
func init() {
|
||||
file_cosmos_staking_v1beta1_tx_proto_init()
|
||||
md_MsgUndelegateResponse = File_cosmos_staking_v1beta1_tx_proto.Messages().ByName("MsgUndelegateResponse")
|
||||
fd_MsgUndelegateResponse_completion_time = md_MsgUndelegateResponse.Fields().ByName("completion_time")
|
||||
fd_MsgUndelegateResponse_amount = md_MsgUndelegateResponse.Fields().ByName("amount")
|
||||
}
|
||||
|
||||
var _ protoreflect.Message = (*fastReflection_MsgUndelegateResponse)(nil)
|
||||
@@ -4848,6 +4850,12 @@ func (x *fastReflection_MsgUndelegateResponse) Range(f func(protoreflect.FieldDe
|
||||
return
|
||||
}
|
||||
}
|
||||
if x.Amount != nil {
|
||||
value := protoreflect.ValueOfMessage(x.Amount.ProtoReflect())
|
||||
if !f(fd_MsgUndelegateResponse_amount, value) {
|
||||
return
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Has reports whether a field is populated.
|
||||
@@ -4865,6 +4873,8 @@ func (x *fastReflection_MsgUndelegateResponse) Has(fd protoreflect.FieldDescript
|
||||
switch fd.FullName() {
|
||||
case "cosmos.staking.v1beta1.MsgUndelegateResponse.completion_time":
|
||||
return x.CompletionTime != nil
|
||||
case "cosmos.staking.v1beta1.MsgUndelegateResponse.amount":
|
||||
return x.Amount != nil
|
||||
default:
|
||||
if fd.IsExtension() {
|
||||
panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgUndelegateResponse"))
|
||||
@@ -4883,6 +4893,8 @@ func (x *fastReflection_MsgUndelegateResponse) Clear(fd protoreflect.FieldDescri
|
||||
switch fd.FullName() {
|
||||
case "cosmos.staking.v1beta1.MsgUndelegateResponse.completion_time":
|
||||
x.CompletionTime = nil
|
||||
case "cosmos.staking.v1beta1.MsgUndelegateResponse.amount":
|
||||
x.Amount = nil
|
||||
default:
|
||||
if fd.IsExtension() {
|
||||
panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgUndelegateResponse"))
|
||||
@@ -4902,6 +4914,9 @@ func (x *fastReflection_MsgUndelegateResponse) Get(descriptor protoreflect.Field
|
||||
case "cosmos.staking.v1beta1.MsgUndelegateResponse.completion_time":
|
||||
value := x.CompletionTime
|
||||
return protoreflect.ValueOfMessage(value.ProtoReflect())
|
||||
case "cosmos.staking.v1beta1.MsgUndelegateResponse.amount":
|
||||
value := x.Amount
|
||||
return protoreflect.ValueOfMessage(value.ProtoReflect())
|
||||
default:
|
||||
if descriptor.IsExtension() {
|
||||
panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgUndelegateResponse"))
|
||||
@@ -4924,6 +4939,8 @@ func (x *fastReflection_MsgUndelegateResponse) Set(fd protoreflect.FieldDescript
|
||||
switch fd.FullName() {
|
||||
case "cosmos.staking.v1beta1.MsgUndelegateResponse.completion_time":
|
||||
x.CompletionTime = value.Message().Interface().(*timestamppb.Timestamp)
|
||||
case "cosmos.staking.v1beta1.MsgUndelegateResponse.amount":
|
||||
x.Amount = value.Message().Interface().(*v1beta1.Coin)
|
||||
default:
|
||||
if fd.IsExtension() {
|
||||
panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgUndelegateResponse"))
|
||||
@@ -4949,6 +4966,11 @@ func (x *fastReflection_MsgUndelegateResponse) Mutable(fd protoreflect.FieldDesc
|
||||
x.CompletionTime = new(timestamppb.Timestamp)
|
||||
}
|
||||
return protoreflect.ValueOfMessage(x.CompletionTime.ProtoReflect())
|
||||
case "cosmos.staking.v1beta1.MsgUndelegateResponse.amount":
|
||||
if x.Amount == nil {
|
||||
x.Amount = new(v1beta1.Coin)
|
||||
}
|
||||
return protoreflect.ValueOfMessage(x.Amount.ProtoReflect())
|
||||
default:
|
||||
if fd.IsExtension() {
|
||||
panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgUndelegateResponse"))
|
||||
@@ -4965,6 +4987,9 @@ func (x *fastReflection_MsgUndelegateResponse) NewField(fd protoreflect.FieldDes
|
||||
case "cosmos.staking.v1beta1.MsgUndelegateResponse.completion_time":
|
||||
m := new(timestamppb.Timestamp)
|
||||
return protoreflect.ValueOfMessage(m.ProtoReflect())
|
||||
case "cosmos.staking.v1beta1.MsgUndelegateResponse.amount":
|
||||
m := new(v1beta1.Coin)
|
||||
return protoreflect.ValueOfMessage(m.ProtoReflect())
|
||||
default:
|
||||
if fd.IsExtension() {
|
||||
panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgUndelegateResponse"))
|
||||
@@ -5038,6 +5063,10 @@ func (x *fastReflection_MsgUndelegateResponse) ProtoMethods() *protoiface.Method
|
||||
l = options.Size(x.CompletionTime)
|
||||
n += 1 + l + runtime.Sov(uint64(l))
|
||||
}
|
||||
if x.Amount != nil {
|
||||
l = options.Size(x.Amount)
|
||||
n += 1 + l + runtime.Sov(uint64(l))
|
||||
}
|
||||
if x.unknownFields != nil {
|
||||
n += len(x.unknownFields)
|
||||
}
|
||||
@@ -5067,6 +5096,20 @@ func (x *fastReflection_MsgUndelegateResponse) ProtoMethods() *protoiface.Method
|
||||
i -= len(x.unknownFields)
|
||||
copy(dAtA[i:], x.unknownFields)
|
||||
}
|
||||
if x.Amount != nil {
|
||||
encoded, err := options.Marshal(x.Amount)
|
||||
if err != nil {
|
||||
return protoiface.MarshalOutput{
|
||||
NoUnkeyedLiterals: input.NoUnkeyedLiterals,
|
||||
Buf: input.Buf,
|
||||
}, err
|
||||
}
|
||||
i -= len(encoded)
|
||||
copy(dAtA[i:], encoded)
|
||||
i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded)))
|
||||
i--
|
||||
dAtA[i] = 0x12
|
||||
}
|
||||
if x.CompletionTime != nil {
|
||||
encoded, err := options.Marshal(x.CompletionTime)
|
||||
if err != nil {
|
||||
@@ -5166,6 +5209,42 @@ func (x *fastReflection_MsgUndelegateResponse) ProtoMethods() *protoiface.Method
|
||||
return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
|
||||
}
|
||||
iNdEx = postIndex
|
||||
case 2:
|
||||
if wireType != 2 {
|
||||
return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Amount", wireType)
|
||||
}
|
||||
var msglen int
|
||||
for shift := uint(0); ; shift += 7 {
|
||||
if shift >= 64 {
|
||||
return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
|
||||
}
|
||||
if iNdEx >= l {
|
||||
return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
|
||||
}
|
||||
b := dAtA[iNdEx]
|
||||
iNdEx++
|
||||
msglen |= int(b&0x7F) << shift
|
||||
if b < 0x80 {
|
||||
break
|
||||
}
|
||||
}
|
||||
if msglen < 0 {
|
||||
return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
|
||||
}
|
||||
postIndex := iNdEx + msglen
|
||||
if postIndex < 0 {
|
||||
return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
|
||||
}
|
||||
if postIndex > l {
|
||||
return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
|
||||
}
|
||||
if x.Amount == nil {
|
||||
x.Amount = &v1beta1.Coin{}
|
||||
}
|
||||
if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Amount); err != nil {
|
||||
return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
|
||||
}
|
||||
iNdEx = postIndex
|
||||
default:
|
||||
iNdEx = preIndex
|
||||
skippy, err := runtime.Skip(dAtA[iNdEx:])
|
||||
@@ -7046,7 +7125,7 @@ type MsgCreateValidator struct {
|
||||
Commission *CommissionRates `protobuf:"bytes,2,opt,name=commission,proto3" json:"commission,omitempty"`
|
||||
MinSelfDelegation string `protobuf:"bytes,3,opt,name=min_self_delegation,json=minSelfDelegation,proto3" json:"min_self_delegation,omitempty"`
|
||||
// Deprecated: Use of Delegator Address in MsgCreateValidator is deprecated.
|
||||
// The validator address and delegator address are always same while creating validator.
|
||||
// The validator address bytes and delegator address bytes refer to the same account while creating validator (defer only in bech32 notation).
|
||||
//
|
||||
// Deprecated: Do not use.
|
||||
DelegatorAddress string `protobuf:"bytes,4,opt,name=delegator_address,json=delegatorAddress,proto3" json:"delegator_address,omitempty"`
|
||||
@@ -7480,6 +7559,10 @@ type MsgUndelegateResponse struct {
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
CompletionTime *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=completion_time,json=completionTime,proto3" json:"completion_time,omitempty"`
|
||||
// amount returns the amount undelegated coins
|
||||
//
|
||||
// Since: cosmos-sdk 0.48
|
||||
Amount *v1beta1.Coin `protobuf:"bytes,2,opt,name=amount,proto3" json:"amount,omitempty"`
|
||||
}
|
||||
|
||||
func (x *MsgUndelegateResponse) Reset() {
|
||||
@@ -7509,6 +7592,13 @@ func (x *MsgUndelegateResponse) GetCompletionTime() *timestamppb.Timestamp {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (x *MsgUndelegateResponse) GetAmount() *v1beta1.Coin {
|
||||
if x != nil {
|
||||
return x.Amount
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// MsgCancelUnbondingDelegation defines the SDK message for performing a cancel unbonding delegation for delegator
|
||||
//
|
||||
// Since: cosmos-sdk 0.46
|
||||
@@ -7841,116 +7931,120 @@ var file_cosmos_staking_v1beta1_tx_proto_rawDesc = []byte{
|
||||
0x82, 0xe7, 0xb0, 0x2a, 0x11, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61,
|
||||
0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x8a, 0xe7, 0xb0, 0x2a, 0x18, 0x63, 0x6f, 0x73, 0x6d, 0x6f,
|
||||
0x73, 0x2d, 0x73, 0x64, 0x6b, 0x2f, 0x4d, 0x73, 0x67, 0x55, 0x6e, 0x64, 0x65, 0x6c, 0x65, 0x67,
|
||||
0x61, 0x74, 0x65, 0x22, 0x6b, 0x0a, 0x15, 0x4d, 0x73, 0x67, 0x55, 0x6e, 0x64, 0x65, 0x6c, 0x65,
|
||||
0x67, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x52, 0x0a, 0x0f,
|
||||
0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18,
|
||||
0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
|
||||
0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d,
|
||||
0x70, 0x42, 0x0d, 0xc8, 0xde, 0x1f, 0x00, 0x90, 0xdf, 0x1f, 0x01, 0xa8, 0xe7, 0xb0, 0x2a, 0x01,
|
||||
0x52, 0x0e, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65,
|
||||
0x22, 0xdf, 0x02, 0x0a, 0x1c, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x55, 0x6e,
|
||||
0x61, 0x74, 0x65, 0x22, 0xa9, 0x01, 0x0a, 0x15, 0x4d, 0x73, 0x67, 0x55, 0x6e, 0x64, 0x65, 0x6c,
|
||||
0x65, 0x67, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x52, 0x0a,
|
||||
0x0f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65,
|
||||
0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
|
||||
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61,
|
||||
0x6d, 0x70, 0x42, 0x0d, 0xc8, 0xde, 0x1f, 0x00, 0x90, 0xdf, 0x1f, 0x01, 0xa8, 0xe7, 0xb0, 0x2a,
|
||||
0x01, 0x52, 0x0e, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d,
|
||||
0x65, 0x12, 0x3c, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28,
|
||||
0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e,
|
||||
0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x42, 0x09, 0xc8, 0xde,
|
||||
0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x22,
|
||||
0xdf, 0x02, 0x0a, 0x1c, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x55, 0x6e, 0x62,
|
||||
0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e,
|
||||
0x12, 0x45, 0x0a, 0x11, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64,
|
||||
0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x18, 0xd2, 0xb4, 0x2d,
|
||||
0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53,
|
||||
0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x10, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72,
|
||||
0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x45, 0x0a, 0x11, 0x76, 0x61, 0x6c, 0x69, 0x64,
|
||||
0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01,
|
||||
0x28, 0x09, 0x42, 0x18, 0xd2, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41,
|
||||
0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x10, 0x76, 0x61,
|
||||
0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x3c,
|
||||
0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19,
|
||||
0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x62,
|
||||
0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8,
|
||||
0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x27, 0x0a, 0x0f,
|
||||
0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18,
|
||||
0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48,
|
||||
0x65, 0x69, 0x67, 0x68, 0x74, 0x3a, 0x4a, 0x88, 0xa0, 0x1f, 0x00, 0xe8, 0xa0, 0x1f, 0x00, 0x82,
|
||||
0xe7, 0xb0, 0x2a, 0x11, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64,
|
||||
0x64, 0x72, 0x65, 0x73, 0x73, 0x8a, 0xe7, 0xb0, 0x2a, 0x27, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73,
|
||||
0x2d, 0x73, 0x64, 0x6b, 0x2f, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x55, 0x6e,
|
||||
0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f,
|
||||
0x6e, 0x12, 0x45, 0x0a, 0x11, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61,
|
||||
0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x18, 0xd2, 0xb4,
|
||||
0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73,
|
||||
0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x10, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f,
|
||||
0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x45, 0x0a, 0x11, 0x76, 0x61, 0x6c, 0x69,
|
||||
0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20,
|
||||
0x01, 0x28, 0x09, 0x42, 0x18, 0xd2, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e,
|
||||
0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x10, 0x76,
|
||||
0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12,
|
||||
0x3c, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32,
|
||||
0x19, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31,
|
||||
0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00,
|
||||
0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x27, 0x0a,
|
||||
0x0f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74,
|
||||
0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e,
|
||||
0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x3a, 0x4a, 0x88, 0xa0, 0x1f, 0x00, 0xe8, 0xa0, 0x1f, 0x00,
|
||||
0x82, 0xe7, 0xb0, 0x2a, 0x11, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61,
|
||||
0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x8a, 0xe7, 0xb0, 0x2a, 0x27, 0x63, 0x6f, 0x73, 0x6d, 0x6f,
|
||||
0x73, 0x2d, 0x73, 0x64, 0x6b, 0x2f, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x55,
|
||||
0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69,
|
||||
0x6f, 0x6e, 0x22, 0x26, 0x0a, 0x24, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x55,
|
||||
0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69,
|
||||
0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xc5, 0x01, 0x0a, 0x0f, 0x4d,
|
||||
0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x36,
|
||||
0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28,
|
||||
0x09, 0x42, 0x18, 0xd2, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x64,
|
||||
0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x09, 0x61, 0x75, 0x74,
|
||||
0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73,
|
||||
0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e,
|
||||
0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e,
|
||||
0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a,
|
||||
0x01, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x3a, 0x37, 0x82, 0xe7, 0xb0, 0x2a, 0x09,
|
||||
0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x8a, 0xe7, 0xb0, 0x2a, 0x24, 0x63, 0x6f,
|
||||
0x73, 0x6d, 0x6f, 0x73, 0x2d, 0x73, 0x64, 0x6b, 0x2f, 0x78, 0x2f, 0x73, 0x74, 0x61, 0x6b, 0x69,
|
||||
0x6e, 0x67, 0x2f, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61,
|
||||
0x6d, 0x73, 0x22, 0x19, 0x0a, 0x17, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50,
|
||||
0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0x9d, 0x06,
|
||||
0x0a, 0x03, 0x4d, 0x73, 0x67, 0x12, 0x71, 0x0a, 0x0f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56,
|
||||
0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x2a, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f,
|
||||
0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61,
|
||||
0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x69, 0x64,
|
||||
0x61, 0x74, 0x6f, 0x72, 0x1a, 0x32, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74,
|
||||
0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x73,
|
||||
0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72,
|
||||
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x0d, 0x45, 0x64, 0x69, 0x74,
|
||||
0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x28, 0x2e, 0x63, 0x6f, 0x73, 0x6d,
|
||||
0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74,
|
||||
0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x64, 0x69, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61,
|
||||
0x74, 0x6f, 0x72, 0x1a, 0x30, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61,
|
||||
0x6e, 0x22, 0x26, 0x0a, 0x24, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x55, 0x6e,
|
||||
0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f,
|
||||
0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xc5, 0x01, 0x0a, 0x0f, 0x4d, 0x73,
|
||||
0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x36, 0x0a,
|
||||
0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
|
||||
0x42, 0x18, 0xd2, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x64, 0x64,
|
||||
0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68,
|
||||
0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18,
|
||||
0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73,
|
||||
0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50,
|
||||
0x61, 0x72, 0x61, 0x6d, 0x73, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01,
|
||||
0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x3a, 0x37, 0x82, 0xe7, 0xb0, 0x2a, 0x09, 0x61,
|
||||
0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x8a, 0xe7, 0xb0, 0x2a, 0x24, 0x63, 0x6f, 0x73,
|
||||
0x6d, 0x6f, 0x73, 0x2d, 0x73, 0x64, 0x6b, 0x2f, 0x78, 0x2f, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e,
|
||||
0x67, 0x2f, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d,
|
||||
0x73, 0x22, 0x19, 0x0a, 0x17, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61,
|
||||
0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0x9d, 0x06, 0x0a,
|
||||
0x03, 0x4d, 0x73, 0x67, 0x12, 0x71, 0x0a, 0x0f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x61,
|
||||
0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x2a, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73,
|
||||
0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31,
|
||||
0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61,
|
||||
0x74, 0x6f, 0x72, 0x1a, 0x32, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61,
|
||||
0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67,
|
||||
0x45, 0x64, 0x69, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73,
|
||||
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x08, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74,
|
||||
0x65, 0x12, 0x23, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69,
|
||||
0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x44, 0x65,
|
||||
0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x1a, 0x2b, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e,
|
||||
0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e,
|
||||
0x4d, 0x73, 0x67, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f,
|
||||
0x6e, 0x73, 0x65, 0x12, 0x71, 0x0a, 0x0f, 0x42, 0x65, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x64, 0x65,
|
||||
0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x12, 0x2a, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e,
|
||||
0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e,
|
||||
0x4d, 0x73, 0x67, 0x42, 0x65, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61,
|
||||
0x74, 0x65, 0x1a, 0x32, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b,
|
||||
0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x42,
|
||||
0x65, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x52, 0x65,
|
||||
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x0a, 0x55, 0x6e, 0x64, 0x65, 0x6c, 0x65,
|
||||
0x67, 0x61, 0x74, 0x65, 0x12, 0x25, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74,
|
||||
0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x73,
|
||||
0x67, 0x55, 0x6e, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x1a, 0x2d, 0x2e, 0x63, 0x6f,
|
||||
0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62,
|
||||
0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x6e, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61,
|
||||
0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x8f, 0x01, 0x0a, 0x19, 0x43,
|
||||
0x61, 0x6e, 0x63, 0x65, 0x6c, 0x55, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x65,
|
||||
0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x34, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f,
|
||||
0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x52,
|
||||
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x0d, 0x45, 0x64, 0x69, 0x74, 0x56,
|
||||
0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x28, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f,
|
||||
0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61,
|
||||
0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x55, 0x6e, 0x62, 0x6f, 0x6e,
|
||||
0x64, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x3c,
|
||||
0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e,
|
||||
0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x6e, 0x63, 0x65,
|
||||
0x6c, 0x55, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61,
|
||||
0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x0c,
|
||||
0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x27, 0x2e, 0x63,
|
||||
0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31,
|
||||
0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50,
|
||||
0x61, 0x72, 0x61, 0x6d, 0x73, 0x1a, 0x2f, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73,
|
||||
0x31, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x64, 0x69, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74,
|
||||
0x6f, 0x72, 0x1a, 0x30, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b,
|
||||
0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x45,
|
||||
0x64, 0x69, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70,
|
||||
0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x08, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65,
|
||||
0x12, 0x23, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e,
|
||||
0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x44, 0x65, 0x6c,
|
||||
0x65, 0x67, 0x61, 0x74, 0x65, 0x1a, 0x2b, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73,
|
||||
0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d,
|
||||
0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65,
|
||||
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x1a, 0x05, 0x80, 0xe7, 0xb0, 0x2a, 0x01, 0x42, 0xd7, 0x01,
|
||||
0x0a, 0x1a, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61,
|
||||
0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x07, 0x54, 0x78,
|
||||
0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x36, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73,
|
||||
0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73,
|
||||
0x2f, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31,
|
||||
0x3b, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xa2,
|
||||
0x02, 0x03, 0x43, 0x53, 0x58, 0xaa, 0x02, 0x16, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x53,
|
||||
0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02,
|
||||
0x16, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x5c,
|
||||
0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xe2, 0x02, 0x22, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73,
|
||||
0x5c, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31,
|
||||
0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x18, 0x43,
|
||||
0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x3a, 0x3a, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x3a, 0x3a,
|
||||
0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
0x73, 0x67, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
|
||||
0x73, 0x65, 0x12, 0x71, 0x0a, 0x0f, 0x42, 0x65, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x64, 0x65, 0x6c,
|
||||
0x65, 0x67, 0x61, 0x74, 0x65, 0x12, 0x2a, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73,
|
||||
0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d,
|
||||
0x73, 0x67, 0x42, 0x65, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74,
|
||||
0x65, 0x1a, 0x32, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69,
|
||||
0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x65,
|
||||
0x67, 0x69, 0x6e, 0x52, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73,
|
||||
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x0a, 0x55, 0x6e, 0x64, 0x65, 0x6c, 0x65, 0x67,
|
||||
0x61, 0x74, 0x65, 0x12, 0x25, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61,
|
||||
0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67,
|
||||
0x55, 0x6e, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x1a, 0x2d, 0x2e, 0x63, 0x6f, 0x73,
|
||||
0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65,
|
||||
0x74, 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x6e, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74,
|
||||
0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x8f, 0x01, 0x0a, 0x19, 0x43, 0x61,
|
||||
0x6e, 0x63, 0x65, 0x6c, 0x55, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x6c,
|
||||
0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x34, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73,
|
||||
0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31,
|
||||
0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x55, 0x6e, 0x62, 0x6f, 0x6e, 0x64,
|
||||
0x69, 0x6e, 0x67, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x3c, 0x2e,
|
||||
0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76,
|
||||
0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c,
|
||||
0x55, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74,
|
||||
0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x0c, 0x55,
|
||||
0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x27, 0x2e, 0x63, 0x6f,
|
||||
0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62,
|
||||
0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61,
|
||||
0x72, 0x61, 0x6d, 0x73, 0x1a, 0x2f, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74,
|
||||
0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x73,
|
||||
0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73,
|
||||
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x1a, 0x05, 0x80, 0xe7, 0xb0, 0x2a, 0x01, 0x42, 0xd7, 0x01, 0x0a,
|
||||
0x1a, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b,
|
||||
0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x07, 0x54, 0x78, 0x50,
|
||||
0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x36, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64,
|
||||
0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f,
|
||||
0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b,
|
||||
0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xa2, 0x02,
|
||||
0x03, 0x43, 0x53, 0x58, 0xaa, 0x02, 0x16, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x53, 0x74,
|
||||
0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x16,
|
||||
0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x5c, 0x56,
|
||||
0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xe2, 0x02, 0x22, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c,
|
||||
0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x5c,
|
||||
0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x18, 0x43, 0x6f,
|
||||
0x73, 0x6d, 0x6f, 0x73, 0x3a, 0x3a, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x3a, 0x3a, 0x56,
|
||||
0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
}
|
||||
|
||||
var (
|
||||
@@ -7999,27 +8093,28 @@ var file_cosmos_staking_v1beta1_tx_proto_depIdxs = []int32{
|
||||
18, // 7: cosmos.staking.v1beta1.MsgBeginRedelegateResponse.completion_time:type_name -> google.protobuf.Timestamp
|
||||
17, // 8: cosmos.staking.v1beta1.MsgUndelegate.amount:type_name -> cosmos.base.v1beta1.Coin
|
||||
18, // 9: cosmos.staking.v1beta1.MsgUndelegateResponse.completion_time:type_name -> google.protobuf.Timestamp
|
||||
17, // 10: cosmos.staking.v1beta1.MsgCancelUnbondingDelegation.amount:type_name -> cosmos.base.v1beta1.Coin
|
||||
19, // 11: cosmos.staking.v1beta1.MsgUpdateParams.params:type_name -> cosmos.staking.v1beta1.Params
|
||||
0, // 12: cosmos.staking.v1beta1.Msg.CreateValidator:input_type -> cosmos.staking.v1beta1.MsgCreateValidator
|
||||
2, // 13: cosmos.staking.v1beta1.Msg.EditValidator:input_type -> cosmos.staking.v1beta1.MsgEditValidator
|
||||
4, // 14: cosmos.staking.v1beta1.Msg.Delegate:input_type -> cosmos.staking.v1beta1.MsgDelegate
|
||||
6, // 15: cosmos.staking.v1beta1.Msg.BeginRedelegate:input_type -> cosmos.staking.v1beta1.MsgBeginRedelegate
|
||||
8, // 16: cosmos.staking.v1beta1.Msg.Undelegate:input_type -> cosmos.staking.v1beta1.MsgUndelegate
|
||||
10, // 17: cosmos.staking.v1beta1.Msg.CancelUnbondingDelegation:input_type -> cosmos.staking.v1beta1.MsgCancelUnbondingDelegation
|
||||
12, // 18: cosmos.staking.v1beta1.Msg.UpdateParams:input_type -> cosmos.staking.v1beta1.MsgUpdateParams
|
||||
1, // 19: cosmos.staking.v1beta1.Msg.CreateValidator:output_type -> cosmos.staking.v1beta1.MsgCreateValidatorResponse
|
||||
3, // 20: cosmos.staking.v1beta1.Msg.EditValidator:output_type -> cosmos.staking.v1beta1.MsgEditValidatorResponse
|
||||
5, // 21: cosmos.staking.v1beta1.Msg.Delegate:output_type -> cosmos.staking.v1beta1.MsgDelegateResponse
|
||||
7, // 22: cosmos.staking.v1beta1.Msg.BeginRedelegate:output_type -> cosmos.staking.v1beta1.MsgBeginRedelegateResponse
|
||||
9, // 23: cosmos.staking.v1beta1.Msg.Undelegate:output_type -> cosmos.staking.v1beta1.MsgUndelegateResponse
|
||||
11, // 24: cosmos.staking.v1beta1.Msg.CancelUnbondingDelegation:output_type -> cosmos.staking.v1beta1.MsgCancelUnbondingDelegationResponse
|
||||
13, // 25: cosmos.staking.v1beta1.Msg.UpdateParams:output_type -> cosmos.staking.v1beta1.MsgUpdateParamsResponse
|
||||
19, // [19:26] is the sub-list for method output_type
|
||||
12, // [12:19] is the sub-list for method input_type
|
||||
12, // [12:12] is the sub-list for extension type_name
|
||||
12, // [12:12] is the sub-list for extension extendee
|
||||
0, // [0:12] is the sub-list for field type_name
|
||||
17, // 10: cosmos.staking.v1beta1.MsgUndelegateResponse.amount:type_name -> cosmos.base.v1beta1.Coin
|
||||
17, // 11: cosmos.staking.v1beta1.MsgCancelUnbondingDelegation.amount:type_name -> cosmos.base.v1beta1.Coin
|
||||
19, // 12: cosmos.staking.v1beta1.MsgUpdateParams.params:type_name -> cosmos.staking.v1beta1.Params
|
||||
0, // 13: cosmos.staking.v1beta1.Msg.CreateValidator:input_type -> cosmos.staking.v1beta1.MsgCreateValidator
|
||||
2, // 14: cosmos.staking.v1beta1.Msg.EditValidator:input_type -> cosmos.staking.v1beta1.MsgEditValidator
|
||||
4, // 15: cosmos.staking.v1beta1.Msg.Delegate:input_type -> cosmos.staking.v1beta1.MsgDelegate
|
||||
6, // 16: cosmos.staking.v1beta1.Msg.BeginRedelegate:input_type -> cosmos.staking.v1beta1.MsgBeginRedelegate
|
||||
8, // 17: cosmos.staking.v1beta1.Msg.Undelegate:input_type -> cosmos.staking.v1beta1.MsgUndelegate
|
||||
10, // 18: cosmos.staking.v1beta1.Msg.CancelUnbondingDelegation:input_type -> cosmos.staking.v1beta1.MsgCancelUnbondingDelegation
|
||||
12, // 19: cosmos.staking.v1beta1.Msg.UpdateParams:input_type -> cosmos.staking.v1beta1.MsgUpdateParams
|
||||
1, // 20: cosmos.staking.v1beta1.Msg.CreateValidator:output_type -> cosmos.staking.v1beta1.MsgCreateValidatorResponse
|
||||
3, // 21: cosmos.staking.v1beta1.Msg.EditValidator:output_type -> cosmos.staking.v1beta1.MsgEditValidatorResponse
|
||||
5, // 22: cosmos.staking.v1beta1.Msg.Delegate:output_type -> cosmos.staking.v1beta1.MsgDelegateResponse
|
||||
7, // 23: cosmos.staking.v1beta1.Msg.BeginRedelegate:output_type -> cosmos.staking.v1beta1.MsgBeginRedelegateResponse
|
||||
9, // 24: cosmos.staking.v1beta1.Msg.Undelegate:output_type -> cosmos.staking.v1beta1.MsgUndelegateResponse
|
||||
11, // 25: cosmos.staking.v1beta1.Msg.CancelUnbondingDelegation:output_type -> cosmos.staking.v1beta1.MsgCancelUnbondingDelegationResponse
|
||||
13, // 26: cosmos.staking.v1beta1.Msg.UpdateParams:output_type -> cosmos.staking.v1beta1.MsgUpdateParamsResponse
|
||||
20, // [20:27] is the sub-list for method output_type
|
||||
13, // [13:20] is the sub-list for method input_type
|
||||
13, // [13:13] is the sub-list for extension type_name
|
||||
13, // [13:13] is the sub-list for extension extendee
|
||||
0, // [0:13] is the sub-list for field type_name
|
||||
}
|
||||
|
||||
func init() { file_cosmos_staking_v1beta1_tx_proto_init() }
|
||||
|
||||
@@ -153,6 +153,11 @@ message MsgUndelegate {
|
||||
message MsgUndelegateResponse {
|
||||
google.protobuf.Timestamp completion_time = 1
|
||||
[(gogoproto.nullable) = false, (amino.dont_omitempty) = true, (gogoproto.stdtime) = true];
|
||||
|
||||
// amount returns the amount of undelegated coins
|
||||
//
|
||||
// Since: cosmos-sdk 0.48
|
||||
cosmos.base.v1beta1.Coin amount = 2 [(gogoproto.nullable) = false, (amino.dont_omitempty) = true];
|
||||
}
|
||||
|
||||
// MsgCancelUnbondingDelegation defines the SDK message for performing a cancel unbonding delegation for delegator
|
||||
|
||||
@@ -49,10 +49,13 @@ func TestUnbondingDelegationsMaxEntries(t *testing.T) {
|
||||
|
||||
// should all pass
|
||||
var completionTime time.Time
|
||||
totalUnbonded := math.NewInt(0)
|
||||
for i := int64(0); i < int64(maxEntries); i++ {
|
||||
var err error
|
||||
ctx = ctx.WithBlockHeight(i)
|
||||
completionTime, err = app.StakingKeeper.Undelegate(ctx, addrDels[0], addrVals[0], math.LegacyNewDec(1))
|
||||
var amount math.Int
|
||||
completionTime, amount, err = app.StakingKeeper.Undelegate(ctx, addrDels[0], addrVals[0], math.LegacyNewDec(1))
|
||||
totalUnbonded = totalUnbonded.Add(amount)
|
||||
assert.NilError(t, err)
|
||||
}
|
||||
|
||||
@@ -60,12 +63,14 @@ func TestUnbondingDelegationsMaxEntries(t *testing.T) {
|
||||
newNotBonded := app.BankKeeper.GetBalance(ctx, app.StakingKeeper.GetNotBondedPool(ctx).GetAddress(), bondDenom).Amount
|
||||
assert.Assert(math.IntEq(t, newBonded, oldBonded.SubRaw(int64(maxEntries))))
|
||||
assert.Assert(math.IntEq(t, newNotBonded, oldNotBonded.AddRaw(int64(maxEntries))))
|
||||
assert.Assert(math.IntEq(t, totalUnbonded, oldBonded.Sub(newBonded)))
|
||||
assert.Assert(math.IntEq(t, totalUnbonded, newNotBonded.Sub(oldNotBonded)))
|
||||
|
||||
oldBonded = app.BankKeeper.GetBalance(ctx, app.StakingKeeper.GetBondedPool(ctx).GetAddress(), bondDenom).Amount
|
||||
oldNotBonded = app.BankKeeper.GetBalance(ctx, app.StakingKeeper.GetNotBondedPool(ctx).GetAddress(), bondDenom).Amount
|
||||
|
||||
// an additional unbond should fail due to max entries
|
||||
_, err := app.StakingKeeper.Undelegate(ctx, addrDels[0], addrVals[0], math.LegacyNewDec(1))
|
||||
_, _, err := app.StakingKeeper.Undelegate(ctx, addrDels[0], addrVals[0], math.LegacyNewDec(1))
|
||||
assert.Error(t, err, "too many unbonding delegation entries for (delegator, validator) tuple")
|
||||
|
||||
newBonded = app.BankKeeper.GetBalance(ctx, app.StakingKeeper.GetBondedPool(ctx).GetAddress(), bondDenom).Amount
|
||||
@@ -87,7 +92,7 @@ func TestUnbondingDelegationsMaxEntries(t *testing.T) {
|
||||
oldNotBonded = app.BankKeeper.GetBalance(ctx, app.StakingKeeper.GetNotBondedPool(ctx).GetAddress(), bondDenom).Amount
|
||||
|
||||
// unbonding should work again
|
||||
_, err = app.StakingKeeper.Undelegate(ctx, addrDels[0], addrVals[0], math.LegacyNewDec(1))
|
||||
_, _, err = app.StakingKeeper.Undelegate(ctx, addrDels[0], addrVals[0], math.LegacyNewDec(1))
|
||||
assert.NilError(t, err)
|
||||
|
||||
newBonded = app.BankKeeper.GetBalance(ctx, app.StakingKeeper.GetBondedPool(ctx).GetAddress(), bondDenom).Amount
|
||||
|
||||
@@ -338,7 +338,7 @@ func TestGRPCValidatorUnbondingDelegations(t *testing.T) {
|
||||
shares, err := createDelegationAndDelegate(rt, f, t, delegator, validator)
|
||||
assert.NilError(t, err)
|
||||
|
||||
_, err = f.stakingKeeper.Undelegate(f.ctx, delegator, validator.GetOperator(), shares)
|
||||
_, _, err = f.stakingKeeper.Undelegate(f.ctx, delegator, validator.GetOperator(), shares)
|
||||
assert.NilError(t, err)
|
||||
}
|
||||
|
||||
@@ -356,13 +356,13 @@ func TestGRPCValidatorUnbondingDelegations(t *testing.T) {
|
||||
shares1, err := fundAccountAndDelegate(f, t, delegatorAddr1, validator, f.amt1)
|
||||
assert.NilError(t, err)
|
||||
|
||||
_, err = f.stakingKeeper.Undelegate(f.ctx, delegatorAddr1, validatorAddr1, shares1)
|
||||
_, _, err = f.stakingKeeper.Undelegate(f.ctx, delegatorAddr1, validatorAddr1, shares1)
|
||||
assert.NilError(t, err)
|
||||
|
||||
shares2, err := fundAccountAndDelegate(f, t, delegatorAddr2, validator, f.amt2)
|
||||
assert.NilError(t, err)
|
||||
|
||||
_, err = f.stakingKeeper.Undelegate(f.ctx, delegatorAddr2, validatorAddr1, shares2)
|
||||
_, _, err = f.stakingKeeper.Undelegate(f.ctx, delegatorAddr2, validatorAddr1, shares2)
|
||||
assert.NilError(t, err)
|
||||
|
||||
req := &stakingtypes.QueryValidatorUnbondingDelegationsRequest{
|
||||
@@ -414,7 +414,7 @@ func TestGRPCUnbondingDelegation(t *testing.T) {
|
||||
shares, err := createDelegationAndDelegate(rt, f, t, delegator, validator)
|
||||
assert.NilError(t, err)
|
||||
|
||||
_, err = f.stakingKeeper.Undelegate(f.ctx, delegator, validator.GetOperator(), shares)
|
||||
_, _, err = f.stakingKeeper.Undelegate(f.ctx, delegator, validator.GetOperator(), shares)
|
||||
assert.NilError(t, err)
|
||||
|
||||
req := &stakingtypes.QueryUnbondingDelegationRequest{
|
||||
@@ -431,7 +431,7 @@ func TestGRPCUnbondingDelegation(t *testing.T) {
|
||||
shares1, err := fundAccountAndDelegate(f, t, delegatorAddr1, validator, f.amt1)
|
||||
assert.NilError(t, err)
|
||||
|
||||
_, err = f.stakingKeeper.Undelegate(f.ctx, delegatorAddr1, validatorAddr1, shares1)
|
||||
_, _, err = f.stakingKeeper.Undelegate(f.ctx, delegatorAddr1, validatorAddr1, shares1)
|
||||
assert.NilError(t, err)
|
||||
|
||||
req := &stakingtypes.QueryUnbondingDelegationRequest{
|
||||
@@ -524,7 +524,7 @@ func TestGRPCDelegatorUnbondingDelegations(t *testing.T) {
|
||||
shares, err := createDelegationAndDelegate(rt, f, t, delegator, validator)
|
||||
assert.NilError(t, err)
|
||||
|
||||
_, err = f.stakingKeeper.Undelegate(f.ctx, delegator, validator.GetOperator(), shares)
|
||||
_, _, err = f.stakingKeeper.Undelegate(f.ctx, delegator, validator.GetOperator(), shares)
|
||||
assert.NilError(t, err)
|
||||
}
|
||||
|
||||
@@ -542,7 +542,7 @@ func TestGRPCDelegatorUnbondingDelegations(t *testing.T) {
|
||||
shares1, err := fundAccountAndDelegate(f, t, delegatorAddr1, validator, f.amt1)
|
||||
assert.NilError(t, err)
|
||||
|
||||
_, err = f.stakingKeeper.Undelegate(f.ctx, delegatorAddr1, validatorAddr1, shares1)
|
||||
_, _, err = f.stakingKeeper.Undelegate(f.ctx, delegatorAddr1, validatorAddr1, shares1)
|
||||
assert.NilError(t, err)
|
||||
|
||||
req := &stakingtypes.QueryDelegatorUnbondingDelegationsRequest{
|
||||
|
||||
@@ -430,7 +430,7 @@ func TestGRPCQueryUnbondingDelegation(t *testing.T) {
|
||||
unbondingTokens := app.StakingKeeper.TokensFromConsensusPower(ctx, 2)
|
||||
valAddr, err1 := sdk.ValAddressFromBech32(addrVal2)
|
||||
assert.NilError(t, err1)
|
||||
_, err := app.StakingKeeper.Undelegate(ctx, addrAcc2, valAddr, sdk.NewDecFromInt(unbondingTokens))
|
||||
_, _, err := app.StakingKeeper.Undelegate(ctx, addrAcc2, valAddr, sdk.NewDecFromInt(unbondingTokens))
|
||||
assert.NilError(t, err)
|
||||
|
||||
unbond, found := app.StakingKeeper.GetUnbondingDelegation(ctx, addrAcc2, valAddr)
|
||||
@@ -496,11 +496,11 @@ func TestGRPCQueryDelegatorUnbondingDelegations(t *testing.T) {
|
||||
unbondingTokens := app.StakingKeeper.TokensFromConsensusPower(ctx, 2)
|
||||
valAddr1, err1 := sdk.ValAddressFromBech32(addrVal)
|
||||
assert.NilError(t, err1)
|
||||
_, err := app.StakingKeeper.Undelegate(ctx, addrAcc, valAddr1, sdk.NewDecFromInt(unbondingTokens))
|
||||
_, _, err := app.StakingKeeper.Undelegate(ctx, addrAcc, valAddr1, sdk.NewDecFromInt(unbondingTokens))
|
||||
assert.NilError(t, err)
|
||||
valAddr2, err1 := sdk.ValAddressFromBech32(addrVal2)
|
||||
assert.NilError(t, err1)
|
||||
_, err = app.StakingKeeper.Undelegate(ctx, addrAcc, valAddr2, sdk.NewDecFromInt(unbondingTokens))
|
||||
_, _, err = app.StakingKeeper.Undelegate(ctx, addrAcc, valAddr2, sdk.NewDecFromInt(unbondingTokens))
|
||||
assert.NilError(t, err)
|
||||
|
||||
unbond, found := app.StakingKeeper.GetUnbondingDelegation(ctx, addrAcc, valAddr1)
|
||||
@@ -775,7 +775,7 @@ func TestGRPCQueryValidatorUnbondingDelegations(t *testing.T) {
|
||||
|
||||
// undelegate
|
||||
undelAmount := app.StakingKeeper.TokensFromConsensusPower(ctx, 2)
|
||||
_, err := app.StakingKeeper.Undelegate(ctx, addrAcc1, val1.GetOperator(), sdk.NewDecFromInt(undelAmount))
|
||||
_, _, err := app.StakingKeeper.Undelegate(ctx, addrAcc1, val1.GetOperator(), sdk.NewDecFromInt(undelAmount))
|
||||
assert.NilError(t, err)
|
||||
applyValidatorSetUpdates(t, ctx, app.StakingKeeper, -1)
|
||||
|
||||
|
||||
@@ -98,9 +98,10 @@ func doUnbondingDelegation(
|
||||
notBondedAmt1 := bankKeeper.GetBalance(ctx, stakingKeeper.GetNotBondedPool(ctx).GetAddress(), bondDenom).Amount
|
||||
|
||||
var err error
|
||||
completionTime, err = stakingKeeper.Undelegate(ctx, addrDels[0], addrVals[0], sdk.NewDec(1))
|
||||
undelegateAmount := sdk.NewDec(1)
|
||||
completionTime, undelegatedAmount, err := stakingKeeper.Undelegate(ctx, addrDels[0], addrVals[0], undelegateAmount)
|
||||
assert.NilError(t, err)
|
||||
|
||||
assert.Assert(t, undelegateAmount.Equal(math.LegacyNewDecFromInt(undelegatedAmount)))
|
||||
// check that the unbonding actually happened
|
||||
bondedAmt2 := bankKeeper.GetBalance(ctx, stakingKeeper.GetBondedPool(ctx).GetAddress(), bondDenom).Amount
|
||||
notBondedAmt2 := bankKeeper.GetBalance(ctx, stakingKeeper.GetNotBondedPool(ctx).GetAddress(), bondDenom).Amount
|
||||
|
||||
@@ -44,7 +44,7 @@ func bootstrapValidatorTest(t testing.TB, power int64, numAddrs int) (*simapp.Si
|
||||
assert.Assert(t, len(delegations) == 1)
|
||||
delegation := delegations[0]
|
||||
|
||||
_, err := app.StakingKeeper.Undelegate(ctx, delegation.GetDelegatorAddr(), delegation.GetValidatorAddr(), delegation.Shares)
|
||||
_, _, err := app.StakingKeeper.Undelegate(ctx, delegation.GetDelegatorAddr(), delegation.GetValidatorAddr(), delegation.Shares)
|
||||
assert.NilError(t, err)
|
||||
|
||||
// end block to unbond genesis validator
|
||||
|
||||
@@ -545,7 +545,7 @@ func TestMigrateVestingAccounts(t *testing.T) {
|
||||
require.NoError(t, err)
|
||||
|
||||
// un-delegation of the original vesting
|
||||
_, err = stakingKeeper.Undelegate(ctx, delegatorAddr, valAddr, sdk.NewDecFromInt(sdk.NewInt(300)))
|
||||
_, _, err = stakingKeeper.Undelegate(ctx, delegatorAddr, valAddr, sdk.NewDecFromInt(sdk.NewInt(300)))
|
||||
require.NoError(t, err)
|
||||
},
|
||||
cleartTrackingFields,
|
||||
|
||||
@@ -815,19 +815,19 @@ func (k Keeper) getBeginInfo(
|
||||
// processed during the staking EndBlocker.
|
||||
func (k Keeper) Undelegate(
|
||||
ctx sdk.Context, delAddr sdk.AccAddress, valAddr sdk.ValAddress, sharesAmount sdk.Dec,
|
||||
) (time.Time, error) {
|
||||
) (time.Time, math.Int, error) {
|
||||
validator, found := k.GetValidator(ctx, valAddr)
|
||||
if !found {
|
||||
return time.Time{}, types.ErrNoDelegatorForAddress
|
||||
return time.Time{}, math.Int{}, types.ErrNoDelegatorForAddress
|
||||
}
|
||||
|
||||
if k.HasMaxUnbondingDelegationEntries(ctx, delAddr, valAddr) {
|
||||
return time.Time{}, types.ErrMaxUnbondingDelegationEntries
|
||||
return time.Time{}, math.Int{}, types.ErrMaxUnbondingDelegationEntries
|
||||
}
|
||||
|
||||
returnAmount, err := k.Unbond(ctx, delAddr, valAddr, sharesAmount)
|
||||
if err != nil {
|
||||
return time.Time{}, err
|
||||
return time.Time{}, math.Int{}, err
|
||||
}
|
||||
|
||||
// transfer the validator tokens to the not bonded pool
|
||||
@@ -839,7 +839,7 @@ func (k Keeper) Undelegate(
|
||||
ubd := k.SetUnbondingDelegationEntry(ctx, delAddr, valAddr, ctx.BlockHeight(), completionTime, returnAmount)
|
||||
k.InsertUBDQueue(ctx, ubd, completionTime)
|
||||
|
||||
return completionTime, nil
|
||||
return completionTime, returnAmount, nil
|
||||
}
|
||||
|
||||
// CompleteUnbonding completes the unbonding of all mature entries in the
|
||||
|
||||
@@ -260,7 +260,7 @@ func (s *KeeperTestSuite) TestUndelegateSelfDelegationBelowMinSelfDelegation() {
|
||||
|
||||
val0AccAddr := sdk.AccAddress(addrVals[0].Bytes())
|
||||
s.bankKeeper.EXPECT().SendCoinsFromModuleToModule(gomock.Any(), stakingtypes.BondedPoolName, stakingtypes.NotBondedPoolName, gomock.Any())
|
||||
_, err := keeper.Undelegate(ctx, val0AccAddr, addrVals[0], sdk.NewDecFromInt(keeper.TokensFromConsensusPower(ctx, 6)))
|
||||
_, _, err := keeper.Undelegate(ctx, val0AccAddr, addrVals[0], sdk.NewDecFromInt(keeper.TokensFromConsensusPower(ctx, 6)))
|
||||
require.NoError(err)
|
||||
|
||||
// end block
|
||||
@@ -315,8 +315,9 @@ func (s *KeeperTestSuite) TestUndelegateFromUnbondingValidator() {
|
||||
// unbond the all self-delegation to put validator in unbonding state
|
||||
val0AccAddr := sdk.AccAddress(addrVals[0])
|
||||
s.bankKeeper.EXPECT().SendCoinsFromModuleToModule(gomock.Any(), stakingtypes.BondedPoolName, stakingtypes.NotBondedPoolName, gomock.Any())
|
||||
_, err := keeper.Undelegate(ctx, val0AccAddr, addrVals[0], sdk.NewDecFromInt(delTokens))
|
||||
_, amount, err := keeper.Undelegate(ctx, val0AccAddr, addrVals[0], sdk.NewDecFromInt(delTokens))
|
||||
require.NoError(err)
|
||||
require.Equal(amount, delTokens)
|
||||
|
||||
// end block
|
||||
s.bankKeeper.EXPECT().SendCoinsFromModuleToModule(gomock.Any(), stakingtypes.BondedPoolName, stakingtypes.NotBondedPoolName, gomock.Any())
|
||||
@@ -334,8 +335,10 @@ func (s *KeeperTestSuite) TestUndelegateFromUnbondingValidator() {
|
||||
ctx = ctx.WithBlockTime(blockTime2)
|
||||
|
||||
// unbond some of the other delegation's shares
|
||||
_, err = keeper.Undelegate(ctx, addrDels[1], addrVals[0], math.LegacyNewDec(6))
|
||||
undelegateAmount := math.LegacyNewDec(6)
|
||||
_, undelegatedAmount, err := keeper.Undelegate(ctx, addrDels[1], addrVals[0], undelegateAmount)
|
||||
require.NoError(err)
|
||||
require.Equal(math.LegacyNewDecFromInt(undelegatedAmount), undelegateAmount)
|
||||
|
||||
// retrieve the unbonding delegation
|
||||
ubd, found := keeper.GetUnbondingDelegation(ctx, addrDels[1], addrVals[0])
|
||||
@@ -382,8 +385,9 @@ func (s *KeeperTestSuite) TestUndelegateFromUnbondedValidator() {
|
||||
|
||||
// unbond the all self-delegation to put validator in unbonding state
|
||||
s.bankKeeper.EXPECT().SendCoinsFromModuleToModule(gomock.Any(), stakingtypes.BondedPoolName, stakingtypes.NotBondedPoolName, gomock.Any())
|
||||
_, err := keeper.Undelegate(ctx, val0AccAddr, addrVals[0], sdk.NewDecFromInt(valTokens))
|
||||
_, amount, err := keeper.Undelegate(ctx, val0AccAddr, addrVals[0], sdk.NewDecFromInt(valTokens))
|
||||
require.NoError(err)
|
||||
require.Equal(amount, valTokens)
|
||||
|
||||
// end block
|
||||
s.bankKeeper.EXPECT().SendCoinsFromModuleToModule(gomock.Any(), stakingtypes.BondedPoolName, stakingtypes.NotBondedPoolName, gomock.Any())
|
||||
@@ -406,13 +410,15 @@ func (s *KeeperTestSuite) TestUndelegateFromUnbondedValidator() {
|
||||
|
||||
// unbond some of the other delegation's shares
|
||||
unbondTokens := keeper.TokensFromConsensusPower(ctx, 6)
|
||||
_, err = keeper.Undelegate(ctx, addrDels[1], addrVals[0], sdk.NewDecFromInt(unbondTokens))
|
||||
_, amount2, err := keeper.Undelegate(ctx, addrDels[1], addrVals[0], sdk.NewDecFromInt(unbondTokens))
|
||||
require.NoError(err)
|
||||
require.Equal(amount2, unbondTokens)
|
||||
|
||||
// unbond rest of the other delegation's shares
|
||||
remainingTokens := delTokens.Sub(unbondTokens)
|
||||
_, err = keeper.Undelegate(ctx, addrDels[1], addrVals[0], sdk.NewDecFromInt(remainingTokens))
|
||||
_, amount3, err := keeper.Undelegate(ctx, addrDels[1], addrVals[0], sdk.NewDecFromInt(remainingTokens))
|
||||
require.NoError(err)
|
||||
require.Equal(amount3, remainingTokens)
|
||||
|
||||
// now validator should be deleted from state
|
||||
validator, found = keeper.GetValidator(ctx, addrVals[0])
|
||||
@@ -458,16 +464,18 @@ func (s *KeeperTestSuite) TestUnbondingAllDelegationFromValidator() {
|
||||
|
||||
// unbond the all self-delegation to put validator in unbonding state
|
||||
s.bankKeeper.EXPECT().SendCoinsFromModuleToModule(gomock.Any(), stakingtypes.BondedPoolName, stakingtypes.NotBondedPoolName, gomock.Any())
|
||||
_, err := keeper.Undelegate(ctx, val0AccAddr, addrVals[0], sdk.NewDecFromInt(valTokens))
|
||||
_, amount, err := keeper.Undelegate(ctx, val0AccAddr, addrVals[0], sdk.NewDecFromInt(valTokens))
|
||||
require.NoError(err)
|
||||
require.Equal(amount, valTokens)
|
||||
|
||||
// end block
|
||||
s.bankKeeper.EXPECT().SendCoinsFromModuleToModule(gomock.Any(), stakingtypes.BondedPoolName, stakingtypes.NotBondedPoolName, gomock.Any())
|
||||
s.applyValidatorSetUpdates(ctx, keeper, 1)
|
||||
|
||||
// unbond all the remaining delegation
|
||||
_, err = keeper.Undelegate(ctx, addrDels[1], addrVals[0], sdk.NewDecFromInt(delTokens))
|
||||
_, amount2, err := keeper.Undelegate(ctx, addrDels[1], addrVals[0], sdk.NewDecFromInt(delTokens))
|
||||
require.NoError(err)
|
||||
require.Equal(amount2, delTokens)
|
||||
|
||||
// validator should still be in state and still be in unbonding state
|
||||
validator, found := keeper.GetValidator(ctx, addrVals[0])
|
||||
@@ -744,8 +752,9 @@ func (s *KeeperTestSuite) TestRedelegateFromUnbondingValidator() {
|
||||
|
||||
// unbond the all self-delegation to put validator in unbonding state
|
||||
s.bankKeeper.EXPECT().SendCoinsFromModuleToModule(gomock.Any(), stakingtypes.BondedPoolName, stakingtypes.NotBondedPoolName, gomock.Any())
|
||||
_, err := keeper.Undelegate(ctx, val0AccAddr, addrVals[0], sdk.NewDecFromInt(delTokens))
|
||||
_, amount, err := keeper.Undelegate(ctx, val0AccAddr, addrVals[0], sdk.NewDecFromInt(delTokens))
|
||||
require.NoError(err)
|
||||
require.Equal(amount, delTokens)
|
||||
|
||||
// end block
|
||||
s.bankKeeper.EXPECT().SendCoinsFromModuleToModule(gomock.Any(), stakingtypes.BondedPoolName, stakingtypes.NotBondedPoolName, gomock.Any())
|
||||
@@ -820,8 +829,9 @@ func (s *KeeperTestSuite) TestRedelegateFromUnbondedValidator() {
|
||||
|
||||
// unbond the all self-delegation to put validator in unbonding state
|
||||
s.bankKeeper.EXPECT().SendCoinsFromModuleToModule(gomock.Any(), stakingtypes.BondedPoolName, stakingtypes.NotBondedPoolName, gomock.Any())
|
||||
_, err := keeper.Undelegate(ctx, val0AccAddr, addrVals[0], sdk.NewDecFromInt(delTokens))
|
||||
_, amount, err := keeper.Undelegate(ctx, val0AccAddr, addrVals[0], sdk.NewDecFromInt(delTokens))
|
||||
require.NoError(err)
|
||||
require.Equal(amount, delTokens)
|
||||
|
||||
// end block
|
||||
s.bankKeeper.EXPECT().SendCoinsFromModuleToModule(gomock.Any(), stakingtypes.BondedPoolName, stakingtypes.NotBondedPoolName, gomock.Any())
|
||||
|
||||
@@ -333,11 +333,13 @@ func (k msgServer) Undelegate(goCtx context.Context, msg *types.MsgUndelegate) (
|
||||
)
|
||||
}
|
||||
|
||||
completionTime, err := k.Keeper.Undelegate(ctx, delegatorAddress, addr, shares)
|
||||
completionTime, undelegatedAmt, err := k.Keeper.Undelegate(ctx, delegatorAddress, addr, shares)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
undelegatedCoin := sdk.NewCoin(msg.Amount.Denom, undelegatedAmt)
|
||||
|
||||
if msg.Amount.Amount.IsInt64() {
|
||||
defer func() {
|
||||
telemetry.IncrCounter(1, types.ModuleName, "undelegate")
|
||||
@@ -353,13 +355,14 @@ func (k msgServer) Undelegate(goCtx context.Context, msg *types.MsgUndelegate) (
|
||||
sdk.NewEvent(
|
||||
types.EventTypeUnbond,
|
||||
sdk.NewAttribute(types.AttributeKeyValidator, msg.ValidatorAddress),
|
||||
sdk.NewAttribute(sdk.AttributeKeyAmount, msg.Amount.String()),
|
||||
sdk.NewAttribute(sdk.AttributeKeyAmount, undelegatedCoin.String()),
|
||||
sdk.NewAttribute(types.AttributeKeyCompletionTime, completionTime.Format(time.RFC3339)),
|
||||
),
|
||||
})
|
||||
|
||||
return &types.MsgUndelegateResponse{
|
||||
CompletionTime: completionTime,
|
||||
Amount: undelegatedCoin,
|
||||
}, nil
|
||||
}
|
||||
|
||||
|
||||
+133
-77
@@ -44,7 +44,7 @@ type MsgCreateValidator struct {
|
||||
Commission CommissionRates `protobuf:"bytes,2,opt,name=commission,proto3" json:"commission"`
|
||||
MinSelfDelegation github_com_cosmos_cosmos_sdk_types.Int `protobuf:"bytes,3,opt,name=min_self_delegation,json=minSelfDelegation,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Int" json:"min_self_delegation"`
|
||||
// Deprecated: Use of Delegator Address in MsgCreateValidator is deprecated.
|
||||
// The validator address and delegator address are always same while creating validator.
|
||||
// The validator address bytes and delegator address bytes refer to the same account while creating validator (defer only in bech32 notation).
|
||||
DelegatorAddress string `protobuf:"bytes,4,opt,name=delegator_address,json=delegatorAddress,proto3" json:"delegator_address,omitempty"` // Deprecated: Do not use.
|
||||
ValidatorAddress string `protobuf:"bytes,5,opt,name=validator_address,json=validatorAddress,proto3" json:"validator_address,omitempty"`
|
||||
Pubkey *types.Any `protobuf:"bytes,6,opt,name=pubkey,proto3" json:"pubkey,omitempty"`
|
||||
@@ -412,6 +412,10 @@ var xxx_messageInfo_MsgUndelegate proto.InternalMessageInfo
|
||||
// MsgUndelegateResponse defines the Msg/Undelegate response type.
|
||||
type MsgUndelegateResponse struct {
|
||||
CompletionTime time.Time `protobuf:"bytes,1,opt,name=completion_time,json=completionTime,proto3,stdtime" json:"completion_time"`
|
||||
// amount returns the amount undelegated coins
|
||||
//
|
||||
// Since: cosmos-sdk 0.48
|
||||
Amount types1.Coin `protobuf:"bytes,2,opt,name=amount,proto3" json:"amount"`
|
||||
}
|
||||
|
||||
func (m *MsgUndelegateResponse) Reset() { *m = MsgUndelegateResponse{} }
|
||||
@@ -454,6 +458,13 @@ func (m *MsgUndelegateResponse) GetCompletionTime() time.Time {
|
||||
return time.Time{}
|
||||
}
|
||||
|
||||
func (m *MsgUndelegateResponse) GetAmount() types1.Coin {
|
||||
if m != nil {
|
||||
return m.Amount
|
||||
}
|
||||
return types1.Coin{}
|
||||
}
|
||||
|
||||
// MsgCancelUnbondingDelegation defines the SDK message for performing a cancel unbonding delegation for delegator
|
||||
//
|
||||
// Since: cosmos-sdk 0.46
|
||||
@@ -657,77 +668,77 @@ func init() {
|
||||
func init() { proto.RegisterFile("cosmos/staking/v1beta1/tx.proto", fileDescriptor_0926ef28816b35ab) }
|
||||
|
||||
var fileDescriptor_0926ef28816b35ab = []byte{
|
||||
// 1107 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xdc, 0x56, 0xcf, 0x6f, 0x1b, 0x45,
|
||||
0x14, 0xf6, 0xda, 0x89, 0x21, 0x13, 0x12, 0x27, 0x9b, 0xa4, 0xb5, 0x97, 0x62, 0x57, 0xdb, 0xd0,
|
||||
0x44, 0x81, 0xac, 0x69, 0x40, 0xfc, 0x30, 0x11, 0x6a, 0x5c, 0xb7, 0x50, 0xc0, 0x52, 0xb4, 0xa1,
|
||||
0x1c, 0x10, 0x92, 0x35, 0xde, 0x9d, 0xac, 0x57, 0xf6, 0xee, 0x6c, 0x77, 0xc6, 0x51, 0x7d, 0x43,
|
||||
0x9c, 0x10, 0x17, 0x7a, 0xe0, 0xc0, 0x05, 0xa9, 0x47, 0x8e, 0x39, 0xf4, 0xc0, 0x3f, 0x80, 0x54,
|
||||
0x71, 0xaa, 0x7a, 0x42, 0x1c, 0x5a, 0x94, 0x1c, 0xc2, 0x7f, 0xc0, 0x0d, 0xa1, 0xdd, 0x9d, 0xfd,
|
||||
0xe9, 0xd8, 0xde, 0x54, 0xf4, 0x92, 0x4b, 0xbc, 0x99, 0xf9, 0xde, 0x37, 0x33, 0xdf, 0xf7, 0xde,
|
||||
0xcc, 0x03, 0x15, 0x05, 0x13, 0x03, 0x93, 0x2a, 0xa1, 0xb0, 0xab, 0x9b, 0x5a, 0xf5, 0xe0, 0x5a,
|
||||
0x1b, 0x51, 0x78, 0xad, 0x4a, 0xef, 0x49, 0x96, 0x8d, 0x29, 0xe6, 0x2f, 0x78, 0x00, 0x89, 0x01,
|
||||
0x24, 0x06, 0x10, 0x4a, 0x1a, 0xc6, 0x5a, 0x0f, 0x55, 0x5d, 0x54, 0xbb, 0xbf, 0x5f, 0x85, 0xe6,
|
||||
0xc0, 0x0b, 0x11, 0x2a, 0xc9, 0x29, 0xaa, 0x1b, 0x88, 0x50, 0x68, 0x58, 0x0c, 0xb0, 0xac, 0x61,
|
||||
0x0d, 0xbb, 0x9f, 0x55, 0xe7, 0x8b, 0x8d, 0x96, 0xbc, 0x95, 0x5a, 0xde, 0x04, 0x5b, 0xd6, 0x9b,
|
||||
0x2a, 0xb3, 0x5d, 0xb6, 0x21, 0x41, 0xc1, 0x16, 0x15, 0xac, 0x9b, 0x6c, 0x7e, 0x75, 0xc4, 0x29,
|
||||
0xfc, 0x4d, 0x7b, 0xa8, 0x8b, 0x0c, 0x65, 0x10, 0x07, 0xe1, 0xfc, 0xb0, 0x89, 0x45, 0x68, 0xe8,
|
||||
0x26, 0xae, 0xba, 0x7f, 0xbd, 0x21, 0xf1, 0xdf, 0x29, 0xc0, 0x37, 0x89, 0x76, 0xc3, 0x46, 0x90,
|
||||
0xa2, 0x2f, 0x61, 0x4f, 0x57, 0x21, 0xc5, 0x36, 0xbf, 0x0b, 0x66, 0x55, 0x44, 0x14, 0x5b, 0xb7,
|
||||
0xa8, 0x8e, 0xcd, 0x22, 0x77, 0x99, 0x5b, 0x9f, 0xdd, 0xba, 0x22, 0x9d, 0xae, 0x91, 0xd4, 0x08,
|
||||
0xa1, 0xf5, 0x99, 0x47, 0x4f, 0x2b, 0x99, 0x5f, 0x4e, 0x0e, 0x37, 0x38, 0x39, 0x4a, 0xc1, 0xcb,
|
||||
0x00, 0x28, 0xd8, 0x30, 0x74, 0x42, 0x1c, 0xc2, 0xac, 0x4b, 0xb8, 0x36, 0x8a, 0xf0, 0x46, 0x80,
|
||||
0x94, 0x21, 0x45, 0x24, 0x4a, 0x1a, 0x61, 0xe1, 0x7b, 0x60, 0xc9, 0xd0, 0xcd, 0x16, 0x41, 0xbd,
|
||||
0xfd, 0x96, 0x8a, 0x7a, 0x48, 0x83, 0xee, 0x6e, 0x73, 0x97, 0xb9, 0xf5, 0x99, 0xfa, 0xb6, 0x13,
|
||||
0xf3, 0xe7, 0xd3, 0xca, 0x55, 0x4d, 0xa7, 0x9d, 0x7e, 0x5b, 0x52, 0xb0, 0xc1, 0xc4, 0x66, 0x3f,
|
||||
0x9b, 0x44, 0xed, 0x56, 0xe9, 0xc0, 0x42, 0x44, 0xba, 0x6d, 0xd2, 0x27, 0x0f, 0x37, 0x01, 0xdb,
|
||||
0xcd, 0x6d, 0x93, 0xca, 0x8b, 0x86, 0x6e, 0xee, 0xa1, 0xde, 0x7e, 0x23, 0xa0, 0xe5, 0x3f, 0x06,
|
||||
0x8b, 0x6c, 0x11, 0x6c, 0xb7, 0xa0, 0xaa, 0xda, 0x88, 0x90, 0xe2, 0x94, 0xbb, 0x96, 0xf0, 0xe4,
|
||||
0xe1, 0xe6, 0x32, 0x8b, 0xde, 0xf1, 0x66, 0xf6, 0xa8, 0xad, 0x9b, 0x5a, 0x91, 0x93, 0x17, 0x82,
|
||||
0x20, 0x36, 0xc3, 0xdf, 0x04, 0x8b, 0x07, 0xbe, 0xd2, 0x01, 0xd1, 0xb4, 0x4b, 0x54, 0x1c, 0x45,
|
||||
0x24, 0x2f, 0x04, 0x21, 0x3e, 0xcd, 0x2d, 0x90, 0xb7, 0xfa, 0xed, 0x2e, 0x1a, 0x14, 0xf3, 0xae,
|
||||
0x9a, 0xcb, 0x92, 0x97, 0x8f, 0x92, 0x9f, 0x8f, 0xd2, 0x8e, 0x39, 0xa8, 0x17, 0x7f, 0x0f, 0x19,
|
||||
0x15, 0x7b, 0x60, 0x51, 0x2c, 0xed, 0xf6, 0xdb, 0x9f, 0xa1, 0x81, 0xcc, 0xa2, 0xf9, 0x1a, 0x98,
|
||||
0x3e, 0x80, 0xbd, 0x3e, 0x2a, 0xbe, 0xe4, 0xd2, 0x94, 0x7c, 0x53, 0x9c, 0x24, 0x8c, 0x38, 0xa2,
|
||||
0xc7, 0xbc, 0xf5, 0x42, 0x6a, 0xd7, 0xbf, 0x7b, 0x50, 0xc9, 0xfc, 0xfd, 0xa0, 0x92, 0xf9, 0xf6,
|
||||
0xe4, 0x70, 0x63, 0xf8, 0x54, 0xdf, 0x9f, 0x1c, 0x6e, 0xbc, 0x16, 0x51, 0x7b, 0x38, 0xd3, 0xc4,
|
||||
0x4b, 0x40, 0x18, 0x1e, 0x95, 0x11, 0xb1, 0xb0, 0x49, 0x90, 0xf8, 0x6b, 0x0e, 0x2c, 0x34, 0x89,
|
||||
0x76, 0x53, 0xd5, 0xe9, 0x8b, 0x4c, 0xce, 0x53, 0x1d, 0xc9, 0x9e, 0xd9, 0x11, 0x08, 0x0a, 0x61,
|
||||
0x76, 0xb6, 0x6c, 0x48, 0x11, 0xcb, 0xc5, 0xf7, 0x53, 0xe6, 0x61, 0x03, 0x29, 0x91, 0x3c, 0x6c,
|
||||
0x20, 0x45, 0x9e, 0x57, 0x62, 0xa5, 0xc0, 0x77, 0x4e, 0x4f, 0xf9, 0xa9, 0x33, 0x2d, 0x93, 0x26,
|
||||
0xdd, 0x6b, 0x1f, 0x4d, 0xb6, 0xf6, 0xd5, 0xb8, 0xb5, 0x31, 0x97, 0x44, 0x01, 0x14, 0x93, 0x63,
|
||||
0x81, 0xad, 0x3f, 0x66, 0xc1, 0x6c, 0x93, 0x68, 0x6c, 0x35, 0xe4, 0xe8, 0x3f, 0x5c, 0x5a, 0xdc,
|
||||
0x24, 0xfd, 0xd3, 0x15, 0xd6, 0xd9, 0x6d, 0xdc, 0x06, 0x79, 0x68, 0xe0, 0xbe, 0x49, 0x5d, 0xf7,
|
||||
0xd2, 0x56, 0x04, 0x8b, 0xa9, 0x7d, 0x10, 0xd3, 0x6d, 0xe8, 0x58, 0x8e, 0x6e, 0x17, 0xe2, 0xba,
|
||||
0xf9, 0x32, 0x88, 0x2b, 0x60, 0x29, 0xf2, 0x6f, 0xa0, 0xd6, 0x3f, 0x59, 0xf7, 0x8e, 0xae, 0x23,
|
||||
0x4d, 0x37, 0x65, 0xa4, 0xfe, 0xcf, 0xa2, 0x7d, 0x0e, 0x56, 0x42, 0xd1, 0x88, 0xad, 0xa4, 0x16,
|
||||
0x6e, 0x29, 0x08, 0xdb, 0xb3, 0x95, 0x53, 0xd9, 0x54, 0x42, 0x03, 0xb6, 0x5c, 0x6a, 0xb6, 0x06,
|
||||
0xa1, 0xc3, 0x4e, 0x4c, 0x3d, 0x87, 0x13, 0xd7, 0x27, 0x3b, 0x91, 0xb8, 0x9c, 0x12, 0x12, 0x8b,
|
||||
0x96, 0x7b, 0x39, 0x25, 0x46, 0x7d, 0x5f, 0x78, 0xd9, 0x2d, 0x77, 0xab, 0x87, 0x9c, 0x7a, 0x69,
|
||||
0x39, 0x8f, 0x3f, 0xbb, 0x8b, 0x84, 0xa1, 0x9b, 0xf8, 0x0b, 0xbf, 0x33, 0xa8, 0xcf, 0x39, 0xfb,
|
||||
0xbc, 0xff, 0xac, 0xc2, 0x79, 0x7b, 0x9d, 0x0f, 0x19, 0x1c, 0x8c, 0xf8, 0x53, 0x16, 0xcc, 0x35,
|
||||
0x89, 0x76, 0xc7, 0x54, 0xcf, 0x63, 0x6d, 0x7c, 0x38, 0xd9, 0x91, 0x62, 0xdc, 0x91, 0x50, 0x08,
|
||||
0xb1, 0x0b, 0x56, 0x62, 0x03, 0x2f, 0xd4, 0x87, 0x67, 0x59, 0x70, 0xc9, 0x79, 0x97, 0xa0, 0xa9,
|
||||
0xa0, 0xde, 0x1d, 0xb3, 0x8d, 0x4d, 0x55, 0x37, 0xb5, 0x48, 0x37, 0x70, 0x8e, 0x6c, 0xe1, 0xd7,
|
||||
0x40, 0x41, 0x71, 0x1e, 0x60, 0x47, 0xbe, 0x0e, 0xd2, 0xb5, 0x8e, 0x57, 0x6f, 0x39, 0x79, 0xde,
|
||||
0x1f, 0xfe, 0xc4, 0x1d, 0xad, 0x7d, 0x3a, 0xd9, 0xbf, 0xb5, 0xc4, 0x73, 0x3f, 0x4a, 0x40, 0xf1,
|
||||
0x2a, 0x58, 0x1d, 0x37, 0x1f, 0xdc, 0x7e, 0xbf, 0x71, 0xa0, 0xe0, 0xf8, 0x6e, 0xa9, 0x90, 0xa2,
|
||||
0x5d, 0x68, 0x43, 0x83, 0xf0, 0xef, 0x82, 0x19, 0xd8, 0xa7, 0x1d, 0x6c, 0xeb, 0x74, 0x30, 0x51,
|
||||
0xf4, 0x10, 0xca, 0xef, 0x80, 0xbc, 0xe5, 0x32, 0xb0, 0x06, 0xb4, 0x3c, 0xaa, 0x69, 0xf0, 0xd6,
|
||||
0x89, 0x69, 0xe5, 0x05, 0xd6, 0xde, 0x73, 0x8e, 0x1e, 0x52, 0x3a, 0x47, 0x5e, 0x8d, 0x1c, 0xf9,
|
||||
0x5e, 0xd0, 0x9b, 0x27, 0xf6, 0x2c, 0x96, 0xc0, 0xc5, 0xc4, 0x90, 0x7f, 0xc4, 0xad, 0x9f, 0xf3,
|
||||
0x20, 0xd7, 0x24, 0x1a, 0x7f, 0x17, 0x14, 0x92, 0x8d, 0xf8, 0xc6, 0xa8, 0x1d, 0x0e, 0x37, 0x4d,
|
||||
0xc2, 0x56, 0x7a, 0x6c, 0x50, 0x3b, 0x5d, 0x30, 0x17, 0x6f, 0xae, 0xd6, 0xc7, 0x90, 0xc4, 0x90,
|
||||
0xc2, 0x5b, 0x69, 0x91, 0xc1, 0x62, 0x5f, 0x83, 0x97, 0x83, 0x27, 0xff, 0xca, 0x98, 0x68, 0x1f,
|
||||
0x24, 0xbc, 0x91, 0x02, 0x14, 0xb0, 0xdf, 0x05, 0x85, 0xe4, 0x13, 0x39, 0x4e, 0xbd, 0x04, 0x76,
|
||||
0xac, 0x7a, 0xa3, 0x5e, 0x80, 0x36, 0x00, 0x91, 0x9b, 0xfa, 0xf5, 0x31, 0x0c, 0x21, 0x4c, 0xd8,
|
||||
0x4c, 0x05, 0x0b, 0xd6, 0xf8, 0x81, 0x03, 0xa5, 0xd1, 0xd7, 0xd0, 0x3b, 0xe3, 0x3c, 0x1f, 0x15,
|
||||
0x25, 0x6c, 0x3f, 0x4f, 0x54, 0xb0, 0xa3, 0x0e, 0x78, 0x25, 0x56, 0x8d, 0x6b, 0xe3, 0x0e, 0x14,
|
||||
0x01, 0x0a, 0xd5, 0x94, 0x40, 0x7f, 0x25, 0x61, 0xfa, 0x1b, 0xa7, 0xf6, 0xea, 0xb7, 0x1e, 0x1d,
|
||||
0x95, 0xb9, 0xc7, 0x47, 0x65, 0xee, 0xaf, 0xa3, 0x32, 0x77, 0xff, 0xb8, 0x9c, 0x79, 0x7c, 0x5c,
|
||||
0xce, 0xfc, 0x71, 0x5c, 0xce, 0x7c, 0xf5, 0xe6, 0xd8, 0x6e, 0x37, 0x2c, 0x46, 0xb7, 0xef, 0x6d,
|
||||
0xe7, 0xdd, 0x77, 0xe0, 0xed, 0xff, 0x02, 0x00, 0x00, 0xff, 0xff, 0x04, 0x86, 0xdb, 0x98, 0x0d,
|
||||
0x10, 0x00, 0x00,
|
||||
// 1115 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xdc, 0x56, 0x4d, 0x6f, 0x1b, 0x45,
|
||||
0x18, 0xf6, 0x3a, 0x89, 0x21, 0x13, 0xf2, 0xb5, 0x49, 0x5a, 0x67, 0x29, 0x76, 0xb5, 0x0d, 0x4d,
|
||||
0x14, 0xc8, 0x9a, 0x06, 0xc4, 0x87, 0x89, 0x50, 0xe3, 0xba, 0x85, 0x02, 0x96, 0xa2, 0x0d, 0xe5,
|
||||
0x80, 0x90, 0xac, 0xf1, 0xee, 0x64, 0xbd, 0x8a, 0x77, 0x67, 0xbb, 0x33, 0x8e, 0xea, 0x1b, 0xe2,
|
||||
0x84, 0xb8, 0xd0, 0x03, 0x07, 0x2e, 0x48, 0x3d, 0xc2, 0x2d, 0x87, 0x1e, 0xf8, 0x03, 0x48, 0x15,
|
||||
0xa7, 0xaa, 0x27, 0xc4, 0xa1, 0x45, 0xc9, 0x21, 0xfc, 0x03, 0x6e, 0x08, 0xcd, 0xee, 0xec, 0xa7,
|
||||
0x63, 0x7b, 0x53, 0xb5, 0x97, 0x5e, 0xe2, 0xcd, 0xcc, 0xf3, 0x3e, 0x33, 0xf3, 0x3c, 0xef, 0x3b,
|
||||
0xf3, 0x82, 0xb2, 0x86, 0x89, 0x85, 0x49, 0x85, 0x50, 0xb8, 0x6f, 0xda, 0x46, 0xe5, 0xe0, 0x4a,
|
||||
0x0b, 0x51, 0x78, 0xa5, 0x42, 0xef, 0x28, 0x8e, 0x8b, 0x29, 0x16, 0xcf, 0xf9, 0x00, 0x85, 0x03,
|
||||
0x14, 0x0e, 0x90, 0x96, 0x0d, 0x8c, 0x8d, 0x0e, 0xaa, 0x78, 0xa8, 0x56, 0x77, 0xaf, 0x02, 0xed,
|
||||
0x9e, 0x1f, 0x22, 0x95, 0xd3, 0x53, 0xd4, 0xb4, 0x10, 0xa1, 0xd0, 0x72, 0x38, 0x60, 0xd1, 0xc0,
|
||||
0x06, 0xf6, 0x3e, 0x2b, 0xec, 0x8b, 0x8f, 0x2e, 0xfb, 0x2b, 0x35, 0xfd, 0x09, 0xbe, 0xac, 0x3f,
|
||||
0x55, 0xe2, 0xbb, 0x6c, 0x41, 0x82, 0xc2, 0x2d, 0x6a, 0xd8, 0xb4, 0xf9, 0xfc, 0xca, 0x80, 0x53,
|
||||
0x04, 0x9b, 0xf6, 0x51, 0xe7, 0x39, 0xca, 0x22, 0x0c, 0xc1, 0x7e, 0xf8, 0xc4, 0x3c, 0xb4, 0x4c,
|
||||
0x1b, 0x57, 0xbc, 0xbf, 0xfe, 0x90, 0xfc, 0xdf, 0x38, 0x10, 0x1b, 0xc4, 0xb8, 0xe6, 0x22, 0x48,
|
||||
0xd1, 0x97, 0xb0, 0x63, 0xea, 0x90, 0x62, 0x57, 0xdc, 0x01, 0x53, 0x3a, 0x22, 0x9a, 0x6b, 0x3a,
|
||||
0xd4, 0xc4, 0x76, 0x51, 0xb8, 0x28, 0xac, 0x4d, 0x6d, 0x5e, 0x52, 0x4e, 0xd7, 0x48, 0xa9, 0x47,
|
||||
0xd0, 0xda, 0xe4, 0x83, 0xc7, 0xe5, 0xdc, 0x2f, 0x27, 0x87, 0xeb, 0x82, 0x1a, 0xa7, 0x10, 0x55,
|
||||
0x00, 0x34, 0x6c, 0x59, 0x26, 0x21, 0x8c, 0x30, 0xef, 0x11, 0xae, 0x0e, 0x22, 0xbc, 0x16, 0x22,
|
||||
0x55, 0x48, 0x11, 0x89, 0x93, 0xc6, 0x58, 0xc4, 0x0e, 0x58, 0xb0, 0x4c, 0xbb, 0x49, 0x50, 0x67,
|
||||
0xaf, 0xa9, 0xa3, 0x0e, 0x32, 0xa0, 0xb7, 0xdb, 0xb1, 0x8b, 0xc2, 0xda, 0x64, 0x6d, 0x8b, 0xc5,
|
||||
0xfc, 0xf5, 0xb8, 0x7c, 0xd9, 0x30, 0x69, 0xbb, 0xdb, 0x52, 0x34, 0x6c, 0x71, 0xb1, 0xf9, 0xcf,
|
||||
0x06, 0xd1, 0xf7, 0x2b, 0xb4, 0xe7, 0x20, 0xa2, 0xdc, 0xb4, 0xe9, 0xa3, 0xfb, 0x1b, 0x80, 0xef,
|
||||
0xe6, 0xa6, 0x4d, 0xd5, 0x79, 0xcb, 0xb4, 0x77, 0x51, 0x67, 0xaf, 0x1e, 0xd2, 0x8a, 0x1f, 0x83,
|
||||
0x79, 0xbe, 0x08, 0x76, 0x9b, 0x50, 0xd7, 0x5d, 0x44, 0x48, 0x71, 0xdc, 0x5b, 0x4b, 0x7a, 0x74,
|
||||
0x7f, 0x63, 0x91, 0x47, 0x6f, 0xfb, 0x33, 0xbb, 0xd4, 0x35, 0x6d, 0xa3, 0x28, 0xa8, 0x73, 0x61,
|
||||
0x10, 0x9f, 0x11, 0xaf, 0x83, 0xf9, 0x83, 0x40, 0xe9, 0x90, 0x68, 0xc2, 0x23, 0x2a, 0x0e, 0x22,
|
||||
0x52, 0xe7, 0xc2, 0x90, 0x80, 0xe6, 0x06, 0x28, 0x38, 0xdd, 0xd6, 0x3e, 0xea, 0x15, 0x0b, 0x9e,
|
||||
0x9a, 0x8b, 0x8a, 0x9f, 0x8f, 0x4a, 0x90, 0x8f, 0xca, 0xb6, 0xdd, 0xab, 0x15, 0xff, 0x88, 0x18,
|
||||
0x35, 0xb7, 0xe7, 0x50, 0xac, 0xec, 0x74, 0x5b, 0x9f, 0xa1, 0x9e, 0xca, 0xa3, 0xc5, 0x2a, 0x98,
|
||||
0x38, 0x80, 0x9d, 0x2e, 0x2a, 0xbe, 0xe4, 0xd1, 0x2c, 0x07, 0xa6, 0xb0, 0x24, 0x8c, 0x39, 0x62,
|
||||
0x26, 0xbc, 0xf5, 0x43, 0xaa, 0x57, 0xbf, 0xbb, 0x57, 0xce, 0xfd, 0x73, 0xaf, 0x9c, 0xfb, 0xf6,
|
||||
0xe4, 0x70, 0xbd, 0xff, 0x54, 0xdf, 0x9f, 0x1c, 0xae, 0xbf, 0x16, 0x53, 0xbb, 0x3f, 0xd3, 0xe4,
|
||||
0x0b, 0x40, 0xea, 0x1f, 0x55, 0x11, 0x71, 0xb0, 0x4d, 0x90, 0xfc, 0xdb, 0x18, 0x98, 0x6b, 0x10,
|
||||
0xe3, 0xba, 0x6e, 0xd2, 0xe7, 0x99, 0x9c, 0xa7, 0x3a, 0x92, 0x3f, 0xb3, 0x23, 0x10, 0xcc, 0x46,
|
||||
0xd9, 0xd9, 0x74, 0x21, 0x45, 0x3c, 0x17, 0xdf, 0xcf, 0x98, 0x87, 0x75, 0xa4, 0xc5, 0xf2, 0xb0,
|
||||
0x8e, 0x34, 0x75, 0x46, 0x4b, 0x94, 0x82, 0xd8, 0x3e, 0x3d, 0xe5, 0xc7, 0xcf, 0xb4, 0x4c, 0x96,
|
||||
0x74, 0xaf, 0x7e, 0x34, 0xda, 0xda, 0x57, 0x93, 0xd6, 0x26, 0x5c, 0x92, 0x25, 0x50, 0x4c, 0x8f,
|
||||
0x85, 0xb6, 0xfe, 0x98, 0x07, 0x53, 0x0d, 0x62, 0xf0, 0xd5, 0x10, 0xd3, 0xbf, 0xbf, 0xb4, 0x84,
|
||||
0x51, 0xfa, 0x67, 0x2b, 0xac, 0xb3, 0xdb, 0xb8, 0x05, 0x0a, 0xd0, 0xc2, 0x5d, 0x9b, 0x7a, 0xee,
|
||||
0x65, 0xad, 0x08, 0x1e, 0x53, 0xfd, 0x20, 0xa1, 0x5b, 0xdf, 0xb1, 0x98, 0x6e, 0xe7, 0x92, 0xba,
|
||||
0x05, 0x32, 0xc8, 0x4b, 0x60, 0x21, 0xf6, 0x6f, 0xa8, 0xd6, 0xbf, 0x79, 0xef, 0x8e, 0xae, 0x21,
|
||||
0xc3, 0xb4, 0x55, 0xa4, 0x3f, 0x63, 0xd1, 0x3e, 0x07, 0x4b, 0x91, 0x68, 0xc4, 0xd5, 0x32, 0x0b,
|
||||
0xb7, 0x10, 0x86, 0xed, 0xba, 0xda, 0xa9, 0x6c, 0x3a, 0xa1, 0x21, 0xdb, 0x58, 0x66, 0xb6, 0x3a,
|
||||
0xa1, 0xfd, 0x4e, 0x8c, 0x3f, 0x85, 0x13, 0x57, 0x47, 0x3b, 0x91, 0xba, 0x9c, 0x52, 0x12, 0xcb,
|
||||
0x8e, 0x77, 0x39, 0xa5, 0x46, 0x03, 0x5f, 0x44, 0xd5, 0x2b, 0x77, 0xa7, 0x83, 0x58, 0xbd, 0x34,
|
||||
0xd9, 0xe3, 0xcf, 0xef, 0x22, 0xa9, 0xef, 0x26, 0xfe, 0x22, 0xe8, 0x0c, 0x6a, 0xd3, 0x6c, 0x9f,
|
||||
0x77, 0x9f, 0x94, 0x05, 0x7f, 0xaf, 0x33, 0x11, 0x03, 0xc3, 0xc8, 0x3f, 0xe5, 0xc1, 0x74, 0x83,
|
||||
0x18, 0xb7, 0x6c, 0xfd, 0x45, 0xac, 0x8d, 0x0f, 0x47, 0x3b, 0x52, 0x4c, 0x3a, 0x12, 0x09, 0x21,
|
||||
0xff, 0x2a, 0x80, 0xa5, 0xc4, 0xc8, 0xf3, 0x34, 0x22, 0x76, 0xd0, 0xfc, 0xd9, 0x0f, 0x2a, 0x3f,
|
||||
0xc9, 0x83, 0x0b, 0xec, 0x59, 0x83, 0xb6, 0x86, 0x3a, 0xb7, 0xec, 0x16, 0xb6, 0x75, 0xd3, 0x36,
|
||||
0x62, 0xcd, 0xc4, 0x0b, 0xe4, 0xaa, 0xb8, 0x0a, 0x66, 0x35, 0xf6, 0x7e, 0x33, 0xf1, 0xdb, 0xc8,
|
||||
0x34, 0xda, 0x7e, 0xb9, 0x8e, 0xa9, 0x33, 0xc1, 0xf0, 0x27, 0xde, 0x68, 0xf5, 0xd3, 0xd1, 0xf6,
|
||||
0xaf, 0xa6, 0xba, 0x85, 0x41, 0x02, 0xca, 0x97, 0xc1, 0xca, 0xb0, 0xf9, 0xf0, 0xf2, 0xfc, 0x5d,
|
||||
0x00, 0xb3, 0x2c, 0x6b, 0x1c, 0x1d, 0x52, 0xb4, 0x03, 0x5d, 0x68, 0x11, 0xf1, 0x5d, 0x30, 0x09,
|
||||
0xbb, 0xb4, 0x8d, 0x5d, 0x93, 0xf6, 0x46, 0x8a, 0x1e, 0x41, 0xc5, 0x6d, 0x50, 0x70, 0x3c, 0x06,
|
||||
0x9e, 0x13, 0xa5, 0x41, 0x3d, 0x87, 0xbf, 0x4e, 0x42, 0x2b, 0x3f, 0xb0, 0xfa, 0x1e, 0x3b, 0x7a,
|
||||
0x44, 0xc9, 0x8e, 0xbc, 0x12, 0x3b, 0xf2, 0x9d, 0xb0, 0xb5, 0x4f, 0xed, 0x59, 0x5e, 0x06, 0xe7,
|
||||
0x53, 0x43, 0xc1, 0x11, 0x37, 0x7f, 0x2e, 0x80, 0xb1, 0x06, 0x31, 0xc4, 0xdb, 0x60, 0x36, 0xdd,
|
||||
0xc7, 0xaf, 0x0f, 0xda, 0x61, 0x7f, 0xcf, 0x25, 0x6d, 0x66, 0xc7, 0x86, 0x95, 0xb7, 0x0f, 0xa6,
|
||||
0x93, 0xbd, 0xd9, 0xda, 0x10, 0x92, 0x04, 0x52, 0x7a, 0x2b, 0x2b, 0x32, 0x5c, 0xec, 0x6b, 0xf0,
|
||||
0x72, 0xd8, 0x31, 0x5c, 0x1a, 0x12, 0x1d, 0x80, 0xa4, 0x37, 0x32, 0x80, 0x42, 0xf6, 0xdb, 0x60,
|
||||
0x36, 0xfd, 0xc2, 0x0e, 0x53, 0x2f, 0x85, 0x1d, 0xaa, 0xde, 0xa0, 0x07, 0xa4, 0x05, 0x40, 0xec,
|
||||
0xa2, 0x7f, 0x7d, 0x08, 0x43, 0x04, 0x93, 0x36, 0x32, 0xc1, 0xc2, 0x35, 0x7e, 0x10, 0xc0, 0xf2,
|
||||
0xe0, 0x6b, 0xe8, 0x9d, 0x61, 0x9e, 0x0f, 0x8a, 0x92, 0xb6, 0x9e, 0x26, 0x2a, 0xdc, 0x51, 0x1b,
|
||||
0xbc, 0x92, 0xa8, 0xc6, 0xd5, 0x61, 0x07, 0x8a, 0x01, 0xa5, 0x4a, 0x46, 0x60, 0xb0, 0x92, 0x34,
|
||||
0xf1, 0x0d, 0xab, 0xbd, 0xda, 0x8d, 0x07, 0x47, 0x25, 0xe1, 0xe1, 0x51, 0x49, 0xf8, 0xfb, 0xa8,
|
||||
0x24, 0xdc, 0x3d, 0x2e, 0xe5, 0x1e, 0x1e, 0x97, 0x72, 0x7f, 0x1e, 0x97, 0x72, 0x5f, 0xbd, 0x39,
|
||||
0xb4, 0x59, 0x8e, 0x8a, 0xd1, 0x6b, 0x9b, 0x5b, 0x05, 0xef, 0x15, 0x79, 0xfb, 0xff, 0x00, 0x00,
|
||||
0x00, 0xff, 0xff, 0x16, 0x60, 0xcc, 0xba, 0x4c, 0x10, 0x00, 0x00,
|
||||
}
|
||||
|
||||
// Reference imports to suppress errors if they are not otherwise used.
|
||||
@@ -1477,12 +1488,22 @@ func (m *MsgUndelegateResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) {
|
||||
_ = i
|
||||
var l int
|
||||
_ = l
|
||||
n10, err10 := github_com_cosmos_gogoproto_types.StdTimeMarshalTo(m.CompletionTime, dAtA[i-github_com_cosmos_gogoproto_types.SizeOfStdTime(m.CompletionTime):])
|
||||
if err10 != nil {
|
||||
return 0, err10
|
||||
{
|
||||
size, err := m.Amount.MarshalToSizedBuffer(dAtA[:i])
|
||||
if err != nil {
|
||||
return 0, err
|
||||
}
|
||||
i -= size
|
||||
i = encodeVarintTx(dAtA, i, uint64(size))
|
||||
}
|
||||
i -= n10
|
||||
i = encodeVarintTx(dAtA, i, uint64(n10))
|
||||
i--
|
||||
dAtA[i] = 0x12
|
||||
n11, err11 := github_com_cosmos_gogoproto_types.StdTimeMarshalTo(m.CompletionTime, dAtA[i-github_com_cosmos_gogoproto_types.SizeOfStdTime(m.CompletionTime):])
|
||||
if err11 != nil {
|
||||
return 0, err11
|
||||
}
|
||||
i -= n11
|
||||
i = encodeVarintTx(dAtA, i, uint64(n11))
|
||||
i--
|
||||
dAtA[i] = 0xa
|
||||
return len(dAtA) - i, nil
|
||||
@@ -1796,6 +1817,8 @@ func (m *MsgUndelegateResponse) Size() (n int) {
|
||||
_ = l
|
||||
l = github_com_cosmos_gogoproto_types.SizeOfStdTime(m.CompletionTime)
|
||||
n += 1 + l + sovTx(uint64(l))
|
||||
l = m.Amount.Size()
|
||||
n += 1 + l + sovTx(uint64(l))
|
||||
return n
|
||||
}
|
||||
|
||||
@@ -3098,6 +3121,39 @@ func (m *MsgUndelegateResponse) Unmarshal(dAtA []byte) error {
|
||||
return err
|
||||
}
|
||||
iNdEx = postIndex
|
||||
case 2:
|
||||
if wireType != 2 {
|
||||
return fmt.Errorf("proto: wrong wireType = %d for field Amount", wireType)
|
||||
}
|
||||
var msglen int
|
||||
for shift := uint(0); ; shift += 7 {
|
||||
if shift >= 64 {
|
||||
return ErrIntOverflowTx
|
||||
}
|
||||
if iNdEx >= l {
|
||||
return io.ErrUnexpectedEOF
|
||||
}
|
||||
b := dAtA[iNdEx]
|
||||
iNdEx++
|
||||
msglen |= int(b&0x7F) << shift
|
||||
if b < 0x80 {
|
||||
break
|
||||
}
|
||||
}
|
||||
if msglen < 0 {
|
||||
return ErrInvalidLengthTx
|
||||
}
|
||||
postIndex := iNdEx + msglen
|
||||
if postIndex < 0 {
|
||||
return ErrInvalidLengthTx
|
||||
}
|
||||
if postIndex > l {
|
||||
return io.ErrUnexpectedEOF
|
||||
}
|
||||
if err := m.Amount.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
|
||||
return err
|
||||
}
|
||||
iNdEx = postIndex
|
||||
default:
|
||||
iNdEx = preIndex
|
||||
skippy, err := skipTx(dAtA[iNdEx:])
|
||||
|
||||
Reference in New Issue
Block a user