From f4e856c3ff04af6f84c982ead3da243adcbdf6e9 Mon Sep 17 00:00:00 2001 From: Natthakun Kitthaworn Date: Mon, 2 Sep 2024 15:55:16 +0700 Subject: [PATCH] [TSS] Fix transition state and msgServer (#204) * fix transition state and msgServer * fix readme * fix comments --- proto/bandtss/v1beta1/bandtss.proto | 9 +- proto/bandtss/v1beta1/tx.proto | 16 +- ...ace_group.sh => force_transition_group.sh} | 2 +- .../bandtss/proposal_force_replace_group.json | 14 - .../proposal_force_transition_group.json | 14 + .../bandtss/proposal_transition_group.json | 6 +- x/bandtss/README.md | 11 +- x/bandtss/keeper/msg_server.go | 10 +- x/bandtss/keeper/msg_server_test.go | 21 +- x/bandtss/keeper/transition.go | 26 +- x/bandtss/keeper/transition_test.go | 6 +- x/bandtss/types/bandtss.pb.go | 169 +++++++----- x/bandtss/types/codec.go | 4 +- x/bandtss/types/constructor.go | 30 +++ x/bandtss/types/msgs.go | 20 +- x/bandtss/types/signature_order.go | 4 +- x/bandtss/types/tx.pb.go | 250 +++++++++--------- x/tss/README.md | 1 - 18 files changed, 348 insertions(+), 265 deletions(-) rename scripts/bandtss/{force_replace_group.sh => force_transition_group.sh} (87%) delete mode 100644 scripts/bandtss/proposal_force_replace_group.json create mode 100644 scripts/bandtss/proposal_force_transition_group.json create mode 100644 x/bandtss/types/constructor.go diff --git a/proto/bandtss/v1beta1/bandtss.proto b/proto/bandtss/v1beta1/bandtss.proto index 80ced9869..148963b91 100644 --- a/proto/bandtss/v1beta1/bandtss.proto +++ b/proto/bandtss/v1beta1/bandtss.proto @@ -51,7 +51,7 @@ message Signing { // GroupTransition defines the group transition information of the current group and incoming group. message GroupTransition { - // signing_id is a tss signing ID of the replacing group signing request. + // signing_id is a tss signing ID of group transition signing request. uint64 signing_id = 1 [ (gogoproto.customname) = "SigningID", (gogoproto.casttype) = "github.com/bandprotocol/chain/v2/pkg/tss.SigningID" @@ -61,7 +61,7 @@ message GroupTransition { (gogoproto.customname) = "CurrentGroupID", (gogoproto.casttype) = "github.com/bandprotocol/chain/v2/pkg/tss.GroupID" ]; - // current_group_pub_key is the public key pair that used for sign & verify replace group msg. + // current_group_pub_key is the public key pair that used for sign & verify transition group msg. bytes current_group_pub_key = 3 [(gogoproto.casttype) = "github.com/bandprotocol/chain/v2/pkg/tss.Point"]; // new_group_id is the ID of the new group that be a new key candidate. uint64 incoming_group_id = 4 [ @@ -74,6 +74,9 @@ message GroupTransition { TransitionStatus status = 6; // exec_time is the time when the transition will be executed. google.protobuf.Timestamp exec_time = 7 [(gogoproto.stdtime) = true, (gogoproto.nullable) = false]; + // is_force_transition is a flag to indicate whether the current group signs the transition message + // before the transition is executed or not. + bool is_force_transition = 8; } // TransitionStatus is an enumeration of the possible statuses of a group transition process. @@ -89,7 +92,7 @@ enum TransitionStatus { // a current group to sign the transition message. TRANSITION_STATUS_WAITING_SIGN = 2; // TRANSITION_STATUS_WAITING_EXECUTION is the status of a group transition that - // a transition process is completed, either from a forceReplace or having a current-group + // a transition process is completed, either from a forceTransition or having a current-group // signature on a transition message, but waits for the execution time. TRANSITION_STATUS_WAITING_EXECUTION = 3; } diff --git a/proto/bandtss/v1beta1/tx.proto b/proto/bandtss/v1beta1/tx.proto index 6c3ee609e..5c8c27c02 100644 --- a/proto/bandtss/v1beta1/tx.proto +++ b/proto/bandtss/v1beta1/tx.proto @@ -30,9 +30,9 @@ service Msg { // TransitionGroup creates a request for creating a new group and replacing current group. rpc TransitionGroup(MsgTransitionGroup) returns (MsgTransitionGroupResponse); - // ForceReplaceGroup sets the given group to the incoming group without the signature of a transition + // ForceTransitionGroup sets the given group to the incoming group without the signature of a transition // message from a current group. - rpc ForceReplaceGroup(MsgForceReplaceGroup) returns (MsgForceReplaceGroupResponse); + rpc ForceTransitionGroup(MsgForceTransitionGroup) returns (MsgForceTransitionGroupResponse); } // MsgRequestSignature is a request message used for initiating the signing process. @@ -117,12 +117,12 @@ message MsgTransitionGroup { // MsgTransitionGroupResponse is the Msg/TransitionGroup response type. message MsgTransitionGroupResponse {} -// MsgForceReplaceGroup is the Msg/ForceReplaceGroup request type. -message MsgForceReplaceGroup { +// MsgForceTransitionGroup is the Msg/ForceTransitionGroup request type. +message MsgForceTransitionGroup { option (cosmos.msg.v1.signer) = "authority"; - option (amino.name) = "bandtss/ForceReplaceGroup"; + option (amino.name) = "bandtss/ForceTransitionGroup"; - // incoming_group_id is the ID of the group that want to replace. + // incoming_group_id is the ID of the group that the module want to transition to. uint64 incoming_group_id = 1 [ (gogoproto.customname) = "IncomingGroupID", (gogoproto.casttype) = "github.com/bandprotocol/chain/v2/pkg/tss.GroupID" @@ -133,5 +133,5 @@ message MsgForceReplaceGroup { string authority = 3 [(cosmos_proto.scalar) = "cosmos.AddressString"]; } -// MsgForceReplaceGroupResponse is the Msg/ForceReplaceGroup response type. -message MsgForceReplaceGroupResponse {} +// MsgForceTransitionGroupResponse is the Msg/ForceTransitionGroup response type. +message MsgForceTransitionGroupResponse {} diff --git a/scripts/bandtss/force_replace_group.sh b/scripts/bandtss/force_transition_group.sh similarity index 87% rename from scripts/bandtss/force_replace_group.sh rename to scripts/bandtss/force_transition_group.sh index 98ffc26f5..01ca77c3b 100755 --- a/scripts/bandtss/force_replace_group.sh +++ b/scripts/bandtss/force_transition_group.sh @@ -5,7 +5,7 @@ export WALLET_NAME=validator BASEDIR=$(dirname "$0") # Submit force_replace_group proposal -bandd tx gov submit-proposal $BASEDIR/proposal_force_replace_group.json \ +bandd tx gov submit-proposal $BASEDIR/proposal_force_transition_group.json \ --from $WALLET_NAME \ -y --keyring-backend test --gas-prices 0.0025uband -b sync diff --git a/scripts/bandtss/proposal_force_replace_group.json b/scripts/bandtss/proposal_force_replace_group.json deleted file mode 100644 index 2fed8761b..000000000 --- a/scripts/bandtss/proposal_force_replace_group.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "messages": [ - { - "@type": "/bandtss.v1beta1.MsgForceReplaceGroup", - "incoming_group_id": "1", - "exec_time": "2024-07-08T06:15:00+00:00", - "authority": "band10d07y265gmmuvt4z0w9aw880jnsr700jrdn8wm" - } - ], - "metadata": "ipfs://", - "deposit": "1000000000uband", - "title": "Force replace group", - "summary": "This proposal is to replace a group" -} diff --git a/scripts/bandtss/proposal_force_transition_group.json b/scripts/bandtss/proposal_force_transition_group.json new file mode 100644 index 000000000..1df4e73be --- /dev/null +++ b/scripts/bandtss/proposal_force_transition_group.json @@ -0,0 +1,14 @@ +{ + "messages": [ + { + "@type": "/bandtss.v1beta1.MsgForceTransitionGroup", + "incoming_group_id": "1", + "exec_time": "2024-09-02T07:40:00+00:00", + "authority": "band10d07y265gmmuvt4z0w9aw880jnsr700jrdn8wm" + } + ], + "metadata": "ipfs://", + "deposit": "1000000000uband", + "title": "Force transition group", + "summary": "This proposal is to force transition a group" +} diff --git a/scripts/bandtss/proposal_transition_group.json b/scripts/bandtss/proposal_transition_group.json index e5e6ef470..8c47629db 100755 --- a/scripts/bandtss/proposal_transition_group.json +++ b/scripts/bandtss/proposal_transition_group.json @@ -8,12 +8,12 @@ "band1nx0xkpnytk35wvflsg7gszf9smw3vaeauk248q" ], "threshold": "2", - "exec_time": "2024-07-15T10:10:00+00:00", + "exec_time": "2024-09-02T07:30:00+00:00", "authority": "band10d07y265gmmuvt4z0w9aw880jnsr700jrdn8wm" } ], "metadata": "ipfs://", "deposit": "1000000000uband", - "title": "Create group", - "summary": "This proposal is to create a group" + "title": "Transition group", + "summary": "This proposal is to transition a group" } diff --git a/x/bandtss/README.md b/x/bandtss/README.md index 47bbcbfec..a82d435d7 100644 --- a/x/bandtss/README.md +++ b/x/bandtss/README.md @@ -28,7 +28,7 @@ The module is configured to charge a fee for each signing request, a cost that i - [Params](#params) - [Msg Service](#msg-service) - [Msg/TransitionGroup](#msgtransitiongroup) - - [Msg/ForceReplaceGroup](#msgforcereplacegroup) + - [Msg/ForceTransitionGroup](#msgforcetransitiongroup) - [Msg/RequestSignature](#msgrequestsignature) - [Msg/Activate](#msgactivate) - [Msg/Heartbeat](#msgheartbeat) @@ -121,6 +121,7 @@ type GroupTransition struct { IncomingGroupPubKey github_com_bandprotocol_chain_v2_pkg_tss.Point Status TransitionStatus ExecTime time.Time + IsForceTransition bool } ``` @@ -179,7 +180,7 @@ message MsgTransitionGroup { } ``` -### Msg/ForceReplaceGroup +### Msg/ForceTransitionGroup A current group can be replaced by an incoming group without needing a signing request (transition message) from the current group. @@ -190,11 +191,11 @@ It's expected to fail if: - The execution time is before the current time or beyond the maximum transition duration. ```protobuf -message MsgForceReplaceGroup { +message MsgForceTransitionGroup { option (cosmos.msg.v1.signer) = "authority"; - option (amino.name) = "bandtss/ForceReplaceGroup"; + option (amino.name) = "bandtss/ForceTransitionGroup"; - // incoming_group_id is the ID of the group that want to replace. + // incoming_group_id is the ID of the group that the module want to transition to. uint64 incoming_group_id = 1 [ (gogoproto.customname) = "IncomingGroupID", (gogoproto.casttype) = "github.com/bandprotocol/chain/v2/pkg/tss.GroupID" diff --git a/x/bandtss/keeper/msg_server.go b/x/bandtss/keeper/msg_server.go index 408ea908c..5eadf8359 100644 --- a/x/bandtss/keeper/msg_server.go +++ b/x/bandtss/keeper/msg_server.go @@ -76,12 +76,12 @@ func (k msgServer) TransitionGroup( return &types.MsgTransitionGroupResponse{}, nil } -// ForceReplaceGroup handles the group transition without waiting a current group to +// ForceTransitionGroup handles the group transition without requesting a current group to // sign a transition message. -func (k msgServer) ForceReplaceGroup( +func (k msgServer) ForceTransitionGroup( goCtx context.Context, - req *types.MsgForceReplaceGroup, -) (*types.MsgForceReplaceGroupResponse, error) { + req *types.MsgForceTransitionGroup, +) (*types.MsgForceTransitionGroupResponse, error) { if k.authority != req.Authority { return nil, govtypes.ErrInvalidSigner.Wrapf("expected %s got %s", k.authority, req.Authority) } @@ -126,7 +126,7 @@ func (k msgServer) ForceReplaceGroup( attrs := k.ExtractEventAttributesFromTransition(transition) ctx.EventManager().EmitEvent(sdk.NewEvent(types.EventTypeGroupTransition, attrs...)) - return &types.MsgForceReplaceGroupResponse{}, nil + return &types.MsgForceTransitionGroupResponse{}, nil } // RequestSignature initiates the signing process by requesting signatures from assigned members. diff --git a/x/bandtss/keeper/msg_server_test.go b/x/bandtss/keeper/msg_server_test.go index 31bae935d..65f11c6dc 100644 --- a/x/bandtss/keeper/msg_server_test.go +++ b/x/bandtss/keeper/msg_server_test.go @@ -163,7 +163,7 @@ func (s *AppTestSuite) TestFailTransitionGroup() { } } -func (s *AppTestSuite) TestFailForceReplaceGroupInvalidExecTime() { +func (s *AppTestSuite) TestFailForceTransitionGroupInvalidExecTime() { ctx, msgSrvr, _ := s.ctx, s.msgSrvr, s.app.TSSKeeper _ = s.SetupNewGroup(5, 3) @@ -173,7 +173,7 @@ func (s *AppTestSuite) TestFailForceReplaceGroupInvalidExecTime() { maxTransitionDuration := s.app.BandtssKeeper.GetParams(ctx).MaxTransitionDuration execTime := ctx.BlockTime().Add(10 * time.Minute).Add(maxTransitionDuration) - _, err = msgSrvr.ForceReplaceGroup(ctx, &types.MsgForceReplaceGroup{ + _, err = msgSrvr.ForceTransitionGroup(ctx, &types.MsgForceTransitionGroup{ IncomingGroupID: group2Ctx.GroupID, ExecTime: execTime, Authority: s.authority.String(), @@ -181,7 +181,7 @@ func (s *AppTestSuite) TestFailForceReplaceGroupInvalidExecTime() { s.Require().ErrorIs(err, types.ErrInvalidExecTime) } -func (s *AppTestSuite) TestFailForceReplaceGroupInvalidGroupStatus() { +func (s *AppTestSuite) TestFailForceTransitionGroupInvalidGroupStatus() { ctx, msgSrvr, _ := s.ctx, s.msgSrvr, s.app.TSSKeeper _ = s.SetupNewGroup(5, 3) @@ -194,7 +194,7 @@ func (s *AppTestSuite) TestFailForceReplaceGroupInvalidGroupStatus() { s.app.BandtssKeeper.DeleteGroupTransition(ctx) - _, err = msgSrvr.ForceReplaceGroup(ctx, &types.MsgForceReplaceGroup{ + _, err = msgSrvr.ForceTransitionGroup(ctx, &types.MsgForceTransitionGroup{ IncomingGroupID: group2Ctx.GroupID, ExecTime: ctx.BlockTime().Add(10 * time.Minute), Authority: s.authority.String(), @@ -202,11 +202,11 @@ func (s *AppTestSuite) TestFailForceReplaceGroupInvalidGroupStatus() { s.Require().ErrorIs(err, types.ErrInvalidIncomingGroup) } -func (s *AppTestSuite) TestFailForceReplaceGroupInvalidGroupID() { +func (s *AppTestSuite) TestFailForceTransitionGroupInvalidGroupID() { ctx, msgSrvr, _ := s.ctx, s.msgSrvr, s.app.TSSKeeper group1Ctx := s.SetupNewGroup(5, 3) - _, err := msgSrvr.ForceReplaceGroup(ctx, &types.MsgForceReplaceGroup{ + _, err := msgSrvr.ForceTransitionGroup(ctx, &types.MsgForceTransitionGroup{ IncomingGroupID: group1Ctx.GroupID, ExecTime: ctx.BlockTime().Add(10 * time.Minute), Authority: s.authority.String(), @@ -214,7 +214,7 @@ func (s *AppTestSuite) TestFailForceReplaceGroupInvalidGroupID() { s.Require().ErrorIs(err, types.ErrInvalidIncomingGroup) } -func (s *AppTestSuite) TestFailForceReplaceGroupFromApprovedWaitingReplaceStatus() { +func (s *AppTestSuite) TestFailForceTransitionGroupFromWaitingExecutionStatus() { ctx, msgSrvr, _ := s.ctx, s.msgSrvr, s.app.TSSKeeper group1Ctx := s.SetupNewGroup(5, 3) @@ -232,7 +232,7 @@ func (s *AppTestSuite) TestFailForceReplaceGroupFromApprovedWaitingReplaceStatus s.Require().True(found) s.Require().Equal(types.TRANSITION_STATUS_WAITING_EXECUTION, transition.Status) - _, err = msgSrvr.ForceReplaceGroup(ctx, &types.MsgForceReplaceGroup{ + _, err = msgSrvr.ForceTransitionGroup(ctx, &types.MsgForceTransitionGroup{ IncomingGroupID: group2Ctx.GroupID, ExecTime: ctx.BlockTime().Add(10 * time.Minute), Authority: s.authority.String(), @@ -272,7 +272,7 @@ func (s *AppTestSuite) TestFailForceReplaceGroupFromApprovedWaitingReplaceStatus } } -func (s *AppTestSuite) TestSuccessForceReplaceGroupFromFallenStatus() { +func (s *AppTestSuite) TestSuccessForceTransitionGroupFromFallenStatus() { ctx, msgSrvr, _ := s.ctx, s.msgSrvr, s.app.TSSKeeper group1Ctx := s.SetupNewGroup(5, 3) @@ -286,7 +286,7 @@ func (s *AppTestSuite) TestSuccessForceReplaceGroupFromFallenStatus() { s.app.BandtssKeeper.DeleteGroupTransition(ctx) - _, err = msgSrvr.ForceReplaceGroup(ctx, &types.MsgForceReplaceGroup{ + _, err = msgSrvr.ForceTransitionGroup(ctx, &types.MsgForceTransitionGroup{ IncomingGroupID: group2Ctx.GroupID, ExecTime: ctx.BlockTime().Add(10 * time.Minute), Authority: s.authority.String(), @@ -305,6 +305,7 @@ func (s *AppTestSuite) TestSuccessForceReplaceGroupFromFallenStatus() { IncomingGroupPubKey: g2.PubKey, ExecTime: ctx.BlockTime().Add(10 * time.Minute), SigningID: tss.SigningID(0), + IsForceTransition: true, } s.Require().True(found) s.Require().Equal(expectedTransition, transition) diff --git a/x/bandtss/keeper/transition.go b/x/bandtss/keeper/transition.go index cb66c4c09..b6161d809 100644 --- a/x/bandtss/keeper/transition.go +++ b/x/bandtss/keeper/transition.go @@ -37,10 +37,10 @@ func (k Keeper) SetNewGroupTransition( ctx sdk.Context, incomingGroupID tss.GroupID, execTime time.Time, - isForceReplace bool, + isForceTransition bool, ) (types.GroupTransition, error) { status := types.TRANSITION_STATUS_CREATING_GROUP - if isForceReplace { + if isForceTransition { status = types.TRANSITION_STATUS_WAITING_EXECUTION } @@ -57,7 +57,7 @@ func (k Keeper) SetNewGroupTransition( // get incoming group and its public key. var incomingGroupPubKey tss.Point - if isForceReplace { + if isForceTransition { incomingGroup, err := k.tssKeeper.GetGroup(ctx, incomingGroupID) if err != nil { return types.GroupTransition{}, err @@ -65,14 +65,16 @@ func (k Keeper) SetNewGroupTransition( incomingGroupPubKey = incomingGroup.PubKey } - transition := types.GroupTransition{ - CurrentGroupID: currentGroupID, - CurrentGroupPubKey: currentGroupPubKey, - IncomingGroupID: incomingGroupID, - IncomingGroupPubKey: incomingGroupPubKey, - Status: status, - ExecTime: execTime, - } + transition := types.NewGroupTransition( + tss.SigningID(0), + currentGroupID, + incomingGroupID, + currentGroupPubKey, + incomingGroupPubKey, + status, + execTime, + isForceTransition, + ) k.SetGroupTransition(ctx, transition) return transition, nil @@ -145,7 +147,7 @@ func (k Keeper) ValidateTransitionInProgress(ctx sdk.Context) error { } // GetIncomingGroupID returns the incoming group ID from transition state. If the status is not -// either ApprovedWaitingReplace or ForcedWaitingReplace, it returns 0. +// WaitingExecution, it returns 0. func (k Keeper) GetIncomingGroupID(ctx sdk.Context) tss.GroupID { transition, found := k.GetGroupTransition(ctx) if !found || transition.Status != types.TRANSITION_STATUS_WAITING_EXECUTION { diff --git a/x/bandtss/keeper/transition_test.go b/x/bandtss/keeper/transition_test.go index 95b34bef4..0afdfdede 100644 --- a/x/bandtss/keeper/transition_test.go +++ b/x/bandtss/keeper/transition_test.go @@ -34,7 +34,7 @@ func TestHandleGroupTransition(t *testing.T) { }, }, { - name: "transition with status ForcedWaitingReplace but no current group", + name: "transition with status WaitingExecution but no current group", preProcess: func(s *KeeperTestSuite) { s.Keeper.SetGroupTransition(s.Ctx, types.GroupTransition{ SigningID: tss.SigningID(1), @@ -50,7 +50,7 @@ func TestHandleGroupTransition(t *testing.T) { }, }, { - name: "transition with status ForcedWaitingReplace; has a current group", + name: "transition with status WaitingExecution; has a current group", preProcess: func(s *KeeperTestSuite) { s.Keeper.SetGroupTransition(s.Ctx, types.GroupTransition{ SigningID: tss.SigningID(0), @@ -82,7 +82,7 @@ func TestHandleGroupTransition(t *testing.T) { }, }, { - name: "transition with status ApprovedWaitingReplace; has a current group", + name: "transition with status WaitingExecution; has a current group", preProcess: func(s *KeeperTestSuite) { s.Keeper.SetGroupTransition(s.Ctx, types.GroupTransition{ SigningID: tss.SigningID(1), diff --git a/x/bandtss/types/bandtss.pb.go b/x/bandtss/types/bandtss.pb.go index 73260ad2b..b757cdbf7 100644 --- a/x/bandtss/types/bandtss.pb.go +++ b/x/bandtss/types/bandtss.pb.go @@ -46,7 +46,7 @@ const ( // a current group to sign the transition message. TRANSITION_STATUS_WAITING_SIGN TransitionStatus = 2 // TRANSITION_STATUS_WAITING_EXECUTION is the status of a group transition that - // a transition process is completed, either from a forceReplace or having a current-group + // a transition process is completed, either from a forceTransition or having a current-group // signature on a transition message, but waits for the execution time. TRANSITION_STATUS_WAITING_EXECUTION TransitionStatus = 3 ) @@ -239,11 +239,11 @@ func (m *Signing) GetIncomingGroupSigningID() github_com_bandprotocol_chain_v2_p // GroupTransition defines the group transition information of the current group and incoming group. type GroupTransition struct { - // signing_id is a tss signing ID of the replacing group signing request. + // signing_id is a tss signing ID of group transition signing request. SigningID github_com_bandprotocol_chain_v2_pkg_tss.SigningID `protobuf:"varint,1,opt,name=signing_id,json=signingId,proto3,casttype=github.com/bandprotocol/chain/v2/pkg/tss.SigningID" json:"signing_id,omitempty"` // current_group_id is the ID of the group that will be replaced. CurrentGroupID github_com_bandprotocol_chain_v2_pkg_tss.GroupID `protobuf:"varint,2,opt,name=current_group_id,json=currentGroupId,proto3,casttype=github.com/bandprotocol/chain/v2/pkg/tss.GroupID" json:"current_group_id,omitempty"` - // current_group_pub_key is the public key pair that used for sign & verify replace group msg. + // current_group_pub_key is the public key pair that used for sign & verify transition group msg. CurrentGroupPubKey github_com_bandprotocol_chain_v2_pkg_tss.Point `protobuf:"bytes,3,opt,name=current_group_pub_key,json=currentGroupPubKey,proto3,casttype=github.com/bandprotocol/chain/v2/pkg/tss.Point" json:"current_group_pub_key,omitempty"` // new_group_id is the ID of the new group that be a new key candidate. IncomingGroupID github_com_bandprotocol_chain_v2_pkg_tss.GroupID `protobuf:"varint,4,opt,name=incoming_group_id,json=incomingGroupId,proto3,casttype=github.com/bandprotocol/chain/v2/pkg/tss.GroupID" json:"incoming_group_id,omitempty"` @@ -253,6 +253,9 @@ type GroupTransition struct { Status TransitionStatus `protobuf:"varint,6,opt,name=status,proto3,enum=bandtss.v1beta1.TransitionStatus" json:"status,omitempty"` // exec_time is the time when the transition will be executed. ExecTime time.Time `protobuf:"bytes,7,opt,name=exec_time,json=execTime,proto3,stdtime" json:"exec_time"` + // is_force_transition is a flag to indicate whether the current group signs the transition message + // before the transition is executed or not. + IsForceTransition bool `protobuf:"varint,8,opt,name=is_force_transition,json=isForceTransition,proto3" json:"is_force_transition,omitempty"` } func (m *GroupTransition) Reset() { *m = GroupTransition{} } @@ -337,6 +340,13 @@ func (m *GroupTransition) GetExecTime() time.Time { return time.Time{} } +func (m *GroupTransition) GetIsForceTransition() bool { + if m != nil { + return m.IsForceTransition + } + return false +} + // GroupTransitionSignatureOrder defines a general signature order for group transition. type GroupTransitionSignatureOrder struct { // pub_key is the public key of new group that the current group needs to be signed. @@ -394,64 +404,65 @@ func init() { func init() { proto.RegisterFile("bandtss/v1beta1/bandtss.proto", fileDescriptor_2effaef066b71284) } var fileDescriptor_2effaef066b71284 = []byte{ - // 902 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x55, 0x3d, 0x6f, 0xdb, 0x46, - 0x18, 0x16, 0x65, 0x7d, 0x9e, 0x03, 0x5b, 0xbd, 0xd4, 0x06, 0xed, 0xd6, 0xa4, 0xe2, 0x14, 0xa8, - 0x50, 0x20, 0x64, 0xa2, 0x76, 0xa9, 0x97, 0x42, 0x92, 0x15, 0x95, 0x28, 0x22, 0x0b, 0x94, 0x8c, - 0x16, 0x59, 0x08, 0x7e, 0x9c, 0x99, 0x83, 0x2d, 0x1e, 0xc3, 0x3b, 0x1a, 0x36, 0xfa, 0x07, 0x02, - 0x74, 0xc9, 0x4f, 0x28, 0xd0, 0x0e, 0x45, 0x86, 0x4e, 0xfd, 0x11, 0x41, 0xa7, 0x8c, 0x9d, 0x98, - 0x82, 0x5e, 0xfa, 0x1b, 0x3c, 0x15, 0x3c, 0x92, 0xb2, 0x24, 0xa7, 0x68, 0x6c, 0x64, 0xd2, 0xbd, - 0x7c, 0x3f, 0x9f, 0xe7, 0x79, 0xef, 0x04, 0x76, 0x2c, 0xd3, 0x73, 0x18, 0xa5, 0xea, 0xe9, 0x23, - 0x0b, 0x31, 0xf3, 0x91, 0x9a, 0xd9, 0x8a, 0x1f, 0x10, 0x46, 0xe0, 0x7a, 0x6e, 0x66, 0xee, 0xed, - 0x8f, 0x5d, 0xe2, 0x12, 0xee, 0x53, 0x93, 0x53, 0x1a, 0xb6, 0x2d, 0xbb, 0x84, 0xb8, 0x27, 0x48, - 0xe5, 0x96, 0x15, 0x1e, 0xa9, 0x0c, 0x4f, 0x11, 0x65, 0xe6, 0xd4, 0xcf, 0x02, 0x24, 0x9b, 0xd0, - 0x29, 0xa1, 0xaa, 0x65, 0x52, 0x34, 0x6b, 0x65, 0x13, 0xec, 0x65, 0xfe, 0xad, 0xd4, 0x6f, 0xa4, - 0x95, 0x53, 0x23, 0x75, 0xed, 0xfe, 0x5a, 0x04, 0x95, 0x27, 0x68, 0x6a, 0xa1, 0x00, 0x8a, 0xa0, - 0x6a, 0x3a, 0x4e, 0x80, 0x28, 0x15, 0x85, 0xa6, 0xd0, 0xaa, 0xeb, 0xb9, 0x09, 0x9f, 0x82, 0x9a, - 0x1b, 0x90, 0xd0, 0x37, 0xb0, 0x23, 0x16, 0x9b, 0x42, 0xab, 0xd4, 0xfd, 0x26, 0x8e, 0xe4, 0xea, - 0x20, 0xf9, 0xa6, 0xed, 0x5f, 0x46, 0xf2, 0x43, 0x17, 0xb3, 0x67, 0xa1, 0xa5, 0xd8, 0x64, 0xca, - 0x21, 0xf2, 0xda, 0x36, 0x39, 0x51, 0xed, 0x67, 0x26, 0xf6, 0xd4, 0xd3, 0xb6, 0xea, 0x1f, 0xbb, - 0x6a, 0x82, 0x34, 0xcb, 0xd1, 0xab, 0xbc, 0xa0, 0xe6, 0xc0, 0x4f, 0x40, 0x1d, 0x53, 0xc3, 0xb4, - 0x19, 0x3e, 0x45, 0xe2, 0x4a, 0x53, 0x68, 0xd5, 0xf4, 0x1a, 0xa6, 0x1d, 0x6e, 0xc3, 0x3d, 0x50, - 0xa6, 0xd8, 0xb3, 0x91, 0x58, 0x6a, 0x0a, 0xad, 0xd5, 0xf6, 0xb6, 0x92, 0x32, 0xa1, 0xe4, 0x4c, - 0x28, 0x93, 0x9c, 0x89, 0x6e, 0xed, 0x75, 0x24, 0x17, 0x5e, 0xbe, 0x95, 0x05, 0x3d, 0x4d, 0x81, - 0x7d, 0xb0, 0x7a, 0x62, 0x52, 0x96, 0x97, 0x2e, 0xdf, 0xa0, 0x02, 0x48, 0x12, 0xd3, 0x11, 0xf6, - 0x4a, 0xff, 0xfc, 0x2c, 0x0b, 0xbb, 0xd1, 0x0a, 0xa8, 0x8e, 0xb1, 0xeb, 0x61, 0xcf, 0x85, 0xf7, - 0x41, 0x11, 0x3b, 0x9c, 0xa2, 0x52, 0xf7, 0x6e, 0x1c, 0xc9, 0x45, 0x4e, 0x41, 0x3d, 0x73, 0x6b, - 0xfb, 0x7a, 0x11, 0x3b, 0xf0, 0x39, 0x58, 0x3b, 0x42, 0xc8, 0xf0, 0x51, 0x60, 0x50, 0xec, 0x7a, - 0x28, 0x10, 0x8b, 0xcd, 0x95, 0xd6, 0x6a, 0x7b, 0x4b, 0xc9, 0xe8, 0x4f, 0xb4, 0xca, 0x75, 0x57, - 0x7a, 0x04, 0x7b, 0xdd, 0x87, 0x49, 0xff, 0x57, 0x6f, 0xe5, 0xd6, 0x1c, 0x99, 0x99, 0xb0, 0xe9, - 0xcf, 0x03, 0xea, 0x1c, 0xab, 0xec, 0xdc, 0x47, 0x94, 0x27, 0x50, 0xfd, 0xce, 0x11, 0x42, 0x23, - 0x14, 0x8c, 0x79, 0x03, 0xf8, 0x29, 0xa8, 0x07, 0xe8, 0x79, 0x88, 0x28, 0x43, 0x01, 0x67, 0xb2, - 0xae, 0x5f, 0x7d, 0x80, 0x2f, 0x04, 0x20, 0xda, 0x61, 0x10, 0x20, 0x8f, 0x19, 0xa9, 0x98, 0x34, - 0x1d, 0x38, 0x11, 0xb5, 0xc4, 0xc1, 0x1c, 0xc4, 0x91, 0xbc, 0xd1, 0x4b, 0x63, 0xb8, 0x4e, 0x33, - 0x48, 0x97, 0x91, 0xdc, 0x7e, 0x6f, 0x89, 0xaf, 0x88, 0xd8, 0xb0, 0xdf, 0x51, 0xcc, 0x81, 0x3f, - 0x09, 0x60, 0x0b, 0x7b, 0x36, 0x99, 0x26, 0xdd, 0xaf, 0xcd, 0x52, 0xe6, 0xb3, 0x8c, 0xe2, 0x48, - 0xde, 0xd4, 0xb2, 0xa0, 0x0f, 0x32, 0xcc, 0x26, 0x7e, 0x57, 0x35, 0x27, 0x13, 0xf8, 0x55, 0x19, - 0xac, 0x73, 0xc7, 0x24, 0x30, 0x3d, 0x8a, 0x19, 0x26, 0x1e, 0xb4, 0x00, 0x98, 0x9b, 0x2b, 0x15, - 0xbc, 0x17, 0xcf, 0x4b, 0x7d, 0xcb, 0x51, 0xea, 0x74, 0xc6, 0x85, 0x0f, 0x1a, 0x8b, 0xaa, 0xcc, - 0xae, 0xd8, 0xe3, 0x38, 0x92, 0xd7, 0xe6, 0xd5, 0xb8, 0xe5, 0x4d, 0x5b, 0x9b, 0x17, 0x41, 0x73, - 0x20, 0x02, 0x1b, 0x8b, 0x1d, 0xfd, 0xd0, 0x32, 0x8e, 0xd1, 0x39, 0x5f, 0x99, 0x3b, 0xdd, 0xf6, - 0x65, 0x24, 0x2b, 0xef, 0xdd, 0x64, 0x44, 0xb0, 0xc7, 0x74, 0x38, 0xdf, 0x62, 0x14, 0x5a, 0xdf, - 0xa1, 0x73, 0x48, 0xc1, 0x47, 0x4b, 0x1a, 0xcf, 0xf6, 0x6c, 0x10, 0x47, 0xf2, 0xfa, 0x82, 0xb6, - 0xb7, 0x84, 0xb6, 0xbe, 0x20, 0xa9, 0xe6, 0x40, 0x17, 0x6c, 0x2e, 0x35, 0xcd, 0xc1, 0x95, 0x6f, - 0x0d, 0xee, 0xee, 0x42, 0x93, 0x0c, 0xdd, 0xd7, 0xa0, 0x42, 0x99, 0xc9, 0x42, 0x2a, 0x56, 0x9a, - 0x42, 0x6b, 0xad, 0x7d, 0x4f, 0x59, 0x7a, 0xca, 0x95, 0xab, 0x3d, 0x1a, 0xf3, 0x40, 0x3d, 0x4b, - 0x80, 0x1d, 0x50, 0x47, 0x67, 0xc8, 0x36, 0x92, 0x47, 0x5c, 0xac, 0xde, 0xe0, 0x55, 0xaa, 0x25, - 0x69, 0x89, 0x63, 0xf7, 0x47, 0xb0, 0xb3, 0xb4, 0xab, 0xc9, 0x6e, 0x99, 0x2c, 0x0c, 0xd0, 0x41, - 0xe0, 0xa0, 0x00, 0x3e, 0x01, 0xd5, 0x1c, 0xb8, 0xc0, 0x81, 0x7f, 0xb5, 0xc4, 0xaf, 0x4d, 0xa6, - 0x88, 0x59, 0x47, 0xec, 0xea, 0x70, 0x82, 0x2d, 0xaa, 0x5a, 0xe7, 0x0c, 0x51, 0xe5, 0x5b, 0x74, - 0xd6, 0x4d, 0x0e, 0x7a, 0xc5, 0xe7, 0x68, 0xf7, 0x56, 0xff, 0xfc, 0xe3, 0x41, 0xb5, 0x47, 0x3c, - 0x86, 0x3c, 0xf6, 0xc5, 0xef, 0x02, 0x68, 0x2c, 0x83, 0x83, 0xf7, 0xc0, 0xce, 0x44, 0xef, 0x0c, - 0xc7, 0xda, 0x44, 0x3b, 0x18, 0x1a, 0xe3, 0x49, 0x67, 0x72, 0x38, 0x36, 0x0e, 0x87, 0xe3, 0x51, - 0xbf, 0xa7, 0x3d, 0xd6, 0xfa, 0xfb, 0x8d, 0x02, 0xfc, 0x0c, 0x34, 0xaf, 0x87, 0xf4, 0xf4, 0x7e, - 0x67, 0xa2, 0x0d, 0x07, 0xc6, 0x40, 0x3f, 0x38, 0x1c, 0x35, 0x04, 0xb8, 0x0b, 0xa4, 0xeb, 0x51, - 0xdf, 0x77, 0x34, 0x1e, 0x34, 0xd6, 0x06, 0xc3, 0x46, 0x11, 0x7e, 0x0e, 0xee, 0xff, 0x77, 0x4c, - 0xff, 0x87, 0x7e, 0xef, 0x30, 0x71, 0x34, 0x56, 0xb6, 0x4b, 0x2f, 0x7e, 0x91, 0x0a, 0xdd, 0xe1, - 0x6f, 0xb1, 0x24, 0xbc, 0x8e, 0x25, 0xe1, 0x4d, 0x2c, 0x09, 0x7f, 0xc7, 0x92, 0xf0, 0xf2, 0x42, - 0x2a, 0xbc, 0xb9, 0x90, 0x0a, 0x7f, 0x5d, 0x48, 0x85, 0xa7, 0xff, 0xbf, 0x75, 0x67, 0xf9, 0xbf, - 0x76, 0xfa, 0xf6, 0x5a, 0x15, 0x1e, 0xf2, 0xe5, 0xbf, 0x01, 0x00, 0x00, 0xff, 0xff, 0xe4, 0x95, - 0x03, 0x52, 0xdd, 0x07, 0x00, 0x00, + // 927 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x55, 0xcb, 0x6e, 0xdb, 0x46, + 0x14, 0x15, 0x65, 0x3d, 0xc7, 0x81, 0xad, 0x4c, 0x6a, 0x83, 0x76, 0x6b, 0x52, 0x71, 0x0a, 0x54, + 0x28, 0x10, 0x32, 0x51, 0xbb, 0xa9, 0x37, 0x85, 0x24, 0xcb, 0x2a, 0x51, 0x44, 0x16, 0x28, 0x19, + 0x2d, 0xb2, 0x21, 0xf8, 0x18, 0x31, 0x03, 0x5b, 0x1c, 0x85, 0x33, 0x34, 0x6c, 0xf4, 0x07, 0x02, + 0x74, 0x93, 0x4f, 0x28, 0xd0, 0x2e, 0x8a, 0x2e, 0xba, 0xea, 0x47, 0x04, 0x5d, 0x65, 0x59, 0x74, + 0xc1, 0x14, 0xf4, 0xa6, 0xdf, 0xe0, 0x55, 0xc1, 0x21, 0xa9, 0x97, 0x53, 0x34, 0x31, 0xba, 0x12, + 0x2f, 0xef, 0xe3, 0xdc, 0x7b, 0xce, 0xe5, 0x15, 0xd8, 0xb3, 0x4c, 0xcf, 0x61, 0x94, 0xaa, 0xe7, + 0x8f, 0x2d, 0xc4, 0xcc, 0xc7, 0x6a, 0x6a, 0x2b, 0x53, 0x9f, 0x30, 0x02, 0x37, 0x33, 0x33, 0x75, + 0xef, 0x7e, 0xe0, 0x12, 0x97, 0x70, 0x9f, 0x1a, 0x3f, 0x25, 0x61, 0xbb, 0xb2, 0x4b, 0x88, 0x7b, + 0x86, 0x54, 0x6e, 0x59, 0xc1, 0x58, 0x65, 0x78, 0x82, 0x28, 0x33, 0x27, 0xd3, 0x34, 0x40, 0xb2, + 0x09, 0x9d, 0x10, 0xaa, 0x5a, 0x26, 0x45, 0x33, 0x28, 0x9b, 0x60, 0x2f, 0xf5, 0xef, 0x24, 0x7e, + 0x23, 0xa9, 0x9c, 0x18, 0x89, 0x6b, 0xff, 0xa7, 0x3c, 0x28, 0x3d, 0x41, 0x13, 0x0b, 0xf9, 0x50, + 0x04, 0x65, 0xd3, 0x71, 0x7c, 0x44, 0xa9, 0x28, 0xd4, 0x85, 0x46, 0x55, 0xcf, 0x4c, 0xf8, 0x14, + 0x54, 0x5c, 0x9f, 0x04, 0x53, 0x03, 0x3b, 0x62, 0xbe, 0x2e, 0x34, 0x0a, 0xed, 0x2f, 0xa3, 0x50, + 0x2e, 0xf7, 0xe2, 0x77, 0xda, 0xe1, 0x75, 0x28, 0x3f, 0x72, 0x31, 0x7b, 0x16, 0x58, 0x8a, 0x4d, + 0x26, 0x7c, 0x44, 0x5e, 0xdb, 0x26, 0x67, 0xaa, 0xfd, 0xcc, 0xc4, 0x9e, 0x7a, 0xde, 0x54, 0xa7, + 0xa7, 0xae, 0x1a, 0x4f, 0x9a, 0xe6, 0xe8, 0x65, 0x5e, 0x50, 0x73, 0xe0, 0x87, 0xa0, 0x8a, 0xa9, + 0x61, 0xda, 0x0c, 0x9f, 0x23, 0x71, 0xad, 0x2e, 0x34, 0x2a, 0x7a, 0x05, 0xd3, 0x16, 0xb7, 0xe1, + 0x01, 0x28, 0x52, 0xec, 0xd9, 0x48, 0x2c, 0xd4, 0x85, 0xc6, 0x7a, 0x73, 0x57, 0x49, 0x98, 0x50, + 0x32, 0x26, 0x94, 0x51, 0xc6, 0x44, 0xbb, 0xf2, 0x2a, 0x94, 0x73, 0x2f, 0xdf, 0xc8, 0x82, 0x9e, + 0xa4, 0xc0, 0x2e, 0x58, 0x3f, 0x33, 0x29, 0xcb, 0x4a, 0x17, 0xdf, 0xa3, 0x02, 0x88, 0x13, 0x93, + 0x16, 0x0e, 0x0a, 0x7f, 0xff, 0x20, 0x0b, 0xfb, 0xe1, 0x1a, 0x28, 0x0f, 0xb1, 0xeb, 0x61, 0xcf, + 0x85, 0x0f, 0x40, 0x1e, 0x3b, 0x9c, 0xa2, 0x42, 0xfb, 0x5e, 0x14, 0xca, 0x79, 0x4e, 0x41, 0x35, + 0x75, 0x6b, 0x87, 0x7a, 0x1e, 0x3b, 0xf0, 0x39, 0xd8, 0x18, 0x23, 0x64, 0x4c, 0x91, 0x6f, 0x50, + 0xec, 0x7a, 0xc8, 0x17, 0xf3, 0xf5, 0xb5, 0xc6, 0x7a, 0x73, 0x47, 0x49, 0xe9, 0x8f, 0xb5, 0xca, + 0x74, 0x57, 0x3a, 0x04, 0x7b, 0xed, 0x47, 0x31, 0xfe, 0x2f, 0x6f, 0xe4, 0xc6, 0x02, 0x99, 0xa9, + 0xb0, 0xc9, 0xcf, 0x43, 0xea, 0x9c, 0xaa, 0xec, 0x72, 0x8a, 0x28, 0x4f, 0xa0, 0xfa, 0x9d, 0x31, + 0x42, 0x03, 0xe4, 0x0f, 0x39, 0x00, 0xfc, 0x08, 0x54, 0x7d, 0xf4, 0x3c, 0x40, 0x94, 0x21, 0x9f, + 0x33, 0x59, 0xd5, 0xe7, 0x2f, 0xe0, 0x0b, 0x01, 0x88, 0x76, 0xe0, 0xfb, 0xc8, 0x63, 0x46, 0x22, + 0x26, 0x4d, 0x1a, 0x8e, 0x45, 0x2d, 0xf0, 0x61, 0x8e, 0xa3, 0x50, 0xde, 0xea, 0x24, 0x31, 0x5c, + 0xa7, 0xd9, 0x48, 0xd7, 0xa1, 0xdc, 0x7c, 0x67, 0x89, 0xe7, 0x44, 0x6c, 0xd9, 0x6f, 0x29, 0xe6, + 0xc0, 0xef, 0x05, 0xb0, 0x83, 0x3d, 0x9b, 0x4c, 0x62, 0xf4, 0x1b, 0xbd, 0x14, 0x79, 0x2f, 0x83, + 0x28, 0x94, 0xb7, 0xb5, 0x34, 0xe8, 0x7f, 0x69, 0x66, 0x1b, 0xbf, 0xad, 0x9a, 0x93, 0x0a, 0xfc, + 0x67, 0x11, 0x6c, 0x72, 0xc7, 0xc8, 0x37, 0x3d, 0x8a, 0x19, 0x26, 0x1e, 0xb4, 0x00, 0x58, 0xe8, + 0x2b, 0x11, 0xbc, 0x13, 0x2d, 0x4a, 0x7d, 0xcb, 0x56, 0xaa, 0x74, 0xc6, 0xc5, 0x14, 0xd4, 0x96, + 0x55, 0x99, 0x7d, 0x62, 0x47, 0x51, 0x28, 0x6f, 0x2c, 0xaa, 0x71, 0xcb, 0x2f, 0x6d, 0x63, 0x51, + 0x04, 0xcd, 0x81, 0x08, 0x6c, 0x2d, 0x23, 0x4e, 0x03, 0xcb, 0x38, 0x45, 0x97, 0x7c, 0x65, 0xee, + 0xb4, 0x9b, 0xd7, 0xa1, 0xac, 0xbc, 0x33, 0xc8, 0x80, 0x60, 0x8f, 0xe9, 0x70, 0x11, 0x62, 0x10, + 0x58, 0x5f, 0xa3, 0x4b, 0x48, 0xc1, 0xdd, 0x15, 0x8d, 0x67, 0x7b, 0xd6, 0x8b, 0x42, 0x79, 0x73, + 0x49, 0xdb, 0x5b, 0x8e, 0xb6, 0xb9, 0x24, 0xa9, 0xe6, 0x40, 0x17, 0x6c, 0xaf, 0x80, 0x66, 0xc3, + 0x15, 0x6f, 0x3d, 0xdc, 0xbd, 0x25, 0x90, 0x74, 0xba, 0x2f, 0x40, 0x89, 0x32, 0x93, 0x05, 0x54, + 0x2c, 0xd5, 0x85, 0xc6, 0x46, 0xf3, 0xbe, 0xb2, 0x72, 0xca, 0x95, 0xf9, 0x1e, 0x0d, 0x79, 0xa0, + 0x9e, 0x26, 0xc0, 0x16, 0xa8, 0xa2, 0x0b, 0x64, 0x1b, 0xf1, 0x11, 0x17, 0xcb, 0xef, 0x71, 0x95, + 0x2a, 0x71, 0x5a, 0xec, 0x80, 0x0a, 0xb8, 0x87, 0xa9, 0x31, 0x26, 0xbe, 0x8d, 0x0c, 0x36, 0xc3, + 0x11, 0x2b, 0xfc, 0x7a, 0xde, 0xc5, 0xf4, 0x28, 0xf6, 0xcc, 0x1b, 0xd8, 0xff, 0x0e, 0xec, 0xad, + 0xec, 0x76, 0xbc, 0x8b, 0x26, 0x0b, 0x7c, 0x74, 0xec, 0x3b, 0xc8, 0x87, 0x4f, 0x40, 0x39, 0x23, + 0x4a, 0xe0, 0x44, 0x7d, 0xbe, 0xa2, 0x87, 0x4d, 0x26, 0x88, 0x59, 0x63, 0x36, 0x7f, 0x38, 0xc3, + 0x16, 0x55, 0xad, 0x4b, 0x86, 0xa8, 0xf2, 0x15, 0xba, 0x68, 0xc7, 0x0f, 0x7a, 0x69, 0xca, 0xd9, + 0x39, 0x58, 0xff, 0xfd, 0xb7, 0x87, 0xe5, 0x0e, 0xf1, 0x18, 0xf2, 0xd8, 0xa7, 0xbf, 0x0a, 0xa0, + 0xb6, 0x4a, 0x06, 0xbc, 0x0f, 0xf6, 0x46, 0x7a, 0xab, 0x3f, 0xd4, 0x46, 0xda, 0x71, 0xdf, 0x18, + 0x8e, 0x5a, 0xa3, 0x93, 0xa1, 0x71, 0xd2, 0x1f, 0x0e, 0xba, 0x1d, 0xed, 0x48, 0xeb, 0x1e, 0xd6, + 0x72, 0xf0, 0x63, 0x50, 0xbf, 0x19, 0xd2, 0xd1, 0xbb, 0xad, 0x91, 0xd6, 0xef, 0x19, 0x3d, 0xfd, + 0xf8, 0x64, 0x50, 0x13, 0xe0, 0x3e, 0x90, 0x6e, 0x46, 0x7d, 0xd3, 0xd2, 0x78, 0xd0, 0x50, 0xeb, + 0xf5, 0x6b, 0x79, 0xf8, 0x09, 0x78, 0xf0, 0xef, 0x31, 0xdd, 0x6f, 0xbb, 0x9d, 0x93, 0xd8, 0x51, + 0x5b, 0xdb, 0x2d, 0xbc, 0xf8, 0x51, 0xca, 0xb5, 0xfb, 0x3f, 0x47, 0x92, 0xf0, 0x2a, 0x92, 0x84, + 0xd7, 0x91, 0x24, 0xfc, 0x15, 0x49, 0xc2, 0xcb, 0x2b, 0x29, 0xf7, 0xfa, 0x4a, 0xca, 0xfd, 0x71, + 0x25, 0xe5, 0x9e, 0xfe, 0xf7, 0x96, 0x5e, 0x64, 0xff, 0xf2, 0xc9, 0xad, 0xb6, 0x4a, 0x3c, 0xe4, + 0xb3, 0x7f, 0x02, 0x00, 0x00, 0xff, 0xff, 0x23, 0x3f, 0xf5, 0x84, 0x0d, 0x08, 0x00, 0x00, } func (this *Member) Equal(that interface{}) bool { @@ -571,6 +582,9 @@ func (this *GroupTransition) Equal(that interface{}) bool { if !this.ExecTime.Equal(that1.ExecTime) { return false } + if this.IsForceTransition != that1.IsForceTransition { + return false + } return true } func (this *GroupTransitionSignatureOrder) Equal(that interface{}) bool { @@ -737,6 +751,16 @@ func (m *GroupTransition) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + if m.IsForceTransition { + i-- + if m.IsForceTransition { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x40 + } n3, err3 := github_com_cosmos_gogoproto_types.StdTimeMarshalTo(m.ExecTime, dAtA[i-github_com_cosmos_gogoproto_types.SizeOfStdTime(m.ExecTime):]) if err3 != nil { return 0, err3 @@ -902,6 +926,9 @@ func (m *GroupTransition) Size() (n int) { } l = github_com_cosmos_gogoproto_types.SizeOfStdTime(m.ExecTime) n += 1 + l + sovBandtss(uint64(l)) + if m.IsForceTransition { + n += 2 + } return n } @@ -1490,6 +1517,26 @@ func (m *GroupTransition) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex + case 8: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field IsForceTransition", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowBandtss + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.IsForceTransition = bool(v != 0) default: iNdEx = preIndex skippy, err := skipBandtss(dAtA[iNdEx:]) diff --git a/x/bandtss/types/codec.go b/x/bandtss/types/codec.go index 42936c1e5..dcb58426f 100644 --- a/x/bandtss/types/codec.go +++ b/x/bandtss/types/codec.go @@ -13,7 +13,7 @@ import ( // on the provided LegacyAmino codec. These types are used for Amino JSON serialization. func RegisterLegacyAminoCodec(cdc *codec.LegacyAmino) { legacy.RegisterAminoMsg(cdc, &MsgTransitionGroup{}, "bandtss/MsgTransitionGroup") - legacy.RegisterAminoMsg(cdc, &MsgForceReplaceGroup{}, "bandtss/MsgForceReplaceGroup") + legacy.RegisterAminoMsg(cdc, &MsgForceTransitionGroup{}, "bandtss/MsgForceTransitionGroup") legacy.RegisterAminoMsg(cdc, &MsgRequestSignature{}, "bandtss/MsgRequestSignature") legacy.RegisterAminoMsg(cdc, &MsgActivate{}, "bandtss/MsgActivate") legacy.RegisterAminoMsg(cdc, &MsgHeartbeat{}, "bandtss/MsgHeartbeat") @@ -24,7 +24,7 @@ func RegisterLegacyAminoCodec(cdc *codec.LegacyAmino) { func RegisterInterfaces(registry cdctypes.InterfaceRegistry) { registry.RegisterImplementations((*sdk.Msg)(nil), &MsgTransitionGroup{}, - &MsgForceReplaceGroup{}, + &MsgForceTransitionGroup{}, &MsgRequestSignature{}, &MsgActivate{}, &MsgHeartbeat{}, diff --git a/x/bandtss/types/constructor.go b/x/bandtss/types/constructor.go new file mode 100644 index 000000000..1ef71bc9a --- /dev/null +++ b/x/bandtss/types/constructor.go @@ -0,0 +1,30 @@ +package types + +import ( + "time" + + "github.com/bandprotocol/chain/v2/pkg/tss" +) + +// NewGroupTransition creates a transition object. +func NewGroupTransition( + signingID tss.SigningID, + currentGroupID tss.GroupID, + incomingGroupID tss.GroupID, + currentGroupPubKey tss.Point, + incomingGroupPubKey tss.Point, + status TransitionStatus, + execTime time.Time, + isForceTransition bool, +) GroupTransition { + return GroupTransition{ + SigningID: signingID, + CurrentGroupID: currentGroupID, + IncomingGroupID: incomingGroupID, + CurrentGroupPubKey: currentGroupPubKey, + IncomingGroupPubKey: incomingGroupPubKey, + Status: status, + ExecTime: execTime, + IsForceTransition: isForceTransition, + } +} diff --git a/x/bandtss/types/msgs.go b/x/bandtss/types/msgs.go index a8cb6e0c3..dca13f1a0 100644 --- a/x/bandtss/types/msgs.go +++ b/x/bandtss/types/msgs.go @@ -15,7 +15,7 @@ import ( var ( _ sdk.Msg = &MsgTransitionGroup{} - _ sdk.Msg = &MsgForceReplaceGroup{} + _ sdk.Msg = &MsgForceTransitionGroup{} _ sdk.Msg = &MsgRequestSignature{} _ sdk.Msg = &MsgActivate{} _ sdk.Msg = &MsgHeartbeat{} @@ -81,13 +81,13 @@ func (m MsgTransitionGroup) ValidateBasic() error { return nil } -// NewMsgForceReplaceGroup creates a new NewMsgForceReplaceGroup instance. -func NewMsgForceReplaceGroup( +// NewMsgForceTransitionGroup creates a new MsgForceTransitionGroup instance. +func NewMsgForceTransitionGroup( incomingGroupID tss.GroupID, execTime time.Time, authority string, -) *MsgForceReplaceGroup { - return &MsgForceReplaceGroup{ +) *MsgForceTransitionGroup { + return &MsgForceTransitionGroup{ IncomingGroupID: incomingGroupID, ExecTime: execTime, Authority: authority, @@ -95,20 +95,20 @@ func NewMsgForceReplaceGroup( } // Type returns message type name. -func (m MsgForceReplaceGroup) Type() string { return sdk.MsgTypeURL(&m) } +func (m MsgForceTransitionGroup) Type() string { return sdk.MsgTypeURL(&m) } // GetSignBytes Implements Msg. -func (m MsgForceReplaceGroup) GetSignBytes() []byte { +func (m MsgForceTransitionGroup) GetSignBytes() []byte { return sdk.MustSortJSON(ModuleCdc.MustMarshalJSON(&m)) } -// GetSigners returns the expected signers for a NewMsgForceReplaceGroup. -func (m MsgForceReplaceGroup) GetSigners() []sdk.AccAddress { +// GetSigners returns the expected signers for a MsgForceTransitionGroup. +func (m MsgForceTransitionGroup) GetSigners() []sdk.AccAddress { return []sdk.AccAddress{sdk.MustAccAddressFromBech32(m.Authority)} } // ValidateBasic does a sanity check on the provided data -func (m MsgForceReplaceGroup) ValidateBasic() error { +func (m MsgForceTransitionGroup) ValidateBasic() error { // Validate sender address if _, err := sdk.AccAddressFromBech32(m.Authority); err != nil { return sdkerrors.ErrInvalidAddress.Wrapf("invalid authority address: %s", err) diff --git a/x/bandtss/types/signature_order.go b/x/bandtss/types/signature_order.go index 9cc07f671..db5613573 100644 --- a/x/bandtss/types/signature_order.go +++ b/x/bandtss/types/signature_order.go @@ -11,7 +11,7 @@ import ( // GroupTransitionPath is the reserved path for transition group msg const GroupTransitionPath = "transition" -// GroupTransitionMsgPrefix is the prefix for replace group msg. +// GroupTransitionMsgPrefix is the prefix for transition group msg. var GroupTransitionMsgPrefix = tss.Hash([]byte(GroupTransitionPath))[:4] // Implements SignatureRequest Interface @@ -24,7 +24,7 @@ func NewGroupTransitionSignatureOrder(pubKey []byte) *GroupTransitionSignatureOr // OrderRoute returns the order router key func (rs *GroupTransitionSignatureOrder) OrderRoute() string { return RouterKey } -// OrderType of ReplaceGroupSignatureOrder is "transition" +// OrderType of GroupTransitionSignatureOrder is "transition" func (rs *GroupTransitionSignatureOrder) OrderType() string { return GroupTransitionPath } diff --git a/x/bandtss/types/tx.pb.go b/x/bandtss/types/tx.pb.go index 261b326a1..ba5fba473 100644 --- a/x/bandtss/types/tx.pb.go +++ b/x/bandtss/types/tx.pb.go @@ -507,9 +507,9 @@ func (m *MsgTransitionGroupResponse) XXX_DiscardUnknown() { var xxx_messageInfo_MsgTransitionGroupResponse proto.InternalMessageInfo -// MsgForceReplaceGroup is the Msg/ForceReplaceGroup request type. -type MsgForceReplaceGroup struct { - // incoming_group_id is the ID of the group that want to replace. +// MsgForceTransitionGroup is the Msg/ForceTransitionGroup request type. +type MsgForceTransitionGroup struct { + // incoming_group_id is the ID of the group that the module want to transition to. IncomingGroupID github_com_bandprotocol_chain_v2_pkg_tss.GroupID `protobuf:"varint,1,opt,name=incoming_group_id,json=incomingGroupId,proto3,casttype=github.com/bandprotocol/chain/v2/pkg/tss.GroupID" json:"incoming_group_id,omitempty"` // exec_time is the time that will be substituted in place of the group. ExecTime time.Time `protobuf:"bytes,2,opt,name=exec_time,json=execTime,proto3,stdtime" json:"exec_time"` @@ -517,18 +517,18 @@ type MsgForceReplaceGroup struct { Authority string `protobuf:"bytes,3,opt,name=authority,proto3" json:"authority,omitempty"` } -func (m *MsgForceReplaceGroup) Reset() { *m = MsgForceReplaceGroup{} } -func (m *MsgForceReplaceGroup) String() string { return proto.CompactTextString(m) } -func (*MsgForceReplaceGroup) ProtoMessage() {} -func (*MsgForceReplaceGroup) Descriptor() ([]byte, []int) { +func (m *MsgForceTransitionGroup) Reset() { *m = MsgForceTransitionGroup{} } +func (m *MsgForceTransitionGroup) String() string { return proto.CompactTextString(m) } +func (*MsgForceTransitionGroup) ProtoMessage() {} +func (*MsgForceTransitionGroup) Descriptor() ([]byte, []int) { return fileDescriptor_8572180c4a983113, []int{10} } -func (m *MsgForceReplaceGroup) XXX_Unmarshal(b []byte) error { +func (m *MsgForceTransitionGroup) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *MsgForceReplaceGroup) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *MsgForceTransitionGroup) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_MsgForceReplaceGroup.Marshal(b, m, deterministic) + return xxx_messageInfo_MsgForceTransitionGroup.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -538,55 +538,55 @@ func (m *MsgForceReplaceGroup) XXX_Marshal(b []byte, deterministic bool) ([]byte return b[:n], nil } } -func (m *MsgForceReplaceGroup) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgForceReplaceGroup.Merge(m, src) +func (m *MsgForceTransitionGroup) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgForceTransitionGroup.Merge(m, src) } -func (m *MsgForceReplaceGroup) XXX_Size() int { +func (m *MsgForceTransitionGroup) XXX_Size() int { return m.Size() } -func (m *MsgForceReplaceGroup) XXX_DiscardUnknown() { - xxx_messageInfo_MsgForceReplaceGroup.DiscardUnknown(m) +func (m *MsgForceTransitionGroup) XXX_DiscardUnknown() { + xxx_messageInfo_MsgForceTransitionGroup.DiscardUnknown(m) } -var xxx_messageInfo_MsgForceReplaceGroup proto.InternalMessageInfo +var xxx_messageInfo_MsgForceTransitionGroup proto.InternalMessageInfo -func (m *MsgForceReplaceGroup) GetIncomingGroupID() github_com_bandprotocol_chain_v2_pkg_tss.GroupID { +func (m *MsgForceTransitionGroup) GetIncomingGroupID() github_com_bandprotocol_chain_v2_pkg_tss.GroupID { if m != nil { return m.IncomingGroupID } return 0 } -func (m *MsgForceReplaceGroup) GetExecTime() time.Time { +func (m *MsgForceTransitionGroup) GetExecTime() time.Time { if m != nil { return m.ExecTime } return time.Time{} } -func (m *MsgForceReplaceGroup) GetAuthority() string { +func (m *MsgForceTransitionGroup) GetAuthority() string { if m != nil { return m.Authority } return "" } -// MsgForceReplaceGroupResponse is the Msg/ForceReplaceGroup response type. -type MsgForceReplaceGroupResponse struct { +// MsgForceTransitionGroupResponse is the Msg/ForceTransitionGroup response type. +type MsgForceTransitionGroupResponse struct { } -func (m *MsgForceReplaceGroupResponse) Reset() { *m = MsgForceReplaceGroupResponse{} } -func (m *MsgForceReplaceGroupResponse) String() string { return proto.CompactTextString(m) } -func (*MsgForceReplaceGroupResponse) ProtoMessage() {} -func (*MsgForceReplaceGroupResponse) Descriptor() ([]byte, []int) { +func (m *MsgForceTransitionGroupResponse) Reset() { *m = MsgForceTransitionGroupResponse{} } +func (m *MsgForceTransitionGroupResponse) String() string { return proto.CompactTextString(m) } +func (*MsgForceTransitionGroupResponse) ProtoMessage() {} +func (*MsgForceTransitionGroupResponse) Descriptor() ([]byte, []int) { return fileDescriptor_8572180c4a983113, []int{11} } -func (m *MsgForceReplaceGroupResponse) XXX_Unmarshal(b []byte) error { +func (m *MsgForceTransitionGroupResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *MsgForceReplaceGroupResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *MsgForceTransitionGroupResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_MsgForceReplaceGroupResponse.Marshal(b, m, deterministic) + return xxx_messageInfo_MsgForceTransitionGroupResponse.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -596,17 +596,17 @@ func (m *MsgForceReplaceGroupResponse) XXX_Marshal(b []byte, deterministic bool) return b[:n], nil } } -func (m *MsgForceReplaceGroupResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgForceReplaceGroupResponse.Merge(m, src) +func (m *MsgForceTransitionGroupResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgForceTransitionGroupResponse.Merge(m, src) } -func (m *MsgForceReplaceGroupResponse) XXX_Size() int { +func (m *MsgForceTransitionGroupResponse) XXX_Size() int { return m.Size() } -func (m *MsgForceReplaceGroupResponse) XXX_DiscardUnknown() { - xxx_messageInfo_MsgForceReplaceGroupResponse.DiscardUnknown(m) +func (m *MsgForceTransitionGroupResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgForceTransitionGroupResponse.DiscardUnknown(m) } -var xxx_messageInfo_MsgForceReplaceGroupResponse proto.InternalMessageInfo +var xxx_messageInfo_MsgForceTransitionGroupResponse proto.InternalMessageInfo func init() { proto.RegisterType((*MsgRequestSignature)(nil), "bandtss.v1beta1.MsgRequestSignature") @@ -619,72 +619,72 @@ func init() { proto.RegisterType((*MsgUpdateParamsResponse)(nil), "bandtss.v1beta1.MsgUpdateParamsResponse") proto.RegisterType((*MsgTransitionGroup)(nil), "bandtss.v1beta1.MsgTransitionGroup") proto.RegisterType((*MsgTransitionGroupResponse)(nil), "bandtss.v1beta1.MsgTransitionGroupResponse") - proto.RegisterType((*MsgForceReplaceGroup)(nil), "bandtss.v1beta1.MsgForceReplaceGroup") - proto.RegisterType((*MsgForceReplaceGroupResponse)(nil), "bandtss.v1beta1.MsgForceReplaceGroupResponse") + proto.RegisterType((*MsgForceTransitionGroup)(nil), "bandtss.v1beta1.MsgForceTransitionGroup") + proto.RegisterType((*MsgForceTransitionGroupResponse)(nil), "bandtss.v1beta1.MsgForceTransitionGroupResponse") } func init() { proto.RegisterFile("bandtss/v1beta1/tx.proto", fileDescriptor_8572180c4a983113) } var fileDescriptor_8572180c4a983113 = []byte{ - // 928 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x56, 0x41, 0x6f, 0xe3, 0x44, - 0x14, 0x8e, 0x9b, 0xa8, 0x49, 0xa6, 0x2b, 0x85, 0x7a, 0x03, 0x4d, 0xbd, 0x6d, 0x52, 0x65, 0x8b, - 0x14, 0x95, 0x8d, 0xdd, 0x16, 0xc1, 0xa1, 0x1c, 0x50, 0xb3, 0x88, 0xa5, 0x88, 0x20, 0xf0, 0x2e, - 0x97, 0x5e, 0x22, 0xc7, 0x79, 0x9d, 0x8c, 0x36, 0x9e, 0x31, 0x9e, 0x49, 0xd5, 0x5e, 0x39, 0x21, - 0x4e, 0xfb, 0x13, 0x38, 0x23, 0x0e, 0x2b, 0xd1, 0x23, 0x07, 0xc4, 0x69, 0xc5, 0x69, 0xc5, 0x89, - 0x53, 0x17, 0xa5, 0x87, 0xfd, 0x07, 0x1c, 0x38, 0x21, 0xdb, 0x63, 0xc7, 0xb5, 0xad, 0x6e, 0xa4, - 0x5e, 0xb8, 0xd4, 0x9e, 0xf7, 0x7d, 0x6f, 0xe6, 0x7d, 0x9f, 0xdf, 0xbc, 0x06, 0x35, 0x86, 0x16, - 0x1d, 0x09, 0xce, 0x8d, 0xd3, 0xbd, 0x21, 0x08, 0x6b, 0xcf, 0x10, 0x67, 0xba, 0xeb, 0x31, 0xc1, - 0xd4, 0x9a, 0x44, 0x74, 0x89, 0x68, 0x75, 0xcc, 0x30, 0x0b, 0x30, 0xc3, 0x7f, 0x0b, 0x69, 0xda, - 0x3a, 0x66, 0x0c, 0x4f, 0xc0, 0x08, 0x56, 0xc3, 0xe9, 0x89, 0x61, 0xd1, 0x73, 0x09, 0xb5, 0xd2, - 0x90, 0x20, 0x0e, 0x70, 0x61, 0x39, 0xae, 0x24, 0xac, 0x5a, 0x0e, 0xa1, 0xcc, 0x08, 0xfe, 0xca, - 0x50, 0xd3, 0x66, 0xdc, 0x61, 0xdc, 0x18, 0x5a, 0x1c, 0xe2, 0x9a, 0x6c, 0x46, 0x68, 0x74, 0x5c, - 0x88, 0x0f, 0xc2, 0x3a, 0xc2, 0x85, 0x84, 0xd6, 0x64, 0xaa, 0xc3, 0xb1, 0x71, 0xba, 0xe7, 0x3f, - 0x24, 0xb0, 0x99, 0xd6, 0x88, 0x81, 0x02, 0x27, 0x32, 0xaf, 0xfd, 0xcb, 0x12, 0xba, 0xdb, 0xe7, - 0xd8, 0x84, 0x6f, 0xa7, 0xc0, 0xc5, 0x63, 0x82, 0xa9, 0x25, 0xa6, 0x1e, 0xa8, 0x1f, 0xa1, 0xb2, - 0xcd, 0xa8, 0x00, 0x2a, 0x1a, 0xca, 0x96, 0xd2, 0x59, 0xd9, 0xaf, 0xeb, 0xa1, 0x20, 0x3d, 0x12, - 0xa4, 0x1f, 0xd2, 0xf3, 0xde, 0xca, 0x1f, 0x17, 0xdd, 0xf2, 0xc3, 0x90, 0x68, 0x46, 0x19, 0xaa, - 0x8a, 0x4a, 0x0e, 0x38, 0xac, 0xb1, 0xb4, 0xa5, 0x74, 0xaa, 0x66, 0xf0, 0xae, 0x8e, 0x51, 0xf5, - 0x04, 0x60, 0x30, 0x21, 0x0e, 0x11, 0x8d, 0xe2, 0x56, 0xb1, 0xb3, 0xb2, 0xbf, 0xae, 0x4b, 0x09, - 0xbe, 0xde, 0xc8, 0x69, 0xfd, 0x21, 0x23, 0xb4, 0xb7, 0xfb, 0xe2, 0xb2, 0x55, 0xf8, 0xe9, 0x55, - 0xab, 0x83, 0x89, 0x18, 0x4f, 0x87, 0xba, 0xcd, 0x1c, 0xa9, 0x57, 0x3e, 0xba, 0x7c, 0xf4, 0xd4, - 0x10, 0xe7, 0x2e, 0xf0, 0x20, 0x81, 0x9b, 0x95, 0x13, 0x80, 0x2f, 0xfc, 0xcd, 0xd5, 0x5d, 0xb4, - 0xcc, 0x81, 0x8e, 0xc0, 0x6b, 0x94, 0xfc, 0xf3, 0x7b, 0x8d, 0x3f, 0x2f, 0xba, 0x75, 0x79, 0xd2, - 0xe1, 0x68, 0xe4, 0x01, 0xe7, 0x8f, 0x85, 0x47, 0x28, 0x36, 0x25, 0xef, 0xc0, 0xf8, 0xfe, 0xc7, - 0x56, 0xe1, 0xbb, 0xd7, 0xcf, 0x77, 0x64, 0xe0, 0x87, 0xd7, 0xcf, 0x77, 0xee, 0x45, 0xbe, 0xe5, - 0xb8, 0xd3, 0xde, 0x44, 0xf7, 0x72, 0xc2, 0x26, 0x70, 0x97, 0x51, 0x0e, 0xed, 0xdf, 0x14, 0xb4, - 0xd2, 0xe7, 0xf8, 0xd0, 0x16, 0xe4, 0xd4, 0x12, 0x90, 0xa8, 0x48, 0x59, 0xac, 0x22, 0xf5, 0x18, - 0x55, 0xb0, 0xc7, 0xa6, 0xee, 0x80, 0x8c, 0x02, 0x17, 0x4b, 0xbd, 0x8f, 0x67, 0x97, 0xad, 0xf2, - 0x23, 0x3f, 0x76, 0xf4, 0xc9, 0xbf, 0x97, 0xad, 0xdd, 0x84, 0x31, 0x7e, 0xa5, 0xc1, 0x57, 0xb1, - 0xd9, 0xc4, 0xb0, 0xc7, 0x16, 0xa1, 0xc6, 0xe9, 0xbe, 0xe1, 0x3e, 0xc5, 0x86, 0xdf, 0xc1, 0x32, - 0xc7, 0x2c, 0x07, 0x1b, 0x1e, 0x8d, 0x0e, 0xee, 0xa7, 0x94, 0xde, 0x4d, 0x28, 0x8d, 0x4a, 0x6e, - 0xbf, 0x1d, 0xb4, 0x45, 0xb4, 0x8c, 0x95, 0xfd, 0xae, 0xa0, 0x3b, 0x7d, 0x8e, 0x3f, 0x03, 0xcb, - 0x13, 0x43, 0xb0, 0xc4, 0xff, 0x4c, 0xda, 0x76, 0x4a, 0x5a, 0x3d, 0x21, 0x2d, 0xae, 0xb9, 0xfd, - 0x0e, 0xaa, 0x27, 0xd7, 0xb1, 0xb8, 0x9f, 0x15, 0x54, 0xeb, 0x73, 0xfc, 0x8d, 0x3b, 0xb2, 0x04, - 0x7c, 0x65, 0x79, 0x96, 0xc3, 0xd5, 0x0f, 0xd0, 0xb2, 0x1b, 0xbc, 0xc9, 0x6b, 0xb0, 0xa6, 0xa7, - 0x26, 0x83, 0x1e, 0x12, 0x7b, 0x25, 0xbf, 0x63, 0x4d, 0x49, 0x56, 0x3f, 0x44, 0x55, 0x6b, 0x2a, - 0xc6, 0xcc, 0x23, 0xe2, 0x3c, 0xbc, 0x06, 0x37, 0x38, 0x33, 0xa7, 0x1e, 0xec, 0xf8, 0x02, 0xe6, - 0x6b, 0x5f, 0xc3, 0x5a, 0x42, 0x43, 0xb2, 0xb4, 0xf6, 0x3a, 0x5a, 0x4b, 0x85, 0x62, 0x25, 0xff, - 0x28, 0x48, 0xed, 0x73, 0xfc, 0xc4, 0xb3, 0x28, 0x27, 0x82, 0x30, 0x1a, 0x38, 0xa5, 0x36, 0x50, - 0xd9, 0x01, 0x67, 0x08, 0x9e, 0xaf, 0xa6, 0xd8, 0xa9, 0x9a, 0xd1, 0x52, 0xdd, 0x40, 0x55, 0x31, - 0xf6, 0x80, 0x8f, 0xd9, 0x44, 0x7e, 0x15, 0x73, 0x1e, 0x50, 0x0f, 0x51, 0x15, 0xce, 0xc0, 0x1e, - 0xf8, 0x23, 0xac, 0x51, 0x0c, 0x7c, 0xd0, 0x32, 0xe3, 0xe0, 0x49, 0x34, 0xdf, 0x7a, 0x15, 0xdf, - 0x8a, 0x67, 0xaf, 0x5a, 0x8a, 0x59, 0xf1, 0xd3, 0x7c, 0xe0, 0xba, 0x21, 0xa5, 0xc5, 0x0d, 0xe9, - 0x66, 0x0d, 0xd1, 0x12, 0x86, 0xa4, 0x14, 0xb6, 0x37, 0x90, 0x96, 0x8d, 0xc6, 0xb6, 0x5c, 0x2c, - 0x05, 0x5f, 0xfe, 0x53, 0xe6, 0xd9, 0x60, 0x82, 0x3b, 0xb1, 0x6c, 0x08, 0x8d, 0xe1, 0x68, 0x95, - 0x50, 0x9b, 0x39, 0x84, 0xe2, 0x41, 0xdc, 0x9c, 0x4a, 0xd0, 0x9c, 0x8f, 0x66, 0x97, 0xad, 0xda, - 0x91, 0x04, 0x6f, 0xd3, 0xa4, 0x35, 0x72, 0x6d, 0x93, 0x94, 0xab, 0x4b, 0xb7, 0x77, 0xb5, 0xb8, - 0xb8, 0xab, 0x0f, 0xb2, 0xae, 0xae, 0x47, 0xae, 0x66, 0xdc, 0x69, 0x37, 0xd1, 0x46, 0x9e, 0x6b, - 0x91, 0xad, 0xfb, 0xbf, 0x96, 0x50, 0xb1, 0xcf, 0xb1, 0x7a, 0x82, 0xde, 0xca, 0xfc, 0x1f, 0xd9, - 0xce, 0xdc, 0x97, 0x9c, 0xc1, 0xa9, 0x3d, 0x58, 0x84, 0x15, 0x9d, 0xa7, 0x7e, 0x89, 0x2a, 0xf1, - 0x68, 0xdd, 0xc8, 0xcb, 0x8c, 0x50, 0x6d, 0xfb, 0x26, 0x34, 0xde, 0xef, 0x6b, 0x54, 0x9d, 0x0f, - 0xb4, 0xcd, 0xbc, 0x94, 0x18, 0xd6, 0xde, 0xbd, 0x11, 0x8e, 0xb7, 0x3c, 0x46, 0x77, 0xae, 0x8d, - 0x91, 0xad, 0xbc, 0xb4, 0x24, 0x43, 0xeb, 0xbc, 0x89, 0x11, 0xef, 0x6d, 0xa3, 0x5a, 0xfa, 0x62, - 0xdf, 0xcf, 0x4b, 0x4e, 0x91, 0xb4, 0xf7, 0x16, 0x20, 0xc5, 0x87, 0x10, 0xb4, 0x9a, 0xbd, 0x26, - 0xb9, 0xe2, 0x33, 0x34, 0xad, 0xbb, 0x10, 0x2d, 0x3a, 0xaa, 0xf7, 0xf9, 0x8b, 0x59, 0x53, 0x79, - 0x39, 0x6b, 0x2a, 0x7f, 0xcf, 0x9a, 0xca, 0xb3, 0xab, 0x66, 0xe1, 0xe5, 0x55, 0xb3, 0xf0, 0xd7, - 0x55, 0xb3, 0x70, 0xfc, 0xe6, 0x4b, 0x76, 0x66, 0x44, 0x6d, 0x1b, 0xfc, 0x16, 0x18, 0x2e, 0x07, - 0x94, 0xf7, 0xff, 0x0b, 0x00, 0x00, 0xff, 0xff, 0xd6, 0x90, 0x59, 0x7e, 0xda, 0x09, 0x00, 0x00, + // 925 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x56, 0x31, 0x6f, 0x23, 0x45, + 0x14, 0xf6, 0xc6, 0x56, 0x6c, 0x4f, 0x4e, 0x32, 0xb7, 0x67, 0x88, 0xb3, 0x97, 0x78, 0x83, 0x2f, + 0x48, 0x56, 0x20, 0x3b, 0x49, 0x10, 0x14, 0xa1, 0x40, 0xf1, 0x21, 0x8e, 0x20, 0x8c, 0x60, 0xef, + 0x68, 0xd2, 0x58, 0xe3, 0xf5, 0x64, 0x3c, 0xba, 0xec, 0x8c, 0xd9, 0x19, 0x47, 0x49, 0x4b, 0x85, + 0xa8, 0xee, 0x27, 0x50, 0x23, 0x8a, 0x93, 0xb8, 0x8a, 0x0a, 0x21, 0x21, 0x9d, 0xa8, 0x4e, 0x54, + 0x54, 0x39, 0xe4, 0x14, 0xf7, 0x0f, 0x28, 0xa8, 0xd0, 0x8c, 0x67, 0x37, 0x9b, 0xf5, 0x92, 0xb3, + 0x74, 0x0d, 0x4d, 0x76, 0xe7, 0x7d, 0xdf, 0x9b, 0x79, 0xdf, 0xb7, 0x6f, 0x5e, 0x0c, 0x1a, 0x7d, + 0xc4, 0x06, 0x52, 0x08, 0x78, 0xb2, 0xd3, 0xc7, 0x12, 0xed, 0x40, 0x79, 0xea, 0x8d, 0x22, 0x2e, + 0xb9, 0x5d, 0x33, 0x88, 0x67, 0x10, 0xa7, 0x4e, 0x38, 0xe1, 0x1a, 0x83, 0xea, 0x6d, 0x4a, 0x73, + 0x56, 0x08, 0xe7, 0xe4, 0x18, 0x43, 0xbd, 0xea, 0x8f, 0x8f, 0x20, 0x62, 0x67, 0x06, 0x72, 0xb3, + 0x90, 0xa4, 0x21, 0x16, 0x12, 0x85, 0x23, 0x43, 0xb8, 0x89, 0x42, 0xca, 0x38, 0xd4, 0x7f, 0x4d, + 0xa8, 0x19, 0x70, 0x11, 0x72, 0x01, 0xfb, 0x48, 0xe0, 0xa4, 0xa6, 0x80, 0x53, 0x16, 0x1f, 0x37, + 0xc5, 0x7b, 0xd3, 0x3a, 0xa6, 0x0b, 0x03, 0x2d, 0x9b, 0xd4, 0x50, 0x10, 0x78, 0xb2, 0xa3, 0x1e, + 0x06, 0x58, 0xcb, 0x6a, 0x24, 0x98, 0x61, 0x41, 0x4d, 0x5e, 0xeb, 0xa7, 0x05, 0x70, 0xab, 0x2b, + 0x88, 0x8f, 0xbf, 0x1e, 0x63, 0x21, 0xef, 0x53, 0xc2, 0x90, 0x1c, 0x47, 0xd8, 0xfe, 0x00, 0x94, + 0x03, 0xce, 0x24, 0x66, 0xb2, 0x61, 0xad, 0x5b, 0xed, 0xa5, 0xdd, 0xba, 0x37, 0x15, 0xe4, 0xc5, + 0x82, 0xbc, 0x7d, 0x76, 0xd6, 0x59, 0xfa, 0xfd, 0xc9, 0x56, 0xf9, 0xee, 0x94, 0xe8, 0xc7, 0x19, + 0xb6, 0x0d, 0x4a, 0x21, 0x0e, 0x79, 0x63, 0x61, 0xdd, 0x6a, 0x57, 0x7d, 0xfd, 0x6e, 0x0f, 0x41, + 0xf5, 0x08, 0xe3, 0xde, 0x31, 0x0d, 0xa9, 0x6c, 0x14, 0xd7, 0x8b, 0xed, 0xa5, 0xdd, 0x15, 0xcf, + 0x48, 0x50, 0x7a, 0x63, 0xa7, 0xbd, 0xbb, 0x9c, 0xb2, 0xce, 0xf6, 0xd3, 0x73, 0xb7, 0xf0, 0xc3, + 0x73, 0xb7, 0x4d, 0xa8, 0x1c, 0x8e, 0xfb, 0x5e, 0xc0, 0x43, 0xa3, 0xd7, 0x3c, 0xb6, 0xc4, 0xe0, + 0x21, 0x94, 0x67, 0x23, 0x2c, 0x74, 0x82, 0xf0, 0x2b, 0x47, 0x18, 0x7f, 0xa6, 0x36, 0xb7, 0xb7, + 0xc1, 0xa2, 0xc0, 0x6c, 0x80, 0xa3, 0x46, 0x49, 0x9d, 0xdf, 0x69, 0xfc, 0xf1, 0x64, 0xab, 0x6e, + 0x4e, 0xda, 0x1f, 0x0c, 0x22, 0x2c, 0xc4, 0x7d, 0x19, 0x51, 0x46, 0x7c, 0xc3, 0xdb, 0x83, 0xdf, + 0x7e, 0xef, 0x16, 0xbe, 0x79, 0xf1, 0x78, 0xd3, 0x04, 0xbe, 0x7b, 0xf1, 0x78, 0xf3, 0x76, 0xec, + 0x5b, 0x8e, 0x3b, 0xad, 0x35, 0x70, 0x3b, 0x27, 0xec, 0x63, 0x31, 0xe2, 0x4c, 0xe0, 0xd6, 0x2f, + 0x16, 0x58, 0xea, 0x0a, 0xb2, 0x1f, 0x48, 0x7a, 0x82, 0x24, 0x4e, 0x55, 0x64, 0xcd, 0x57, 0x91, + 0x7d, 0x08, 0x2a, 0x24, 0xe2, 0xe3, 0x51, 0x8f, 0x0e, 0xb4, 0x8b, 0xa5, 0xce, 0x87, 0x93, 0x73, + 0xb7, 0x7c, 0x4f, 0xc5, 0x0e, 0x3e, 0xfa, 0xe7, 0xdc, 0xdd, 0x4e, 0x19, 0xa3, 0x2a, 0xd5, 0x5f, + 0x25, 0xe0, 0xc7, 0x30, 0x18, 0x22, 0xca, 0xe0, 0xc9, 0x2e, 0x1c, 0x3d, 0x24, 0x50, 0x75, 0xb0, + 0xc9, 0xf1, 0xcb, 0x7a, 0xc3, 0x83, 0xc1, 0xde, 0x9d, 0x8c, 0xd2, 0x5b, 0x29, 0xa5, 0x71, 0xc9, + 0xad, 0xd7, 0x75, 0x5b, 0xc4, 0xcb, 0x44, 0xd9, 0xaf, 0x16, 0xb8, 0xd1, 0x15, 0xe4, 0x13, 0x8c, + 0x22, 0xd9, 0xc7, 0x48, 0xfe, 0xcf, 0xa4, 0x6d, 0x64, 0xa4, 0xd5, 0x53, 0xd2, 0x92, 0x9a, 0x5b, + 0x6f, 0x80, 0x7a, 0x7a, 0x9d, 0x88, 0xfb, 0xd1, 0x02, 0xb5, 0xae, 0x20, 0x5f, 0x8d, 0x06, 0x48, + 0xe2, 0x2f, 0x50, 0x84, 0x42, 0x61, 0xbf, 0x07, 0x16, 0x47, 0xfa, 0xcd, 0x5c, 0x83, 0x65, 0x2f, + 0x33, 0x19, 0xbc, 0x29, 0xb1, 0x53, 0x52, 0x1d, 0xeb, 0x1b, 0xb2, 0xfd, 0x3e, 0xa8, 0xa2, 0xb1, + 0x1c, 0xf2, 0x88, 0xca, 0xb3, 0xe9, 0x35, 0xb8, 0xc6, 0x99, 0x4b, 0xea, 0xde, 0xa6, 0x12, 0x70, + 0xb9, 0x56, 0x1a, 0x96, 0x53, 0x1a, 0xd2, 0xa5, 0xb5, 0x56, 0xc0, 0x72, 0x26, 0x94, 0x28, 0xf9, + 0xdb, 0x02, 0x76, 0x57, 0x90, 0x07, 0x11, 0x62, 0x82, 0x4a, 0xca, 0x99, 0x76, 0xca, 0x6e, 0x80, + 0x72, 0x88, 0xc3, 0x3e, 0x8e, 0x94, 0x9a, 0x62, 0xbb, 0xea, 0xc7, 0x4b, 0x7b, 0x15, 0x54, 0xe5, + 0x30, 0xc2, 0x62, 0xc8, 0x8f, 0xcd, 0x57, 0xf1, 0x2f, 0x03, 0xf6, 0x3e, 0xa8, 0xe2, 0x53, 0x1c, + 0xf4, 0xd4, 0x08, 0x6b, 0x14, 0xb5, 0x0f, 0xce, 0xcc, 0x38, 0x78, 0x10, 0xcf, 0xb7, 0x4e, 0x45, + 0x59, 0xf1, 0xe8, 0xb9, 0x6b, 0xf9, 0x15, 0x95, 0xa6, 0x80, 0xab, 0x86, 0x94, 0xe6, 0x37, 0x64, + 0x6b, 0xd6, 0x10, 0x27, 0x65, 0x48, 0x46, 0x61, 0x6b, 0x15, 0x38, 0xb3, 0xd1, 0xc4, 0x96, 0x9f, + 0x17, 0xb4, 0x65, 0x1f, 0xf3, 0x28, 0xc0, 0x59, 0x6f, 0x04, 0xb8, 0x49, 0x59, 0xc0, 0x43, 0xca, + 0x48, 0x2f, 0xe9, 0x4f, 0x4b, 0xf7, 0xe7, 0xbd, 0xc9, 0xb9, 0x5b, 0x3b, 0x30, 0xe0, 0xab, 0xf4, + 0x69, 0x8d, 0x5e, 0xd9, 0x24, 0x63, 0xec, 0xc2, 0xab, 0x1b, 0x5b, 0x9c, 0xdf, 0x58, 0x38, 0x6b, + 0xec, 0x6a, 0x6c, 0x6c, 0x9e, 0x41, 0xad, 0x37, 0x81, 0xfb, 0x1f, 0xde, 0xc5, 0xfe, 0xee, 0xfe, + 0x56, 0x02, 0xc5, 0xae, 0x20, 0xf6, 0x11, 0x78, 0x6d, 0xe6, 0x1f, 0xca, 0xc6, 0xcc, 0xc5, 0xc9, + 0x99, 0xa0, 0xce, 0x3b, 0xf3, 0xb0, 0xe2, 0xf3, 0xec, 0xcf, 0x41, 0x25, 0x99, 0xb1, 0xab, 0x79, + 0x99, 0x31, 0xea, 0x6c, 0x5c, 0x87, 0x26, 0xfb, 0x7d, 0x09, 0xaa, 0x97, 0x93, 0x6d, 0x2d, 0x2f, + 0x25, 0x81, 0x9d, 0xb7, 0xae, 0x85, 0x93, 0x2d, 0x0f, 0xc1, 0x8d, 0x2b, 0xf3, 0x64, 0x3d, 0x2f, + 0x2d, 0xcd, 0x70, 0xda, 0x2f, 0x63, 0x24, 0x7b, 0x07, 0xa0, 0x96, 0xed, 0xe2, 0x3b, 0x79, 0xc9, + 0x19, 0x92, 0xf3, 0xf6, 0x1c, 0xa4, 0xe4, 0x90, 0x08, 0xd4, 0x73, 0xef, 0x4b, 0x6e, 0x99, 0x79, + 0x4c, 0x67, 0x7b, 0x5e, 0x66, 0x7c, 0x66, 0xe7, 0xd3, 0xa7, 0x93, 0xa6, 0xf5, 0x6c, 0xd2, 0xb4, + 0xfe, 0x9a, 0x34, 0xad, 0x47, 0x17, 0xcd, 0xc2, 0xb3, 0x8b, 0x66, 0xe1, 0xcf, 0x8b, 0x66, 0xe1, + 0xf0, 0xe5, 0x77, 0xee, 0x14, 0xc6, 0x5d, 0xac, 0x7f, 0x1d, 0xf4, 0x17, 0x35, 0xe5, 0xdd, 0x7f, + 0x03, 0x00, 0x00, 0xff, 0xff, 0x0c, 0x0a, 0x35, 0x1c, 0xec, 0x09, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -709,9 +709,9 @@ type MsgClient interface { UpdateParams(ctx context.Context, in *MsgUpdateParams, opts ...grpc.CallOption) (*MsgUpdateParamsResponse, error) // TransitionGroup creates a request for creating a new group and replacing current group. TransitionGroup(ctx context.Context, in *MsgTransitionGroup, opts ...grpc.CallOption) (*MsgTransitionGroupResponse, error) - // ForceReplaceGroup sets the given group to the incoming group without the signature of a transition + // ForceTransitionGroup sets the given group to the incoming group without the signature of a transition // message from a current group. - ForceReplaceGroup(ctx context.Context, in *MsgForceReplaceGroup, opts ...grpc.CallOption) (*MsgForceReplaceGroupResponse, error) + ForceTransitionGroup(ctx context.Context, in *MsgForceTransitionGroup, opts ...grpc.CallOption) (*MsgForceTransitionGroupResponse, error) } type msgClient struct { @@ -767,9 +767,9 @@ func (c *msgClient) TransitionGroup(ctx context.Context, in *MsgTransitionGroup, return out, nil } -func (c *msgClient) ForceReplaceGroup(ctx context.Context, in *MsgForceReplaceGroup, opts ...grpc.CallOption) (*MsgForceReplaceGroupResponse, error) { - out := new(MsgForceReplaceGroupResponse) - err := c.cc.Invoke(ctx, "/bandtss.v1beta1.Msg/ForceReplaceGroup", in, out, opts...) +func (c *msgClient) ForceTransitionGroup(ctx context.Context, in *MsgForceTransitionGroup, opts ...grpc.CallOption) (*MsgForceTransitionGroupResponse, error) { + out := new(MsgForceTransitionGroupResponse) + err := c.cc.Invoke(ctx, "/bandtss.v1beta1.Msg/ForceTransitionGroup", in, out, opts...) if err != nil { return nil, err } @@ -788,9 +788,9 @@ type MsgServer interface { UpdateParams(context.Context, *MsgUpdateParams) (*MsgUpdateParamsResponse, error) // TransitionGroup creates a request for creating a new group and replacing current group. TransitionGroup(context.Context, *MsgTransitionGroup) (*MsgTransitionGroupResponse, error) - // ForceReplaceGroup sets the given group to the incoming group without the signature of a transition + // ForceTransitionGroup sets the given group to the incoming group without the signature of a transition // message from a current group. - ForceReplaceGroup(context.Context, *MsgForceReplaceGroup) (*MsgForceReplaceGroupResponse, error) + ForceTransitionGroup(context.Context, *MsgForceTransitionGroup) (*MsgForceTransitionGroupResponse, error) } // UnimplementedMsgServer can be embedded to have forward compatible implementations. @@ -812,8 +812,8 @@ func (*UnimplementedMsgServer) UpdateParams(ctx context.Context, req *MsgUpdateP func (*UnimplementedMsgServer) TransitionGroup(ctx context.Context, req *MsgTransitionGroup) (*MsgTransitionGroupResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method TransitionGroup not implemented") } -func (*UnimplementedMsgServer) ForceReplaceGroup(ctx context.Context, req *MsgForceReplaceGroup) (*MsgForceReplaceGroupResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method ForceReplaceGroup not implemented") +func (*UnimplementedMsgServer) ForceTransitionGroup(ctx context.Context, req *MsgForceTransitionGroup) (*MsgForceTransitionGroupResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ForceTransitionGroup not implemented") } func RegisterMsgServer(s grpc1.Server, srv MsgServer) { @@ -910,20 +910,20 @@ func _Msg_TransitionGroup_Handler(srv interface{}, ctx context.Context, dec func return interceptor(ctx, in, info, handler) } -func _Msg_ForceReplaceGroup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgForceReplaceGroup) +func _Msg_ForceTransitionGroup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgForceTransitionGroup) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(MsgServer).ForceReplaceGroup(ctx, in) + return srv.(MsgServer).ForceTransitionGroup(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/bandtss.v1beta1.Msg/ForceReplaceGroup", + FullMethod: "/bandtss.v1beta1.Msg/ForceTransitionGroup", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).ForceReplaceGroup(ctx, req.(*MsgForceReplaceGroup)) + return srv.(MsgServer).ForceTransitionGroup(ctx, req.(*MsgForceTransitionGroup)) } return interceptor(ctx, in, info, handler) } @@ -953,8 +953,8 @@ var _Msg_serviceDesc = grpc.ServiceDesc{ Handler: _Msg_TransitionGroup_Handler, }, { - MethodName: "ForceReplaceGroup", - Handler: _Msg_ForceReplaceGroup_Handler, + MethodName: "ForceTransitionGroup", + Handler: _Msg_ForceTransitionGroup_Handler, }, }, Streams: []grpc.StreamDesc{}, @@ -1301,7 +1301,7 @@ func (m *MsgTransitionGroupResponse) MarshalToSizedBuffer(dAtA []byte) (int, err return len(dAtA) - i, nil } -func (m *MsgForceReplaceGroup) Marshal() (dAtA []byte, err error) { +func (m *MsgForceTransitionGroup) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -1311,12 +1311,12 @@ func (m *MsgForceReplaceGroup) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgForceReplaceGroup) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgForceTransitionGroup) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgForceReplaceGroup) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgForceTransitionGroup) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -1344,7 +1344,7 @@ func (m *MsgForceReplaceGroup) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *MsgForceReplaceGroupResponse) Marshal() (dAtA []byte, err error) { +func (m *MsgForceTransitionGroupResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -1354,12 +1354,12 @@ func (m *MsgForceReplaceGroupResponse) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgForceReplaceGroupResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgForceTransitionGroupResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgForceReplaceGroupResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgForceTransitionGroupResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -1521,7 +1521,7 @@ func (m *MsgTransitionGroupResponse) Size() (n int) { return n } -func (m *MsgForceReplaceGroup) Size() (n int) { +func (m *MsgForceTransitionGroup) Size() (n int) { if m == nil { return 0 } @@ -1539,7 +1539,7 @@ func (m *MsgForceReplaceGroup) Size() (n int) { return n } -func (m *MsgForceReplaceGroupResponse) Size() (n int) { +func (m *MsgForceTransitionGroupResponse) Size() (n int) { if m == nil { return 0 } @@ -2471,7 +2471,7 @@ func (m *MsgTransitionGroupResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgForceReplaceGroup) Unmarshal(dAtA []byte) error { +func (m *MsgForceTransitionGroup) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -2494,10 +2494,10 @@ func (m *MsgForceReplaceGroup) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgForceReplaceGroup: wiretype end group for non-group") + return fmt.Errorf("proto: MsgForceTransitionGroup: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgForceReplaceGroup: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgForceTransitionGroup: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -2605,7 +2605,7 @@ func (m *MsgForceReplaceGroup) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgForceReplaceGroupResponse) Unmarshal(dAtA []byte) error { +func (m *MsgForceTransitionGroupResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -2628,10 +2628,10 @@ func (m *MsgForceReplaceGroupResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgForceReplaceGroupResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgForceTransitionGroupResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgForceReplaceGroupResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgForceTransitionGroupResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: diff --git a/x/tss/README.md b/x/tss/README.md index 8b512dbee..d2b1ae20f 100644 --- a/x/tss/README.md +++ b/x/tss/README.md @@ -53,7 +53,6 @@ Once the group is established, the group's owner can request specific signatures - [EventTypeRound3Failed](#eventtyperound3failed) - [EventTypeRequestSignature](#eventtyperequestsignature) - [EventTypeSigningSuccess](#eventtypesigningsuccess) - - [EventTypeReplaceSuccess](#eventtypereplacesuccess) - [EventTypeSubmitSignature](#eventtypesubmitsignature) - [EventTypeSigningFailed](#eventtypesigningfailed) - [Client](#client)