From 130a8d617acdfa9374ae78e3d2db14c0187a69fb Mon Sep 17 00:00:00 2001 From: ryanbajollari <54822716+rbajollari@users.noreply.github.com> Date: Mon, 30 Oct 2023 20:56:41 -0400 Subject: [PATCH] feat: Allow multiple param update plans in the store at one time (#300) * Allow multiple param update plans in the store at one time * lint * lint * handle error for ExecuteParamUpdate --- proto/ojo/oracle/v1/tx.proto | 19 +- x/oracle/abci.go | 14 +- x/oracle/abci_test.go | 40 ++-- x/oracle/keeper/msg_server.go | 10 +- x/oracle/keeper/msg_server_test.go | 18 +- x/oracle/keeper/param_update_plan.go | 61 ++++-- x/oracle/types/keys.go | 6 +- x/oracle/types/msgs.go | 18 +- x/oracle/types/proposal.go | 12 +- x/oracle/types/tx.pb.go | 300 +++++++++++++++------------ 10 files changed, 291 insertions(+), 207 deletions(-) diff --git a/proto/ojo/oracle/v1/tx.proto b/proto/ojo/oracle/v1/tx.proto index b3ccea67..a980b231 100644 --- a/proto/ojo/oracle/v1/tx.proto +++ b/proto/ojo/oracle/v1/tx.proto @@ -44,9 +44,9 @@ service Msg { rpc GovRemoveCurrencyDeviationThresholds(MsgGovRemoveCurrencyDeviationThresholds) returns (MsgGovRemoveCurrencyDeviationThresholdsResponse); - // GovCancelUpdateParams cancels a plan to update the oracle parameters. - rpc GovCancelUpdateParams(MsgGovCancelUpdateParams) - returns (MsgGovCancelUpdateParamsResponse); + // GovCancelUpdateParamPlan cancels a plan to update the oracle parameters. + rpc GovCancelUpdateParamPlan(MsgGovCancelUpdateParamPlan) + returns (MsgGovCancelUpdateParamPlanResponse); } // MsgAggregateExchangeRatePrevote represents a message to submit an aggregate @@ -234,8 +234,8 @@ message MsgGovRemoveCurrencyDeviationThresholds { // MsgGovRemoveCurrencyDeviationThresholdsResponse defines the Msg/GovRemoveCurrencyDeviationThresholdsResponse response type. message MsgGovRemoveCurrencyDeviationThresholdsResponse {} -// MsgGovCancelUpdateParams defines the Msg/GovCancelUpdateParams request type. -message MsgGovCancelUpdateParams { +// MsgGovCancelUpdateParamPlan defines the Msg/GovCancelUpdateParamPlan request type. +message MsgGovCancelUpdateParamPlan { option (gogoproto.equal) = true; option (gogoproto.goproto_getters) = false; option (gogoproto.goproto_stringer) = false; @@ -247,9 +247,12 @@ message MsgGovCancelUpdateParams { // title of the proposal string title = 2; - // description of the proposal + // description of the proposal string description = 3; + + // height of param update plan to cancel + int64 height = 4; } -// MsgGovCancelUpdateParamsResponse defines the Msg/GovCancelUpdateParamsResponse response type. -message MsgGovCancelUpdateParamsResponse {} +// MsgGovCancelUpdateParamPlanResponse defines the Msg/GovCancelUpdateParamPlanResponse response type. +message MsgGovCancelUpdateParamPlanResponse {} diff --git a/x/oracle/abci.go b/x/oracle/abci.go index c9a442f7..c1d9834b 100644 --- a/x/oracle/abci.go +++ b/x/oracle/abci.go @@ -14,11 +14,15 @@ import ( func EndBlocker(ctx sdk.Context, k keeper.Keeper) error { defer telemetry.ModuleMeasureSince(types.ModuleName, time.Now(), telemetry.MetricKeyEndBlocker) - // Check for Oracle parameter update plans and execute it if one is - // found and the update plan height is set to the current block. - plan, found := k.GetParamUpdatePlan(ctx) - if found && plan.ShouldExecute(ctx) { - k.ExecuteParamUpdatePlan(ctx, plan) + // Check for Oracle parameter update plans and execute plans that are + // at their plan height. + plans := k.GetParamUpdatePlans(ctx) + for _, plan := range plans { + if plan.ShouldExecute(ctx) { + if err := k.ExecuteParamUpdatePlan(ctx, plan); err != nil { + return err + } + } } params := k.GetParams(ctx) diff --git a/x/oracle/abci_test.go b/x/oracle/abci_test.go index 73c69fae..67055bba 100644 --- a/x/oracle/abci_test.go +++ b/x/oracle/abci_test.go @@ -432,7 +432,7 @@ func (s *IntegrationTestSuite) TestUpdateOracleParams() { app, ctx := s.app, s.ctx blockHeight := ctx.BlockHeight() - // Schedule param update plan for current block height + // Schedule param update plans for at different block heights err := app.OracleKeeper.ScheduleParamUpdatePlan( ctx, types.ParamUpdatePlan{ @@ -444,37 +444,53 @@ func (s *IntegrationTestSuite) TestUpdateOracleParams() { }, ) s.Require().NoError(err) - _, found := s.app.OracleKeeper.GetParamUpdatePlan(s.ctx) - s.Require().Equal(true, found) + err = app.OracleKeeper.ScheduleParamUpdatePlan( + ctx, + types.ParamUpdatePlan{ + Keys: []string{"VoteThreshold"}, + Height: blockHeight + 1, + Changes: types.Params{ + VoteThreshold: sdk.NewDecWithPrec(50, 2), + }, + }, + ) + s.Require().NoError(err) + plans := s.app.OracleKeeper.GetParamUpdatePlans(s.ctx) + s.Require().Len(plans, 2) - // Check Vote Threshold was updated + // Check Vote Threshold was updated by first plan oracle.EndBlocker(ctx, app.OracleKeeper) s.Require().Equal(sdk.NewDecWithPrec(40, 2), app.OracleKeeper.VoteThreshold(ctx)) + // Check Vote Threshold was updated by second plan in next block + ctx = ctx.WithBlockHeight(blockHeight + 1) + oracle.EndBlocker(ctx, app.OracleKeeper) + s.Require().Equal(sdk.NewDecWithPrec(50, 2), app.OracleKeeper.VoteThreshold(ctx)) + // Schedule param update plan for current block height and then cancel it err = app.OracleKeeper.ScheduleParamUpdatePlan( ctx, types.ParamUpdatePlan{ Keys: []string{"VoteThreshold"}, - Height: blockHeight, + Height: blockHeight + 1, Changes: types.Params{ - VoteThreshold: sdk.NewDecWithPrec(50, 2), + VoteThreshold: sdk.NewDecWithPrec(60, 2), }, }, ) s.Require().NoError(err) - _, found = s.app.OracleKeeper.GetParamUpdatePlan(s.ctx) - s.Require().Equal(true, found) + plans = s.app.OracleKeeper.GetParamUpdatePlans(s.ctx) + s.Require().Len(plans, 1) // Cancel update - err = app.OracleKeeper.ClearParamUpdatePlan(ctx) + err = app.OracleKeeper.ClearParamUpdatePlan(ctx, uint64(blockHeight+1)) s.Require().NoError(err) - _, found = s.app.OracleKeeper.GetParamUpdatePlan(s.ctx) - s.Require().Equal(false, found) + plans = s.app.OracleKeeper.GetParamUpdatePlans(s.ctx) + s.Require().Len(plans, 0) // Check Vote Threshold wasn't updated oracle.EndBlocker(ctx, app.OracleKeeper) - s.Require().Equal(sdk.NewDecWithPrec(40, 2), app.OracleKeeper.VoteThreshold(ctx)) + s.Require().Equal(sdk.NewDecWithPrec(50, 2), app.OracleKeeper.VoteThreshold(ctx)) } func TestOracleTestSuite(t *testing.T) { diff --git a/x/oracle/keeper/msg_server.go b/x/oracle/keeper/msg_server.go index 1f84e00f..b85f29cc 100644 --- a/x/oracle/keeper/msg_server.go +++ b/x/oracle/keeper/msg_server.go @@ -348,10 +348,10 @@ func (ms msgServer) GovRemoveCurrencyDeviationThresholds( return &types.MsgGovRemoveCurrencyDeviationThresholdsResponse{}, nil } -func (ms msgServer) GovCancelUpdateParams( +func (ms msgServer) GovCancelUpdateParamPlan( goCtx context.Context, - msg *types.MsgGovCancelUpdateParams, -) (*types.MsgGovCancelUpdateParamsResponse, error) { + msg *types.MsgGovCancelUpdateParamPlan, +) (*types.MsgGovCancelUpdateParamPlanResponse, error) { if msg.Authority != ms.authority { err := errors.Wrapf( types.ErrNoGovAuthority, @@ -363,10 +363,10 @@ func (ms msgServer) GovCancelUpdateParams( } ctx := sdk.UnwrapSDKContext(goCtx) - err := ms.ClearParamUpdatePlan(ctx) + err := ms.ClearParamUpdatePlan(ctx, uint64(msg.Height)) if err != nil { return nil, err } - return &types.MsgGovCancelUpdateParamsResponse{}, nil + return &types.MsgGovCancelUpdateParamPlanResponse{}, nil } diff --git a/x/oracle/keeper/msg_server_test.go b/x/oracle/keeper/msg_server_test.go index 91d8b486..8855d140 100644 --- a/x/oracle/keeper/msg_server_test.go +++ b/x/oracle/keeper/msg_server_test.go @@ -1150,13 +1150,14 @@ func (s *IntegrationTestSuite) TestMsgServer_GovRemoveCurrencyDeviationThreshold func (s *IntegrationTestSuite) TestMsgServer_CancelUpdateGovParams() { govAccAddr := s.app.GovKeeper.GetGovernanceAccount(s.ctx).GetAddress().String() - // No plan exists - _, err := s.msgServer.GovCancelUpdateParams(s.ctx, - &types.MsgGovCancelUpdateParams{ + // No plan exists at height + _, err := s.msgServer.GovCancelUpdateParamPlan(s.ctx, + &types.MsgGovCancelUpdateParamPlan{ Authority: govAccAddr, + Height: 100, }, ) - s.Require().ErrorContains(err, "No param update plan found: invalid request") + s.Require().ErrorContains(err, "No param update plan found at block height 100: invalid request") // Schedule plan _, err = s.msgServer.GovUpdateParams(s.ctx, @@ -1176,13 +1177,14 @@ func (s *IntegrationTestSuite) TestMsgServer_CancelUpdateGovParams() { s.Require().NoError(err) // Plan exists now - _, err = s.msgServer.GovCancelUpdateParams(s.ctx, - &types.MsgGovCancelUpdateParams{ + _, err = s.msgServer.GovCancelUpdateParamPlan(s.ctx, + &types.MsgGovCancelUpdateParamPlan{ Authority: govAccAddr, + Height: 100, }, ) s.Require().NoError(err) - _, found := s.app.OracleKeeper.GetParamUpdatePlan(s.ctx) - s.Require().Equal(false, found) + plan := s.app.OracleKeeper.GetParamUpdatePlans(s.ctx) + s.Require().Len(plan, 0) } diff --git a/x/oracle/keeper/param_update_plan.go b/x/oracle/keeper/param_update_plan.go index 0aa020e8..cd9b5eb7 100644 --- a/x/oracle/keeper/param_update_plan.go +++ b/x/oracle/keeper/param_update_plan.go @@ -18,35 +18,59 @@ func (k Keeper) ScheduleParamUpdatePlan(ctx sdk.Context, plan types.ParamUpdateP store := ctx.KVStore(k.storeKey) bz := k.cdc.MustMarshal(&plan) - store.Set(types.KeyParamUpdatePlan(), bz) + store.Set(types.KeyParamUpdatePlan(uint64(plan.Height)), bz) return nil } // ClearParamUpdatePlan will clear an upcoming param update plan if one exists and return // an error if one isn't found. -func (k Keeper) ClearParamUpdatePlan(ctx sdk.Context) error { - store := ctx.KVStore(k.storeKey) - bz := store.Get(types.KeyParamUpdatePlan()) - if bz == nil { - return types.ErrInvalidRequest.Wrap("No param update plan found") +func (k Keeper) ClearParamUpdatePlan(ctx sdk.Context, planHeight uint64) error { + if !k.haveParamUpdatePlan(ctx, planHeight) { + return types.ErrInvalidRequest.Wrapf("No param update plan found at block height %d", planHeight) } - store.Delete(types.KeyParamUpdatePlan()) + store := ctx.KVStore(k.storeKey) + store.Delete(types.KeyParamUpdatePlan(planHeight)) return nil } -// GetParamUpdatePlan will return whether an upcoming param update plan exists and the plan -// if it does. -func (k Keeper) GetParamUpdatePlan(ctx sdk.Context) (plan types.ParamUpdatePlan, havePlan bool) { +// haveParamUpdatePlan will return whether a param update plan exists and the specified +// plan height. +func (k Keeper) haveParamUpdatePlan(ctx sdk.Context, planHeight uint64) bool { store := ctx.KVStore(k.storeKey) - bz := store.Get(types.KeyParamUpdatePlan()) - if bz == nil { - return plan, false - } + bz := store.Get(types.KeyParamUpdatePlan(planHeight)) + return bz != nil +} + +// GetParamUpdatePlans returns all the param update plans in the store. +func (k Keeper) GetParamUpdatePlans(ctx sdk.Context) (plans []types.ParamUpdatePlan) { + k.IterateParamUpdatePlans(ctx, func(plan types.ParamUpdatePlan) bool { + plans = append(plans, plan) + return false + }) + + return plans +} - k.cdc.MustUnmarshal(bz, &plan) - return plan, true +// IterateParamUpdatePlans iterates rate over param update plans in the store +func (k Keeper) IterateParamUpdatePlans( + ctx sdk.Context, + handler func(types.ParamUpdatePlan) bool, +) { + store := ctx.KVStore(k.storeKey) + + iter := sdk.KVStorePrefixIterator(store, types.KeyPrefixParamUpdatePlan) + defer iter.Close() + + for ; iter.Valid(); iter.Next() { + var paramUpdatePlan types.ParamUpdatePlan + k.cdc.MustUnmarshal(iter.Value(), ¶mUpdatePlan) + + if handler(paramUpdatePlan) { + break + } + } } // ValidateParamChanges validates parameter changes against the existing oracle parameters. @@ -107,7 +131,7 @@ func (k Keeper) ValidateParamChanges(ctx sdk.Context, keys []string, changes typ // ExecuteParamUpdatePlan will execute a given param update plan and emit a param // update event. -func (k Keeper) ExecuteParamUpdatePlan(ctx sdk.Context, plan types.ParamUpdatePlan) { +func (k Keeper) ExecuteParamUpdatePlan(ctx sdk.Context, plan types.ParamUpdatePlan) error { for _, key := range plan.Keys { switch key { case string(types.KeyVotePeriod): @@ -162,4 +186,7 @@ func (k Keeper) ExecuteParamUpdatePlan(ctx sdk.Context, plan types.ParamUpdatePl sdk.NewAttribute(types.AttributeKeyNotifyPriceFeeder, "1"), ) ctx.EventManager().EmitEvent(event) + + // clear plan from store after executing it + return k.ClearParamUpdatePlan(ctx, uint64(plan.Height)) } diff --git a/x/oracle/types/keys.go b/x/oracle/types/keys.go index a99b8504..6a01481e 100644 --- a/x/oracle/types/keys.go +++ b/x/oracle/types/keys.go @@ -88,9 +88,9 @@ func KeyValidatorRewardSet() (key []byte) { return util.ConcatBytes(0, KeyPrefixValidatorRewardSet) } -// KeyParamUpdatePlan -func KeyParamUpdatePlan() (key []byte) { - return util.ConcatBytes(0, KeyPrefixParamUpdatePlan) +// KeyParamUpdatePlan - stored by *planHeight* +func KeyParamUpdatePlan(planHeight uint64) (key []byte) { + return util.ConcatBytes(0, KeyPrefixParamUpdatePlan, util.UintWithNullPrefix(planHeight)) } // ParseDenomAndBlockFromKey returns the denom and block contained in the *key* diff --git a/x/oracle/types/msgs.go b/x/oracle/types/msgs.go index 5de062bf..e938e3e2 100644 --- a/x/oracle/types/msgs.go +++ b/x/oracle/types/msgs.go @@ -14,7 +14,7 @@ var ( _ sdk.Msg = &MsgAggregateExchangeRatePrevote{} _ sdk.Msg = &MsgAggregateExchangeRateVote{} _ sdk.Msg = &MsgGovUpdateParams{} - _ sdk.Msg = &MsgGovCancelUpdateParams{} + _ sdk.Msg = &MsgGovCancelUpdateParamPlan{} ) func NewMsgAggregateExchangeRatePrevote( @@ -213,9 +213,9 @@ func (msg MsgGovUpdateParams) ValidateBasic() error { return msg.Plan.ValidateBasic() } -// NewMsgCancelUpdateParams will creates a new MsgGovCancelUpdateParams instance -func NewMsgCancelUpdateParams(authority, title, description string) *MsgGovCancelUpdateParams { - return &MsgGovCancelUpdateParams{ +// NewMsgGovCancelUpdateParamPlan will creates a new MsgGovCancelUpdateParamPlan instance +func NewMsgGovCancelUpdateParamPlan(authority, title, description string) *MsgGovCancelUpdateParamPlan { + return &MsgGovCancelUpdateParamPlan{ Authority: authority, Title: title, Description: description, @@ -223,27 +223,27 @@ func NewMsgCancelUpdateParams(authority, title, description string) *MsgGovCance } // Type implements Msg interface -func (msg MsgGovCancelUpdateParams) Type() string { return sdk.MsgTypeURL(&msg) } +func (msg MsgGovCancelUpdateParamPlan) Type() string { return sdk.MsgTypeURL(&msg) } // String implements the Stringer interface. -func (msg MsgGovCancelUpdateParams) String() string { +func (msg MsgGovCancelUpdateParamPlan) String() string { out, _ := yaml.Marshal(msg) return string(out) } // GetSignBytes implements Msg -func (msg MsgGovCancelUpdateParams) GetSignBytes() []byte { +func (msg MsgGovCancelUpdateParamPlan) GetSignBytes() []byte { bz := ModuleCdc.MustMarshalJSON(&msg) return sdk.MustSortJSON(bz) } // GetSigners implements Msg -func (msg MsgGovCancelUpdateParams) GetSigners() []sdk.AccAddress { +func (msg MsgGovCancelUpdateParamPlan) GetSigners() []sdk.AccAddress { return checkers.Signers(msg.Authority) } // ValidateBasic implements Msg -func (msg MsgGovCancelUpdateParams) ValidateBasic() error { +func (msg MsgGovCancelUpdateParamPlan) ValidateBasic() error { return checkers.ValidateProposal(msg.Title, msg.Description, msg.Authority) } diff --git a/x/oracle/types/proposal.go b/x/oracle/types/proposal.go index 46021303..12274e0b 100644 --- a/x/oracle/types/proposal.go +++ b/x/oracle/types/proposal.go @@ -6,7 +6,7 @@ import ( var ( proposalTypeMsgGovUpdateParams = MsgGovUpdateParams{}.String() - proposalTypeMsgGovCancelUpdateParams = MsgGovCancelUpdateParams{}.String() + proposalTypeMsgGovCancelUpdateParams = MsgGovCancelUpdateParamPlan{}.String() proposalTypeMsgGovAddDenoms = MsgGovAddDenoms{}.String() proposalTypeMsgGovRemoveCurrencyPairProviders = MsgGovRemoveCurrencyPairProviders{}.String() proposalTypeMsgGovRemoveCurrencyDeviationThresholds = MsgGovRemoveCurrencyDeviationThresholds{}.String() @@ -36,19 +36,19 @@ func (msg *MsgGovUpdateParams) ProposalRoute() string { return RouterKey } func (msg *MsgGovUpdateParams) ProposalType() string { return proposalTypeMsgGovUpdateParams } // Implements Proposal Interface -var _ gov.Content = &MsgGovCancelUpdateParams{} +var _ gov.Content = &MsgGovCancelUpdateParamPlan{} // GetTitle returns the title of a community pool spend proposal. -func (msg *MsgGovCancelUpdateParams) GetTitle() string { return msg.Title } +func (msg *MsgGovCancelUpdateParamPlan) GetTitle() string { return msg.Title } // GetDescription returns the description of a community pool spend proposal. -func (msg *MsgGovCancelUpdateParams) GetDescription() string { return msg.Description } +func (msg *MsgGovCancelUpdateParamPlan) GetDescription() string { return msg.Description } // GetDescription returns the routing key of a community pool spend proposal. -func (msg *MsgGovCancelUpdateParams) ProposalRoute() string { return RouterKey } +func (msg *MsgGovCancelUpdateParamPlan) ProposalRoute() string { return RouterKey } // ProposalType returns the type of a community pool spend proposal. -func (msg *MsgGovCancelUpdateParams) ProposalType() string { +func (msg *MsgGovCancelUpdateParamPlan) ProposalType() string { return proposalTypeMsgGovCancelUpdateParams } diff --git a/x/oracle/types/tx.pb.go b/x/oracle/types/tx.pb.go index 3970121c..39373133 100644 --- a/x/oracle/types/tx.pb.go +++ b/x/oracle/types/tx.pb.go @@ -624,27 +624,29 @@ func (m *MsgGovRemoveCurrencyDeviationThresholdsResponse) XXX_DiscardUnknown() { var xxx_messageInfo_MsgGovRemoveCurrencyDeviationThresholdsResponse proto.InternalMessageInfo -// MsgGovCancelUpdateParams defines the Msg/GovCancelUpdateParams request type. -type MsgGovCancelUpdateParams struct { +// MsgGovCancelUpdateParamPlan defines the Msg/GovCancelUpdateParamPlan request type. +type MsgGovCancelUpdateParamPlan struct { // authority is the address of the governance account. Authority string `protobuf:"bytes,1,opt,name=authority,proto3" json:"authority,omitempty"` // title of the proposal Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title,omitempty"` // description of the proposal Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` + // height of param update plan to cancel + Height int64 `protobuf:"varint,4,opt,name=height,proto3" json:"height,omitempty"` } -func (m *MsgGovCancelUpdateParams) Reset() { *m = MsgGovCancelUpdateParams{} } -func (*MsgGovCancelUpdateParams) ProtoMessage() {} -func (*MsgGovCancelUpdateParams) Descriptor() ([]byte, []int) { +func (m *MsgGovCancelUpdateParamPlan) Reset() { *m = MsgGovCancelUpdateParamPlan{} } +func (*MsgGovCancelUpdateParamPlan) ProtoMessage() {} +func (*MsgGovCancelUpdateParamPlan) Descriptor() ([]byte, []int) { return fileDescriptor_58d45810177a43e8, []int{14} } -func (m *MsgGovCancelUpdateParams) XXX_Unmarshal(b []byte) error { +func (m *MsgGovCancelUpdateParamPlan) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *MsgGovCancelUpdateParams) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *MsgGovCancelUpdateParamPlan) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_MsgGovCancelUpdateParams.Marshal(b, m, deterministic) + return xxx_messageInfo_MsgGovCancelUpdateParamPlan.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -654,34 +656,34 @@ func (m *MsgGovCancelUpdateParams) XXX_Marshal(b []byte, deterministic bool) ([] return b[:n], nil } } -func (m *MsgGovCancelUpdateParams) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgGovCancelUpdateParams.Merge(m, src) +func (m *MsgGovCancelUpdateParamPlan) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgGovCancelUpdateParamPlan.Merge(m, src) } -func (m *MsgGovCancelUpdateParams) XXX_Size() int { +func (m *MsgGovCancelUpdateParamPlan) XXX_Size() int { return m.Size() } -func (m *MsgGovCancelUpdateParams) XXX_DiscardUnknown() { - xxx_messageInfo_MsgGovCancelUpdateParams.DiscardUnknown(m) +func (m *MsgGovCancelUpdateParamPlan) XXX_DiscardUnknown() { + xxx_messageInfo_MsgGovCancelUpdateParamPlan.DiscardUnknown(m) } -var xxx_messageInfo_MsgGovCancelUpdateParams proto.InternalMessageInfo +var xxx_messageInfo_MsgGovCancelUpdateParamPlan proto.InternalMessageInfo -// MsgGovCancelUpdateParamsResponse defines the Msg/GovCancelUpdateParamsResponse response type. -type MsgGovCancelUpdateParamsResponse struct { +// MsgGovCancelUpdateParamPlanResponse defines the Msg/GovCancelUpdateParamPlanResponse response type. +type MsgGovCancelUpdateParamPlanResponse struct { } -func (m *MsgGovCancelUpdateParamsResponse) Reset() { *m = MsgGovCancelUpdateParamsResponse{} } -func (m *MsgGovCancelUpdateParamsResponse) String() string { return proto.CompactTextString(m) } -func (*MsgGovCancelUpdateParamsResponse) ProtoMessage() {} -func (*MsgGovCancelUpdateParamsResponse) Descriptor() ([]byte, []int) { +func (m *MsgGovCancelUpdateParamPlanResponse) Reset() { *m = MsgGovCancelUpdateParamPlanResponse{} } +func (m *MsgGovCancelUpdateParamPlanResponse) String() string { return proto.CompactTextString(m) } +func (*MsgGovCancelUpdateParamPlanResponse) ProtoMessage() {} +func (*MsgGovCancelUpdateParamPlanResponse) Descriptor() ([]byte, []int) { return fileDescriptor_58d45810177a43e8, []int{15} } -func (m *MsgGovCancelUpdateParamsResponse) XXX_Unmarshal(b []byte) error { +func (m *MsgGovCancelUpdateParamPlanResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *MsgGovCancelUpdateParamsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *MsgGovCancelUpdateParamPlanResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_MsgGovCancelUpdateParamsResponse.Marshal(b, m, deterministic) + return xxx_messageInfo_MsgGovCancelUpdateParamPlanResponse.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -691,17 +693,17 @@ func (m *MsgGovCancelUpdateParamsResponse) XXX_Marshal(b []byte, deterministic b return b[:n], nil } } -func (m *MsgGovCancelUpdateParamsResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgGovCancelUpdateParamsResponse.Merge(m, src) +func (m *MsgGovCancelUpdateParamPlanResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgGovCancelUpdateParamPlanResponse.Merge(m, src) } -func (m *MsgGovCancelUpdateParamsResponse) XXX_Size() int { +func (m *MsgGovCancelUpdateParamPlanResponse) XXX_Size() int { return m.Size() } -func (m *MsgGovCancelUpdateParamsResponse) XXX_DiscardUnknown() { - xxx_messageInfo_MsgGovCancelUpdateParamsResponse.DiscardUnknown(m) +func (m *MsgGovCancelUpdateParamPlanResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgGovCancelUpdateParamPlanResponse.DiscardUnknown(m) } -var xxx_messageInfo_MsgGovCancelUpdateParamsResponse proto.InternalMessageInfo +var xxx_messageInfo_MsgGovCancelUpdateParamPlanResponse proto.InternalMessageInfo func init() { proto.RegisterType((*MsgAggregateExchangeRatePrevote)(nil), "ojo.oracle.v1.MsgAggregateExchangeRatePrevote") @@ -718,84 +720,84 @@ func init() { proto.RegisterType((*MsgGovRemoveCurrencyPairProvidersResponse)(nil), "ojo.oracle.v1.MsgGovRemoveCurrencyPairProvidersResponse") proto.RegisterType((*MsgGovRemoveCurrencyDeviationThresholds)(nil), "ojo.oracle.v1.MsgGovRemoveCurrencyDeviationThresholds") proto.RegisterType((*MsgGovRemoveCurrencyDeviationThresholdsResponse)(nil), "ojo.oracle.v1.MsgGovRemoveCurrencyDeviationThresholdsResponse") - proto.RegisterType((*MsgGovCancelUpdateParams)(nil), "ojo.oracle.v1.MsgGovCancelUpdateParams") - proto.RegisterType((*MsgGovCancelUpdateParamsResponse)(nil), "ojo.oracle.v1.MsgGovCancelUpdateParamsResponse") + proto.RegisterType((*MsgGovCancelUpdateParamPlan)(nil), "ojo.oracle.v1.MsgGovCancelUpdateParamPlan") + proto.RegisterType((*MsgGovCancelUpdateParamPlanResponse)(nil), "ojo.oracle.v1.MsgGovCancelUpdateParamPlanResponse") } func init() { proto.RegisterFile("ojo/oracle/v1/tx.proto", fileDescriptor_58d45810177a43e8) } var fileDescriptor_58d45810177a43e8 = []byte{ - // 1110 bytes of a gzipped FileDescriptorProto + // 1116 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x57, 0xbf, 0x73, 0x1b, 0x45, - 0x14, 0xd6, 0xc5, 0x3f, 0x62, 0x3d, 0x13, 0x4c, 0x2e, 0xfe, 0x21, 0x1f, 0xe6, 0x4e, 0x39, 0x8c, - 0x63, 0x91, 0xb1, 0x84, 0x9d, 0x99, 0x4c, 0xc6, 0x05, 0x83, 0x65, 0x13, 0x37, 0x98, 0xf1, 0x1c, - 0x90, 0x82, 0x46, 0xb3, 0xbe, 0x5b, 0x4e, 0x67, 0x9f, 0x6e, 0xc5, 0xee, 0x5a, 0xb1, 0x0b, 0x1a, - 0x86, 0x61, 0x28, 0x28, 0x28, 0xa9, 0x98, 0xd0, 0x50, 0xa4, 0x81, 0x82, 0x96, 0xde, 0x65, 0x86, - 0x82, 0x61, 0x52, 0x28, 0x60, 0x17, 0xc0, 0x30, 0x50, 0xe8, 0x2f, 0x60, 0x6e, 0xf7, 0x74, 0x92, - 0xa5, 0x93, 0x2c, 0xd1, 0xc4, 0x95, 0x6f, 0xdf, 0xfb, 0xde, 0x7b, 0xdf, 0xf7, 0xde, 0xee, 0x7a, - 0x05, 0xb3, 0x64, 0x9f, 0x14, 0x08, 0x45, 0xb6, 0x8f, 0x0b, 0xb5, 0xd5, 0x02, 0x3f, 0xca, 0x57, - 0x29, 0xe1, 0x44, 0xbd, 0x46, 0xf6, 0x49, 0x5e, 0xda, 0xf3, 0xb5, 0x55, 0x6d, 0xce, 0x26, 0xac, - 0x42, 0x58, 0xa1, 0xc2, 0xdc, 0x10, 0x56, 0x61, 0xae, 0xc4, 0x69, 0xf3, 0xd2, 0x51, 0x12, 0xab, - 0x82, 0x5c, 0x44, 0xae, 0x69, 0x97, 0xb8, 0x44, 0xda, 0xc3, 0xaf, 0xc8, 0xaa, 0x9d, 0x2f, 0x18, - 0x95, 0x10, 0x3e, 0xf3, 0x7b, 0x05, 0x8c, 0x1d, 0xe6, 0x6e, 0xb8, 0x2e, 0xc5, 0x2e, 0xe2, 0xf8, - 0xed, 0x23, 0xbb, 0x8c, 0x02, 0x17, 0x5b, 0x88, 0xe3, 0x5d, 0x8a, 0x6b, 0x84, 0x63, 0xf5, 0x55, - 0x18, 0x2d, 0x23, 0x56, 0xce, 0x28, 0x59, 0x65, 0x39, 0x5d, 0x9c, 0x6a, 0xd4, 0x8d, 0xc9, 0x63, - 0x54, 0xf1, 0xd7, 0xcd, 0xd0, 0x6a, 0x5a, 0xc2, 0xa9, 0xe6, 0x60, 0xfc, 0x23, 0x8c, 0x1d, 0x4c, - 0x33, 0x57, 0x04, 0xec, 0x7a, 0xa3, 0x6e, 0x5c, 0x93, 0x30, 0x69, 0x37, 0xad, 0x08, 0xa0, 0xae, - 0x41, 0xba, 0x86, 0x7c, 0xcf, 0x41, 0x9c, 0xd0, 0xcc, 0x88, 0x40, 0x4f, 0x37, 0xea, 0xc6, 0x4b, - 0x12, 0x1d, 0xbb, 0x4c, 0xab, 0x05, 0x5b, 0x9f, 0xf8, 0xe2, 0x91, 0x91, 0xfa, 0xf3, 0x91, 0x91, - 0x32, 0x73, 0x70, 0xeb, 0x02, 0xc2, 0x16, 0x66, 0x55, 0x12, 0x30, 0x6c, 0xfe, 0xab, 0xc0, 0x42, - 0x2f, 0xec, 0x83, 0x48, 0x19, 0x43, 0x3e, 0xef, 0x56, 0x16, 0x5a, 0x4d, 0x4b, 0x38, 0xd5, 0xb7, - 0xe0, 0x45, 0x1c, 0x05, 0x96, 0x28, 0xe2, 0x98, 0x45, 0x0a, 0xe7, 0x1b, 0x75, 0x63, 0x46, 0xc2, - 0xcf, 0xfb, 0x4d, 0xeb, 0x1a, 0x6e, 0xab, 0xc4, 0xda, 0x7a, 0x33, 0x32, 0x54, 0x6f, 0x46, 0x87, - 0xed, 0xcd, 0x12, 0x2c, 0xf6, 0xd3, 0x1b, 0x37, 0xe6, 0x33, 0x05, 0x66, 0x77, 0x98, 0xbb, 0x85, - 0x7d, 0x81, 0xbb, 0x8f, 0xb1, 0xb3, 0x19, 0x3a, 0x02, 0xae, 0x16, 0x60, 0x82, 0x54, 0x31, 0x15, - 0xf5, 0x65, 0x5b, 0x6e, 0x34, 0xea, 0xc6, 0x94, 0xac, 0xdf, 0xf4, 0x98, 0x56, 0x0c, 0x0a, 0x03, - 0x9c, 0x28, 0x4f, 0xd4, 0x98, 0xb6, 0x80, 0xa6, 0xc7, 0xb4, 0x62, 0x50, 0x1b, 0xdd, 0x2c, 0xe8, - 0xc9, 0x2c, 0x62, 0xa2, 0x4f, 0x15, 0x50, 0x77, 0x98, 0xbb, 0x4d, 0x6a, 0x1f, 0x54, 0x9d, 0x70, - 0xc2, 0x88, 0xa2, 0x0a, 0x53, 0xef, 0x42, 0x1a, 0x1d, 0xf2, 0x32, 0xa1, 0x1e, 0x3f, 0x8e, 0x58, - 0x66, 0x7e, 0xfe, 0x71, 0x65, 0x3a, 0x3a, 0x0c, 0x1b, 0x8e, 0x43, 0x31, 0x63, 0xef, 0x71, 0xea, - 0x05, 0xae, 0xd5, 0x82, 0xaa, 0xd3, 0x30, 0xc6, 0x3d, 0xee, 0x47, 0x44, 0x2d, 0xb9, 0x50, 0xb3, - 0x30, 0xe9, 0x60, 0x66, 0x53, 0xaf, 0xca, 0x3d, 0x12, 0xc8, 0x19, 0x59, 0xed, 0x26, 0xf5, 0x1e, - 0x8c, 0x56, 0x7d, 0x14, 0x88, 0x81, 0x4c, 0xae, 0xe9, 0xf9, 0x73, 0x27, 0x35, 0x2f, 0x48, 0x45, - 0xfc, 0x7c, 0x14, 0x14, 0x47, 0x4f, 0xea, 0x46, 0xca, 0x12, 0x11, 0xeb, 0x5a, 0x28, 0xf6, 0x6b, - 0x29, 0x58, 0xf9, 0xf4, 0x8f, 0x1f, 0x5e, 0x6f, 0xb1, 0x31, 0x17, 0x40, 0xeb, 0xd6, 0x16, 0x4b, - 0xff, 0x6b, 0x0c, 0xa6, 0xa4, 0x7b, 0xc3, 0x71, 0xb6, 0x70, 0x40, 0x9e, 0x83, 0xee, 0x59, 0x18, - 0x2f, 0x63, 0xcf, 0x2d, 0x73, 0xa1, 0x7c, 0xc4, 0x8a, 0x56, 0xea, 0x7d, 0x00, 0x27, 0x64, 0x54, - 0xf2, 0x3d, 0xc6, 0x33, 0x63, 0xd9, 0x91, 0xe5, 0xc9, 0xb5, 0xe9, 0x8e, 0xae, 0x08, 0xca, 0xc5, - 0xeb, 0x61, 0x2f, 0x1e, 0x3f, 0x33, 0xd2, 0x62, 0xf9, 0x8e, 0xc7, 0xb8, 0x95, 0x76, 0x9a, 0x9f, - 0xea, 0x02, 0xa4, 0x2b, 0x28, 0x10, 0xbb, 0xf8, 0x38, 0x33, 0x9e, 0x55, 0x96, 0x27, 0xac, 0x96, - 0x41, 0x2d, 0xc3, 0x24, 0xc5, 0x0f, 0x11, 0x75, 0x4a, 0x7b, 0x28, 0x70, 0x32, 0x57, 0x85, 0xde, - 0xed, 0x93, 0xba, 0xa1, 0x3c, 0xad, 0x1b, 0x4b, 0xae, 0xc7, 0xcb, 0x87, 0x7b, 0x79, 0x9b, 0x54, - 0xa2, 0x3b, 0x30, 0xfa, 0xb3, 0xc2, 0x9c, 0x83, 0x02, 0x3f, 0xae, 0x62, 0x96, 0xdf, 0xc2, 0x76, - 0xeb, 0x8c, 0x86, 0x37, 0x43, 0x89, 0x97, 0x29, 0x66, 0x65, 0xe2, 0x3b, 0xa6, 0x05, 0x32, 0x77, - 0x11, 0x05, 0x8e, 0xfa, 0xad, 0x02, 0x73, 0xf6, 0x21, 0xa5, 0x38, 0xb0, 0x8f, 0x4b, 0x55, 0xe4, - 0xd1, 0xf0, 0x72, 0xad, 0x79, 0x0e, 0xa6, 0x2c, 0x33, 0x21, 0xd4, 0x2d, 0x76, 0xa8, 0xdb, 0x8c, - 0xd0, 0xbb, 0xc8, 0xa3, 0xbb, 0x4d, 0x6c, 0x71, 0x33, 0x54, 0xdb, 0xa8, 0x1b, 0xba, 0x2c, 0xd9, - 0x23, 0xa5, 0xf9, 0xf8, 0x99, 0x31, 0x9f, 0x98, 0x40, 0xf4, 0x67, 0xc6, 0x4e, 0x72, 0xa9, 0x3f, - 0x29, 0xf0, 0x4a, 0x9c, 0xd0, 0xc1, 0x35, 0x0f, 0x85, 0x23, 0x6a, 0x29, 0x62, 0x99, 0xb4, 0x60, - 0x9a, 0xeb, 0xc1, 0x74, 0xab, 0x19, 0xf2, 0x7e, 0x33, 0xa2, 0xf8, 0x6e, 0x44, 0x77, 0xb1, 0x83, - 0x6e, 0x52, 0xf6, 0x90, 0xb4, 0xde, 0x3b, 0x97, 0x60, 0xfe, 0xb2, 0xdd, 0xd3, 0xcf, 0xfa, 0x9e, - 0x84, 0x79, 0x98, 0xeb, 0xd8, 0xea, 0xf1, 0x31, 0xf8, 0xfb, 0x0a, 0xdc, 0x94, 0x3e, 0x0b, 0x57, - 0x48, 0x0d, 0x27, 0xf6, 0xed, 0xd2, 0x1c, 0x8c, 0x7e, 0x1b, 0x69, 0xec, 0x72, 0x6c, 0xa4, 0xbe, - 0x83, 0xb8, 0x0d, 0xb9, 0x0b, 0x9b, 0x1d, 0x8f, 0xe6, 0x1f, 0x45, 0xfc, 0x2b, 0xee, 0x42, 0x27, - 0x4c, 0xff, 0xd2, 0x0c, 0x48, 0x07, 0x88, 0xba, 0xe2, 0x61, 0x39, 0x92, 0xb4, 0xd5, 0x66, 0xe9, - 0xdb, 0x9c, 0x55, 0x28, 0x0c, 0x28, 0x37, 0x6e, 0xd1, 0x77, 0x0a, 0x64, 0x64, 0xcc, 0x26, 0x0a, - 0x6c, 0xec, 0x3f, 0xcf, 0xff, 0x62, 0x7d, 0xb5, 0x99, 0x90, 0xed, 0xc5, 0xb3, 0x29, 0x66, 0xed, - 0x97, 0xab, 0x30, 0xb2, 0xc3, 0x5c, 0xf5, 0x73, 0x05, 0x16, 0xfa, 0x3e, 0x18, 0xf3, 0x1d, 0x7b, - 0xfc, 0x82, 0xf7, 0x9a, 0x76, 0x77, 0x38, 0x7c, 0x93, 0x90, 0xfa, 0x09, 0xcc, 0xf7, 0x7e, 0xdb, - 0xdd, 0x1e, 0x30, 0x69, 0x08, 0xd6, 0xee, 0x0c, 0x01, 0x8e, 0xcb, 0x1f, 0xc0, 0x8d, 0xa4, 0x17, - 0xd4, 0x6b, 0xdd, 0xb9, 0x12, 0x60, 0xda, 0xca, 0x40, 0xb0, 0xb8, 0x58, 0x09, 0xa6, 0x3a, 0x5f, - 0x41, 0x37, 0xbb, 0x33, 0x74, 0x40, 0xb4, 0xdc, 0x85, 0x90, 0xb8, 0xc0, 0x03, 0x78, 0xe1, 0xdc, - 0x5b, 0x43, 0x4f, 0x0c, 0x8d, 0xfd, 0xda, 0x52, 0x7f, 0x7f, 0x9c, 0xf7, 0x4b, 0x05, 0xf4, 0x0b, - 0x6e, 0xef, 0x37, 0x12, 0x53, 0xf5, 0x89, 0xd0, 0xee, 0x0d, 0x1b, 0x11, 0xd3, 0xf9, 0x46, 0x81, - 0xc5, 0xc1, 0x6e, 0xac, 0x01, 0x4a, 0x24, 0xc4, 0x69, 0x6f, 0xfe, 0xbf, 0xb8, 0x98, 0xe0, 0xc7, - 0x30, 0x93, 0x7c, 0x5d, 0xdc, 0x4a, 0x4c, 0xdc, 0x0d, 0xd4, 0x0a, 0x03, 0x02, 0x9b, 0x25, 0x8b, - 0xdb, 0x27, 0xbf, 0xeb, 0xa9, 0x93, 0x53, 0x5d, 0x79, 0x72, 0xaa, 0x2b, 0xbf, 0x9d, 0xea, 0xca, - 0x57, 0x67, 0x7a, 0xea, 0xc9, 0x99, 0x9e, 0xfa, 0xf5, 0x4c, 0x4f, 0x7d, 0x98, 0x6b, 0x7b, 0x69, - 0x91, 0x7d, 0xb2, 0x12, 0x60, 0xfe, 0x90, 0xd0, 0x83, 0xf0, 0xbb, 0x70, 0xd4, 0xfc, 0x5d, 0x29, - 0x1e, 0x5c, 0x7b, 0xe3, 0xe2, 0x47, 0xe5, 0x9d, 0xff, 0x02, 0x00, 0x00, 0xff, 0xff, 0xf8, 0x65, - 0xaf, 0x5b, 0xe3, 0x0e, 0x00, 0x00, + 0x14, 0xd6, 0xc5, 0x3f, 0x62, 0x3d, 0x63, 0x4c, 0x2e, 0x8e, 0x2d, 0x5f, 0xcc, 0x9d, 0x73, 0x71, + 0x8c, 0x95, 0x8c, 0x25, 0xec, 0xcc, 0x64, 0x32, 0x2e, 0x18, 0x2c, 0x9b, 0xb8, 0xc1, 0x8c, 0xe7, + 0x80, 0x14, 0x34, 0x9a, 0xf5, 0xdd, 0x72, 0x3a, 0xfb, 0x74, 0xab, 0xd9, 0x5d, 0x2b, 0x36, 0x33, + 0x34, 0x0c, 0xc3, 0x50, 0x50, 0x50, 0x52, 0x31, 0xa1, 0x4d, 0x03, 0x05, 0x2d, 0x05, 0x9d, 0xcb, + 0x0c, 0x15, 0x93, 0x42, 0x06, 0xbb, 0x00, 0x86, 0x81, 0x42, 0x7f, 0x01, 0x73, 0xbb, 0xa7, 0x93, + 0x2c, 0x9f, 0xce, 0x32, 0x4d, 0x5c, 0xe9, 0xf6, 0xbd, 0xef, 0xbd, 0xf7, 0x7d, 0xef, 0xdd, 0xae, + 0xf6, 0x60, 0x92, 0xec, 0x90, 0x22, 0xa1, 0xc8, 0xf6, 0x71, 0xb1, 0xbe, 0x54, 0xe4, 0xfb, 0x85, + 0x1a, 0x25, 0x9c, 0xa8, 0x63, 0x64, 0x87, 0x14, 0xa4, 0xbd, 0x50, 0x5f, 0xd2, 0xa6, 0x6c, 0xc2, + 0xaa, 0x84, 0x15, 0xab, 0xcc, 0x0d, 0x61, 0x55, 0xe6, 0x4a, 0x9c, 0x36, 0x2d, 0x1d, 0x65, 0xb1, + 0x2a, 0xca, 0x45, 0xe4, 0x9a, 0x70, 0x89, 0x4b, 0xa4, 0x3d, 0x7c, 0x8a, 0xac, 0xda, 0xe9, 0x82, + 0x51, 0x09, 0xe1, 0x33, 0xbf, 0x57, 0xc0, 0xd8, 0x64, 0xee, 0xaa, 0xeb, 0x52, 0xec, 0x22, 0x8e, + 0xdf, 0xd9, 0xb7, 0x2b, 0x28, 0x70, 0xb1, 0x85, 0x38, 0xde, 0xa2, 0xb8, 0x4e, 0x38, 0x56, 0x6f, + 0xc3, 0x60, 0x05, 0xb1, 0x4a, 0x4e, 0x99, 0x55, 0x16, 0xb2, 0xa5, 0xf1, 0x66, 0xc3, 0x18, 0x3d, + 0x40, 0x55, 0x7f, 0xc5, 0x0c, 0xad, 0xa6, 0x25, 0x9c, 0x6a, 0x1e, 0x86, 0x3f, 0xc6, 0xd8, 0xc1, + 0x34, 0x77, 0x45, 0xc0, 0xae, 0x35, 0x1b, 0xc6, 0x98, 0x84, 0x49, 0xbb, 0x69, 0x45, 0x00, 0x75, + 0x19, 0xb2, 0x75, 0xe4, 0x7b, 0x0e, 0xe2, 0x84, 0xe6, 0x06, 0x04, 0x7a, 0xa2, 0xd9, 0x30, 0x5e, + 0x93, 0xe8, 0xd8, 0x65, 0x5a, 0x6d, 0xd8, 0xca, 0xc8, 0x97, 0x4f, 0x8d, 0xcc, 0x9f, 0x4f, 0x8d, + 0x8c, 0x99, 0x87, 0x37, 0xce, 0x21, 0x6c, 0x61, 0x56, 0x23, 0x01, 0xc3, 0xe6, 0xbf, 0x0a, 0xcc, + 0xf4, 0xc2, 0x3e, 0x8e, 0x94, 0x31, 0xe4, 0xf3, 0xb3, 0xca, 0x42, 0xab, 0x69, 0x09, 0xa7, 0xfa, + 0x36, 0xbc, 0x8a, 0xa3, 0xc0, 0x32, 0x45, 0x1c, 0xb3, 0x48, 0xe1, 0x74, 0xb3, 0x61, 0xdc, 0x90, + 0xf0, 0xd3, 0x7e, 0xd3, 0x1a, 0xc3, 0x1d, 0x95, 0x58, 0x47, 0x6f, 0x06, 0x2e, 0xd4, 0x9b, 0xc1, + 0x8b, 0xf6, 0x66, 0x1e, 0xe6, 0xd2, 0xf4, 0xc6, 0x8d, 0xf9, 0x5c, 0x81, 0xc9, 0x4d, 0xe6, 0xae, + 0x63, 0x5f, 0xe0, 0x1e, 0x61, 0xec, 0xac, 0x85, 0x8e, 0x80, 0xab, 0x45, 0x18, 0x21, 0x35, 0x4c, + 0x45, 0x7d, 0xd9, 0x96, 0xeb, 0xcd, 0x86, 0x31, 0x2e, 0xeb, 0xb7, 0x3c, 0xa6, 0x15, 0x83, 0xc2, + 0x00, 0x27, 0xca, 0x13, 0x35, 0xa6, 0x23, 0xa0, 0xe5, 0x31, 0xad, 0x18, 0xd4, 0x41, 0x77, 0x16, + 0xf4, 0x64, 0x16, 0x31, 0xd1, 0x17, 0x0a, 0xa8, 0x9b, 0xcc, 0xdd, 0x20, 0xf5, 0x0f, 0x6b, 0x4e, + 0x38, 0x61, 0x44, 0x51, 0x95, 0xa9, 0x0f, 0x20, 0x8b, 0xf6, 0x78, 0x85, 0x50, 0x8f, 0x1f, 0x44, + 0x2c, 0x73, 0xbf, 0xfc, 0xb8, 0x38, 0x11, 0x6d, 0x86, 0x55, 0xc7, 0xa1, 0x98, 0xb1, 0xf7, 0x39, + 0xf5, 0x02, 0xd7, 0x6a, 0x43, 0xd5, 0x09, 0x18, 0xe2, 0x1e, 0xf7, 0x23, 0xa2, 0x96, 0x5c, 0xa8, + 0xb3, 0x30, 0xea, 0x60, 0x66, 0x53, 0xaf, 0xc6, 0x3d, 0x12, 0xc8, 0x19, 0x59, 0x9d, 0x26, 0xf5, + 0x21, 0x0c, 0xd6, 0x7c, 0x14, 0x88, 0x81, 0x8c, 0x2e, 0xeb, 0x85, 0x53, 0x3b, 0xb5, 0x20, 0x48, + 0x45, 0xfc, 0x7c, 0x14, 0x94, 0x06, 0x0f, 0x1b, 0x46, 0xc6, 0x12, 0x11, 0x2b, 0x5a, 0x28, 0xf6, + 0x1b, 0x29, 0x58, 0xf9, 0xec, 0x8f, 0x1f, 0xee, 0xb6, 0xd9, 0x98, 0x33, 0xa0, 0x9d, 0xd5, 0x16, + 0x4b, 0xff, 0x6b, 0x08, 0xc6, 0xa5, 0x7b, 0xd5, 0x71, 0xd6, 0x71, 0x40, 0x5e, 0x82, 0xee, 0x49, + 0x18, 0xae, 0x60, 0xcf, 0xad, 0x70, 0xa1, 0x7c, 0xc0, 0x8a, 0x56, 0xea, 0x23, 0x00, 0x27, 0x64, + 0x54, 0xf6, 0x3d, 0xc6, 0x73, 0x43, 0xb3, 0x03, 0x0b, 0xa3, 0xcb, 0x13, 0x5d, 0x5d, 0x11, 0x94, + 0x4b, 0xd7, 0xc2, 0x5e, 0x3c, 0x3b, 0x32, 0xb2, 0x62, 0xf9, 0xae, 0xc7, 0xb8, 0x95, 0x75, 0x5a, + 0x8f, 0xea, 0x0c, 0x64, 0xab, 0x28, 0x10, 0x6f, 0xf1, 0x41, 0x6e, 0x78, 0x56, 0x59, 0x18, 0xb1, + 0xda, 0x06, 0xb5, 0x02, 0xa3, 0x14, 0x3f, 0x41, 0xd4, 0x29, 0x6f, 0xa3, 0xc0, 0xc9, 0x5d, 0x15, + 0x7a, 0x37, 0x0e, 0x1b, 0x86, 0xf2, 0xa2, 0x61, 0xcc, 0xbb, 0x1e, 0xaf, 0xec, 0x6d, 0x17, 0x6c, + 0x52, 0x8d, 0xce, 0xc0, 0xe8, 0x67, 0x91, 0x39, 0xbb, 0x45, 0x7e, 0x50, 0xc3, 0xac, 0xb0, 0x8e, + 0xed, 0xf6, 0x1e, 0x0d, 0x4f, 0x86, 0x32, 0xaf, 0x50, 0xcc, 0x2a, 0xc4, 0x77, 0x4c, 0x0b, 0x64, + 0xee, 0x12, 0x0a, 0x1c, 0xf5, 0x3b, 0x05, 0xa6, 0xec, 0x3d, 0x4a, 0x71, 0x60, 0x1f, 0x94, 0x6b, + 0xc8, 0xa3, 0xe1, 0xe1, 0x5a, 0xf7, 0x1c, 0x4c, 0x59, 0x6e, 0x44, 0xa8, 0x9b, 0xeb, 0x52, 0xb7, + 0x16, 0xa1, 0xb7, 0x90, 0x47, 0xb7, 0x5a, 0xd8, 0xd2, 0x5a, 0xa8, 0xb6, 0xd9, 0x30, 0x74, 0x59, + 0xb2, 0x47, 0x4a, 0xf3, 0xd9, 0x91, 0x31, 0x9d, 0x98, 0x40, 0xf4, 0xe7, 0x86, 0x9d, 0xe4, 0x52, + 0x7f, 0x52, 0xe0, 0xf5, 0x38, 0xa1, 0x83, 0xeb, 0x1e, 0x0a, 0x47, 0xd4, 0x56, 0xc4, 0x72, 0x59, + 0xc1, 0x34, 0xdf, 0x83, 0xe9, 0x7a, 0x2b, 0xe4, 0x83, 0x56, 0x44, 0xe9, 0xbd, 0x88, 0xee, 0x5c, + 0x17, 0xdd, 0xa4, 0xec, 0x21, 0x69, 0xbd, 0x77, 0x2e, 0xc1, 0xfc, 0xa6, 0xdd, 0xd3, 0xcf, 0x52, + 0x77, 0xc2, 0x34, 0x4c, 0x75, 0xbd, 0xea, 0xf1, 0x36, 0xf8, 0xfb, 0x0a, 0xdc, 0x92, 0x3e, 0x0b, + 0x57, 0x49, 0x1d, 0x27, 0xf6, 0xed, 0xd2, 0x6c, 0x8c, 0xb4, 0x17, 0x69, 0xe8, 0x72, 0xbc, 0x48, + 0xa9, 0x83, 0xb8, 0x07, 0xf9, 0x73, 0x9b, 0x1d, 0x8f, 0xe6, 0x1f, 0x45, 0xfc, 0x15, 0x9f, 0x41, + 0x27, 0x4c, 0xff, 0xd2, 0x0c, 0x48, 0x07, 0x88, 0xba, 0xe2, 0x61, 0x39, 0x92, 0xac, 0xd5, 0x61, + 0x49, 0x6d, 0xce, 0x12, 0x14, 0xfb, 0x94, 0x1b, 0xb7, 0xe8, 0x67, 0x05, 0x6e, 0xca, 0x98, 0x35, + 0x14, 0xd8, 0xd8, 0xef, 0x38, 0xe9, 0xc3, 0xbf, 0x8a, 0xcb, 0xd2, 0x96, 0x54, 0xd9, 0x77, 0xe0, + 0x76, 0x8a, 0x84, 0x96, 0xd4, 0xe5, 0xa3, 0xab, 0x30, 0xb0, 0xc9, 0x5c, 0xf5, 0x0b, 0x05, 0x66, + 0x52, 0xaf, 0x93, 0x85, 0xae, 0x1d, 0x70, 0xce, 0x6d, 0x4e, 0x7b, 0x70, 0x31, 0x7c, 0x8b, 0x90, + 0xfa, 0x29, 0x4c, 0xf7, 0xbe, 0xf9, 0xdd, 0xeb, 0x33, 0x69, 0x08, 0xd6, 0xee, 0x5f, 0x00, 0x1c, + 0x97, 0xdf, 0x85, 0xeb, 0x49, 0xf7, 0xab, 0x3b, 0x67, 0x73, 0x25, 0xc0, 0xb4, 0xc5, 0xbe, 0x60, + 0x71, 0xb1, 0x32, 0x8c, 0x77, 0xdf, 0x91, 0x6e, 0x9d, 0xcd, 0xd0, 0x05, 0xd1, 0xf2, 0xe7, 0x42, + 0xe2, 0x02, 0x8f, 0xe1, 0x95, 0x53, 0x37, 0x11, 0x3d, 0x31, 0x34, 0xf6, 0x6b, 0xf3, 0xe9, 0xfe, + 0x38, 0xef, 0x57, 0x0a, 0xe8, 0xe7, 0x9c, 0xed, 0x6f, 0x26, 0xa6, 0x4a, 0x89, 0xd0, 0x1e, 0x5e, + 0x34, 0x22, 0xa6, 0xf3, 0xad, 0x02, 0x73, 0xfd, 0x9d, 0x67, 0x7d, 0x94, 0x48, 0x88, 0xd3, 0xde, + 0xfa, 0x7f, 0x71, 0x31, 0xc1, 0x4f, 0x20, 0xd7, 0xf3, 0x30, 0xb9, 0x9b, 0x98, 0x3b, 0x11, 0xab, + 0x2d, 0xf7, 0x8f, 0x6d, 0xd5, 0x2e, 0x6d, 0x1c, 0xfe, 0xae, 0x67, 0x0e, 0x8f, 0x75, 0xe5, 0xf9, + 0xb1, 0xae, 0xfc, 0x76, 0xac, 0x2b, 0x5f, 0x9f, 0xe8, 0x99, 0xe7, 0x27, 0x7a, 0xe6, 0xd7, 0x13, + 0x3d, 0xf3, 0x51, 0xbe, 0xe3, 0x42, 0x46, 0x76, 0xc8, 0x62, 0x80, 0xf9, 0x13, 0x42, 0x77, 0xc3, + 0xe7, 0xe2, 0x7e, 0xeb, 0xf3, 0x53, 0xdc, 0xcb, 0xb6, 0x87, 0xc5, 0xb7, 0xe7, 0xfd, 0xff, 0x02, + 0x00, 0x00, 0xff, 0xff, 0x4a, 0x82, 0x54, 0xbb, 0x0a, 0x0f, 0x00, 0x00, } func (this *MsgGovUpdateParams) Equal(that interface{}) bool { @@ -980,14 +982,14 @@ func (this *MsgGovRemoveCurrencyDeviationThresholds) Equal(that interface{}) boo } return true } -func (this *MsgGovCancelUpdateParams) Equal(that interface{}) bool { +func (this *MsgGovCancelUpdateParamPlan) Equal(that interface{}) bool { if that == nil { return this == nil } - that1, ok := that.(*MsgGovCancelUpdateParams) + that1, ok := that.(*MsgGovCancelUpdateParamPlan) if !ok { - that2, ok := that.(MsgGovCancelUpdateParams) + that2, ok := that.(MsgGovCancelUpdateParamPlan) if ok { that1 = &that2 } else { @@ -1008,6 +1010,9 @@ func (this *MsgGovCancelUpdateParams) Equal(that interface{}) bool { if this.Description != that1.Description { return false } + if this.Height != that1.Height { + return false + } return true } @@ -1041,8 +1046,8 @@ type MsgClient interface { // GovRemoveCurrencyDeviationThresholds updates the oracle parameters to remove a list // of currency deviation thresholds. GovRemoveCurrencyDeviationThresholds(ctx context.Context, in *MsgGovRemoveCurrencyDeviationThresholds, opts ...grpc.CallOption) (*MsgGovRemoveCurrencyDeviationThresholdsResponse, error) - // GovCancelUpdateParams cancels a plan to update the oracle parameters. - GovCancelUpdateParams(ctx context.Context, in *MsgGovCancelUpdateParams, opts ...grpc.CallOption) (*MsgGovCancelUpdateParamsResponse, error) + // GovCancelUpdateParamPlan cancels a plan to update the oracle parameters. + GovCancelUpdateParamPlan(ctx context.Context, in *MsgGovCancelUpdateParamPlan, opts ...grpc.CallOption) (*MsgGovCancelUpdateParamPlanResponse, error) } type msgClient struct { @@ -1116,9 +1121,9 @@ func (c *msgClient) GovRemoveCurrencyDeviationThresholds(ctx context.Context, in return out, nil } -func (c *msgClient) GovCancelUpdateParams(ctx context.Context, in *MsgGovCancelUpdateParams, opts ...grpc.CallOption) (*MsgGovCancelUpdateParamsResponse, error) { - out := new(MsgGovCancelUpdateParamsResponse) - err := c.cc.Invoke(ctx, "/ojo.oracle.v1.Msg/GovCancelUpdateParams", in, out, opts...) +func (c *msgClient) GovCancelUpdateParamPlan(ctx context.Context, in *MsgGovCancelUpdateParamPlan, opts ...grpc.CallOption) (*MsgGovCancelUpdateParamPlanResponse, error) { + out := new(MsgGovCancelUpdateParamPlanResponse) + err := c.cc.Invoke(ctx, "/ojo.oracle.v1.Msg/GovCancelUpdateParamPlan", in, out, opts...) if err != nil { return nil, err } @@ -1145,8 +1150,8 @@ type MsgServer interface { // GovRemoveCurrencyDeviationThresholds updates the oracle parameters to remove a list // of currency deviation thresholds. GovRemoveCurrencyDeviationThresholds(context.Context, *MsgGovRemoveCurrencyDeviationThresholds) (*MsgGovRemoveCurrencyDeviationThresholdsResponse, error) - // GovCancelUpdateParams cancels a plan to update the oracle parameters. - GovCancelUpdateParams(context.Context, *MsgGovCancelUpdateParams) (*MsgGovCancelUpdateParamsResponse, error) + // GovCancelUpdateParamPlan cancels a plan to update the oracle parameters. + GovCancelUpdateParamPlan(context.Context, *MsgGovCancelUpdateParamPlan) (*MsgGovCancelUpdateParamPlanResponse, error) } // UnimplementedMsgServer can be embedded to have forward compatible implementations. @@ -1174,8 +1179,8 @@ func (*UnimplementedMsgServer) GovRemoveCurrencyPairProviders(ctx context.Contex func (*UnimplementedMsgServer) GovRemoveCurrencyDeviationThresholds(ctx context.Context, req *MsgGovRemoveCurrencyDeviationThresholds) (*MsgGovRemoveCurrencyDeviationThresholdsResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method GovRemoveCurrencyDeviationThresholds not implemented") } -func (*UnimplementedMsgServer) GovCancelUpdateParams(ctx context.Context, req *MsgGovCancelUpdateParams) (*MsgGovCancelUpdateParamsResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method GovCancelUpdateParams not implemented") +func (*UnimplementedMsgServer) GovCancelUpdateParamPlan(ctx context.Context, req *MsgGovCancelUpdateParamPlan) (*MsgGovCancelUpdateParamPlanResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GovCancelUpdateParamPlan not implemented") } func RegisterMsgServer(s grpc1.Server, srv MsgServer) { @@ -1308,20 +1313,20 @@ func _Msg_GovRemoveCurrencyDeviationThresholds_Handler(srv interface{}, ctx cont return interceptor(ctx, in, info, handler) } -func _Msg_GovCancelUpdateParams_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgGovCancelUpdateParams) +func _Msg_GovCancelUpdateParamPlan_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgGovCancelUpdateParamPlan) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(MsgServer).GovCancelUpdateParams(ctx, in) + return srv.(MsgServer).GovCancelUpdateParamPlan(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/ojo.oracle.v1.Msg/GovCancelUpdateParams", + FullMethod: "/ojo.oracle.v1.Msg/GovCancelUpdateParamPlan", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).GovCancelUpdateParams(ctx, req.(*MsgGovCancelUpdateParams)) + return srv.(MsgServer).GovCancelUpdateParamPlan(ctx, req.(*MsgGovCancelUpdateParamPlan)) } return interceptor(ctx, in, info, handler) } @@ -1359,8 +1364,8 @@ var _Msg_serviceDesc = grpc.ServiceDesc{ Handler: _Msg_GovRemoveCurrencyDeviationThresholds_Handler, }, { - MethodName: "GovCancelUpdateParams", - Handler: _Msg_GovCancelUpdateParams_Handler, + MethodName: "GovCancelUpdateParamPlan", + Handler: _Msg_GovCancelUpdateParamPlan_Handler, }, }, Streams: []grpc.StreamDesc{}, @@ -1948,7 +1953,7 @@ func (m *MsgGovRemoveCurrencyDeviationThresholdsResponse) MarshalToSizedBuffer(d return len(dAtA) - i, nil } -func (m *MsgGovCancelUpdateParams) Marshal() (dAtA []byte, err error) { +func (m *MsgGovCancelUpdateParamPlan) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -1958,16 +1963,21 @@ func (m *MsgGovCancelUpdateParams) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgGovCancelUpdateParams) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgGovCancelUpdateParamPlan) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgGovCancelUpdateParams) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgGovCancelUpdateParamPlan) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l + if m.Height != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.Height)) + i-- + dAtA[i] = 0x20 + } if len(m.Description) > 0 { i -= len(m.Description) copy(dAtA[i:], m.Description) @@ -1992,7 +2002,7 @@ func (m *MsgGovCancelUpdateParams) MarshalToSizedBuffer(dAtA []byte) (int, error return len(dAtA) - i, nil } -func (m *MsgGovCancelUpdateParamsResponse) Marshal() (dAtA []byte, err error) { +func (m *MsgGovCancelUpdateParamPlanResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -2002,12 +2012,12 @@ func (m *MsgGovCancelUpdateParamsResponse) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgGovCancelUpdateParamsResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgGovCancelUpdateParamPlanResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgGovCancelUpdateParamsResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgGovCancelUpdateParamPlanResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -2284,7 +2294,7 @@ func (m *MsgGovRemoveCurrencyDeviationThresholdsResponse) Size() (n int) { return n } -func (m *MsgGovCancelUpdateParams) Size() (n int) { +func (m *MsgGovCancelUpdateParamPlan) Size() (n int) { if m == nil { return 0 } @@ -2302,10 +2312,13 @@ func (m *MsgGovCancelUpdateParams) Size() (n int) { if l > 0 { n += 1 + l + sovTx(uint64(l)) } + if m.Height != 0 { + n += 1 + sovTx(uint64(m.Height)) + } return n } -func (m *MsgGovCancelUpdateParamsResponse) Size() (n int) { +func (m *MsgGovCancelUpdateParamPlanResponse) Size() (n int) { if m == nil { return 0 } @@ -4006,7 +4019,7 @@ func (m *MsgGovRemoveCurrencyDeviationThresholdsResponse) Unmarshal(dAtA []byte) } return nil } -func (m *MsgGovCancelUpdateParams) Unmarshal(dAtA []byte) error { +func (m *MsgGovCancelUpdateParamPlan) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -4029,10 +4042,10 @@ func (m *MsgGovCancelUpdateParams) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgGovCancelUpdateParams: wiretype end group for non-group") + return fmt.Errorf("proto: MsgGovCancelUpdateParamPlan: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgGovCancelUpdateParams: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgGovCancelUpdateParamPlan: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -4131,6 +4144,25 @@ func (m *MsgGovCancelUpdateParams) Unmarshal(dAtA []byte) error { } m.Description = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Height", wireType) + } + m.Height = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Height |= int64(b&0x7F) << shift + if b < 0x80 { + break + } + } default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) @@ -4152,7 +4184,7 @@ func (m *MsgGovCancelUpdateParams) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgGovCancelUpdateParamsResponse) Unmarshal(dAtA []byte) error { +func (m *MsgGovCancelUpdateParamPlanResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -4175,10 +4207,10 @@ func (m *MsgGovCancelUpdateParamsResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgGovCancelUpdateParamsResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgGovCancelUpdateParamPlanResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgGovCancelUpdateParamsResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgGovCancelUpdateParamPlanResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: