diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index b37a68429..3e3ab970e 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -47,7 +47,7 @@ jobs: - name: Run golangci-lint uses: golangci/golangci-lint-action@v6 with: - version: v1.56.2 + version: v1.60.3 args: --config .github/linters/.golangci.yaml proto-lint: diff --git a/ante/expected_keepers.go b/ante/expected_keepers.go index 7f39f7872..9814509a2 100644 --- a/ante/expected_keepers.go +++ b/ante/expected_keepers.go @@ -12,11 +12,11 @@ import ( ) type DidKeeper interface { - GetParams(ctx sdk.Context) (params didtypes.FeeParams) + GetParams(ctx context.Context) (didtypes.FeeParams, error) } type ResourceKeeper interface { - GetParams(ctx sdk.Context) (params resourcetypes.FeeParams) + GetParams(ctx context.Context) (params resourcetypes.FeeParams, err error) } type AccountKeeper interface { GetParams(ctx context.Context) (params authtypes.Params) diff --git a/ante/fee_test.go b/ante/fee_test.go index 84b9907a1..a4807e7ce 100644 --- a/ante/fee_test.go +++ b/ante/fee_test.go @@ -313,7 +313,8 @@ var _ = Describe("Fee tests on DeliverTx", func() { Expect(err).To(BeNil(), "Tx errored when fee payer had sufficient funds and provided sufficient fee while subtracting tax on deliverTx") // get fee params - feeParams := s.app.DidKeeper.GetParams(s.ctx) + feeParams, err := s.app.DidKeeper.GetParams(s.ctx) + Expect(err).To(BeNil()) // check balance of fee payer balance := s.app.BankKeeper.GetBalance(s.ctx, addr1, didtypes.BaseMinimalDenom) @@ -378,7 +379,8 @@ var _ = Describe("Fee tests on DeliverTx", func() { Expect(err).To(BeNil(), "Tx errored when fee payer had sufficient funds and provided sufficient fee while subtracting tax on deliverTx") // get fee params - feeParams := s.app.ResourceKeeper.GetParams(s.ctx) + feeParams, err := s.app.ResourceKeeper.GetParams(s.ctx) + Expect(err).To(BeNil()) // check balance of fee payer balance := s.app.BankKeeper.GetBalance(s.ctx, addr1, didtypes.BaseMinimalDenom) @@ -1311,7 +1313,7 @@ var _ = Describe("Fee abstraction along with fee market", func() { Status: types.HostChainFeeAbsStatus_UPDATED, } - var feeabsModAcc authtypes.ModuleAccountI + var feeabsModAcc sdk.ModuleAccountI var decorators []sdk.AnteDecorator BeforeEach(func() { @@ -1456,7 +1458,8 @@ var _ = Describe("Fee abstraction along with fee market", func() { Expect(err).To(BeNil(), "Tx errored when fee payer had sufficient funds and provided sufficient fee while subtracting tax on deliverTx") // get fee params - feeParams := s.app.DidKeeper.GetParams(s.ctx) + feeParams, err := s.app.DidKeeper.GetParams(s.ctx) + Expect(err).To(BeNil()) // check balance of fee payer balance := s.app.BankKeeper.GetBalance(s.ctx, addr1, didtypes.BaseMinimalDenom) @@ -1588,7 +1591,8 @@ var _ = Describe("Fee abstraction along with fee market", func() { Expect(err).To(BeNil(), "Tx errored when fee payer had sufficient funds and provided sufficient fee while subtracting tax on deliverTx") // get fee params - feeParams := s.app.DidKeeper.GetParams(s.ctx) + feeParams, err := s.app.DidKeeper.GetParams(s.ctx) + Expect(err).To(BeNil()) // check balance of fee payer balance := s.app.BankKeeper.GetBalance(s.ctx, addr1, didtypes.BaseMinimalDenom) diff --git a/ante/testutil_test.go b/ante/testutil_test.go index 68d62bc6a..a83a8af06 100644 --- a/ante/testutil_test.go +++ b/ante/testutil_test.go @@ -61,7 +61,7 @@ var ( // TestAccount represents an account used in the tests in x/auth/ante. type TestAccount struct { - acc authtypes.AccountI + acc sdk.AccountI priv cryptotypes.PrivKey } @@ -90,9 +90,12 @@ func createTestApp(isCheckTx bool) (*cheqdapp.TestApp, sdk.Context, error) { // cheqd specific params didFeeParams := didtypes.DefaultGenesis().FeeParams - app.DidKeeper.SetParams(ctx, *didFeeParams) + err = app.DidKeeper.SetParams(ctx, *didFeeParams) + if err != nil { + return nil, sdk.Context{}, err + } resourceFeeParams := resourcetypes.DefaultGenesis().FeeParams - app.ResourceKeeper.SetParams(ctx, *resourceFeeParams) + _ = app.ResourceKeeper.SetParams(ctx, *resourceFeeParams) err = app.FeeMarketKeeper.SetParams(ctx, types.NewParams(DefaultWindow, DefaultAlpha, DefaultBeta, DefaultGamma, DefaultDelta, DefaultMaxBlockUtilization, DefaultMinBaseGasPrice, DefaultMinLearningRate, DefaultMaxLearningRate, DefaultFeeDenom, true, )) @@ -217,13 +220,13 @@ func (s *AnteTestSuite) CreateTestTx(privs []cryptotypes.PrivKey, accNums []uint } // SetDidFeeParams is a helper function to set did fee params. -func (s *AnteTestSuite) SetDidFeeParams(feeParams didtypes.FeeParams) { - s.app.DidKeeper.SetParams(s.ctx, feeParams) +func (s *AnteTestSuite) SetDidFeeParams(feeParams didtypes.FeeParams) error { + return s.app.DidKeeper.SetParams(s.ctx, feeParams) } // SetResourceFeeParams is a helper function to set resource fee params. -func (s *AnteTestSuite) SetResourceFeeParams(feeParams resourcetypes.FeeParams) { - s.app.ResourceKeeper.SetParams(s.ctx, feeParams) +func (s *AnteTestSuite) SetResourceFeeParams(feeParams resourcetypes.FeeParams) error { + return s.app.ResourceKeeper.SetParams(s.ctx, feeParams) } func (s *AnteTestSuite) SetFeeMarketFeeDenom() error { diff --git a/ante/tx_msg_filters.go b/ante/tx_msg_filters.go index a35ae290d..b7e8001d2 100644 --- a/ante/tx_msg_filters.go +++ b/ante/tx_msg_filters.go @@ -108,12 +108,18 @@ func GetResourceTaxableMsgFee(ctx sdk.Context, msg *resourcetypes.MsgCreateResou } func checkFeeParamsFromSubspace(ctx sdk.Context, didKeeper DidKeeper, resourceKeeper ResourceKeeper) bool { - didParams := didKeeper.GetParams(ctx) + didParams, err := didKeeper.GetParams(ctx) + if err != nil { + return false + } TaxableMsgFees[MsgCreateDidDoc] = sdk.NewCoins(didParams.CreateDid) TaxableMsgFees[MsgUpdateDidDoc] = sdk.NewCoins(didParams.UpdateDid) TaxableMsgFees[MsgDeactivateDidDoc] = sdk.NewCoins(didParams.DeactivateDid) - resourceParams := resourceKeeper.GetParams(ctx) + resourceParams, err := resourceKeeper.GetParams(ctx) + if err != nil { + return false + } TaxableMsgFees[MsgCreateResourceImage] = sdk.NewCoins(resourceParams.Image) TaxableMsgFees[MsgCreateResourceJSON] = sdk.NewCoins(resourceParams.Json) TaxableMsgFees[MsgCreateResourceDefault] = sdk.NewCoins(resourceParams.Default) diff --git a/ante/tx_msg_filters_test.go b/ante/tx_msg_filters_test.go index 88370cc46..b632bc027 100644 --- a/ante/tx_msg_filters_test.go +++ b/ante/tx_msg_filters_test.go @@ -14,7 +14,7 @@ import ( ) var _ = Describe("TxMsgFilters", func() { - var rounds int = 1_000_000 + rounds := 1_000_000 BeforeEach(func() { ante.TaxableMsgFees = ante.TaxableMsgFee{ diff --git a/api/cheqd/did/v2/fee.pulsar.go b/api/cheqd/did/v2/fee.pulsar.go index c66dd4dcf..9c5f1d1ef 100644 --- a/api/cheqd/did/v2/fee.pulsar.go +++ b/api/cheqd/did/v2/fee.pulsar.go @@ -3,6 +3,7 @@ package didv2 import ( fmt "fmt" + _ "cosmossdk.io/api/amino" v1beta1 "cosmossdk.io/api/cosmos/base/v1beta1" _ "github.com/cosmos/cosmos-proto" runtime "github.com/cosmos/cosmos-proto/runtime" @@ -762,42 +763,43 @@ var File_cheqd_did_v2_fee_proto protoreflect.FileDescriptor var file_cheqd_did_v2_fee_proto_rawDesc = []byte{ 0x0a, 0x16, 0x63, 0x68, 0x65, 0x71, 0x64, 0x2f, 0x64, 0x69, 0x64, 0x2f, 0x76, 0x32, 0x2f, 0x66, 0x65, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0c, 0x63, 0x68, 0x65, 0x71, 0x64, 0x2e, - 0x64, 0x69, 0x64, 0x2e, 0x76, 0x32, 0x1a, 0x1e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x62, - 0x61, 0x73, 0x65, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x63, 0x6f, 0x69, 0x6e, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5f, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x1a, 0x14, 0x67, 0x6f, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x67, - 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb2, 0x02, 0x0a, 0x09, 0x46, 0x65, 0x65, 0x50, - 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x3e, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, - 0x64, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x73, 0x6d, - 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, - 0x43, 0x6f, 0x69, 0x6e, 0x42, 0x04, 0xc8, 0xde, 0x1f, 0x00, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x44, 0x69, 0x64, 0x12, 0x3e, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, - 0x64, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x73, 0x6d, - 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, - 0x43, 0x6f, 0x69, 0x6e, 0x42, 0x04, 0xc8, 0xde, 0x1f, 0x00, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x44, 0x69, 0x64, 0x12, 0x46, 0x0a, 0x0e, 0x64, 0x65, 0x61, 0x63, 0x74, 0x69, 0x76, - 0x61, 0x74, 0x65, 0x5f, 0x64, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, - 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, - 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x42, 0x04, 0xc8, 0xde, 0x1f, 0x00, 0x52, 0x0d, - 0x64, 0x65, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x44, 0x69, 0x64, 0x12, 0x5d, 0x0a, - 0x0b, 0x62, 0x75, 0x72, 0x6e, 0x5f, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x3c, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x26, 0x67, 0x69, 0x74, 0x68, - 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x63, 0x6f, - 0x73, 0x6d, 0x6f, 0x73, 0x2d, 0x73, 0x64, 0x6b, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x44, - 0x65, 0x63, 0xd2, 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x44, 0x65, 0x63, - 0x52, 0x0a, 0x62, 0x75, 0x72, 0x6e, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x42, 0xa9, 0x01, 0xa8, - 0xe2, 0x1e, 0x01, 0x0a, 0x10, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x68, 0x65, 0x71, 0x64, 0x2e, 0x64, - 0x69, 0x64, 0x2e, 0x76, 0x32, 0x42, 0x08, 0x46, 0x65, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, - 0x01, 0x5a, 0x35, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x68, - 0x65, 0x71, 0x64, 0x2f, 0x63, 0x68, 0x65, 0x71, 0x64, 0x2d, 0x6e, 0x6f, 0x64, 0x65, 0x2f, 0x61, - 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x68, 0x65, 0x71, 0x64, 0x2f, 0x64, 0x69, 0x64, 0x2f, - 0x76, 0x32, 0x3b, 0x64, 0x69, 0x64, 0x76, 0x32, 0xa2, 0x02, 0x03, 0x43, 0x44, 0x58, 0xaa, 0x02, - 0x0c, 0x43, 0x68, 0x65, 0x71, 0x64, 0x2e, 0x44, 0x69, 0x64, 0x2e, 0x56, 0x32, 0xca, 0x02, 0x0c, - 0x43, 0x68, 0x65, 0x71, 0x64, 0x5c, 0x44, 0x69, 0x64, 0x5c, 0x56, 0x32, 0xe2, 0x02, 0x18, 0x43, - 0x68, 0x65, 0x71, 0x64, 0x5c, 0x44, 0x69, 0x64, 0x5c, 0x56, 0x32, 0x5c, 0x47, 0x50, 0x42, 0x4d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x0e, 0x43, 0x68, 0x65, 0x71, 0x64, 0x3a, - 0x3a, 0x44, 0x69, 0x64, 0x3a, 0x3a, 0x56, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x64, 0x69, 0x64, 0x2e, 0x76, 0x32, 0x1a, 0x11, 0x61, 0x6d, 0x69, 0x6e, 0x6f, 0x2f, 0x61, 0x6d, + 0x69, 0x6e, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, + 0x73, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x63, + 0x6f, 0x69, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x63, 0x6f, 0x73, 0x6d, 0x6f, + 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x67, 0x6f, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, + 0x67, 0x6f, 0x67, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xac, 0x02, 0x0a, 0x09, 0x46, + 0x65, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x3e, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x5f, 0x64, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, + 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x42, 0x04, 0xc8, 0xde, 0x1f, 0x00, 0x52, 0x09, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x69, 0x64, 0x12, 0x3e, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x5f, 0x64, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, + 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x42, 0x04, 0xc8, 0xde, 0x1f, 0x00, 0x52, 0x09, 0x75, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x69, 0x64, 0x12, 0x46, 0x0a, 0x0e, 0x64, 0x65, 0x61, 0x63, + 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x64, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x42, 0x04, 0xc8, 0xde, 0x1f, + 0x00, 0x52, 0x0d, 0x64, 0x65, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x44, 0x69, 0x64, + 0x12, 0x57, 0x0a, 0x0b, 0x62, 0x75, 0x72, 0x6e, 0x5f, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x36, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x1b, 0x63, + 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x6d, 0x61, 0x74, 0x68, + 0x2e, 0x4c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x44, 0x65, 0x63, 0xd2, 0xb4, 0x2d, 0x0a, 0x63, 0x6f, + 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x44, 0x65, 0x63, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x0a, 0x62, + 0x75, 0x72, 0x6e, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x42, 0xa9, 0x01, 0xa8, 0xe2, 0x1e, 0x01, + 0x0a, 0x10, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x68, 0x65, 0x71, 0x64, 0x2e, 0x64, 0x69, 0x64, 0x2e, + 0x76, 0x32, 0x42, 0x08, 0x46, 0x65, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x35, + 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x68, 0x65, 0x71, 0x64, + 0x2f, 0x63, 0x68, 0x65, 0x71, 0x64, 0x2d, 0x6e, 0x6f, 0x64, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, + 0x76, 0x32, 0x2f, 0x63, 0x68, 0x65, 0x71, 0x64, 0x2f, 0x64, 0x69, 0x64, 0x2f, 0x76, 0x32, 0x3b, + 0x64, 0x69, 0x64, 0x76, 0x32, 0xa2, 0x02, 0x03, 0x43, 0x44, 0x58, 0xaa, 0x02, 0x0c, 0x43, 0x68, + 0x65, 0x71, 0x64, 0x2e, 0x44, 0x69, 0x64, 0x2e, 0x56, 0x32, 0xca, 0x02, 0x0c, 0x43, 0x68, 0x65, + 0x71, 0x64, 0x5c, 0x44, 0x69, 0x64, 0x5c, 0x56, 0x32, 0xe2, 0x02, 0x18, 0x43, 0x68, 0x65, 0x71, + 0x64, 0x5c, 0x44, 0x69, 0x64, 0x5c, 0x56, 0x32, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x0e, 0x43, 0x68, 0x65, 0x71, 0x64, 0x3a, 0x3a, 0x44, 0x69, + 0x64, 0x3a, 0x3a, 0x56, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/api/cheqd/did/v2/query.pulsar.go b/api/cheqd/did/v2/query.pulsar.go index 6ace0b906..e57afb722 100644 --- a/api/cheqd/did/v2/query.pulsar.go +++ b/api/cheqd/did/v2/query.pulsar.go @@ -3,8 +3,10 @@ package didv2 import ( fmt "fmt" + _ "cosmossdk.io/api/amino" v1beta1 "cosmossdk.io/api/cosmos/base/query/v1beta1" runtime "github.com/cosmos/cosmos-proto/runtime" + _ "github.com/cosmos/gogoproto/gogoproto" _ "google.golang.org/genproto/googleapis/api/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" @@ -2860,6 +2862,797 @@ func (x *fastReflection_QueryAllDidDocVersionsMetadataResponse) ProtoMethods() * } } +var ( + md_QueryParamsRequest protoreflect.MessageDescriptor +) + +func init() { + file_cheqd_did_v2_query_proto_init() + md_QueryParamsRequest = File_cheqd_did_v2_query_proto.Messages().ByName("QueryParamsRequest") +} + +var _ protoreflect.Message = (*fastReflection_QueryParamsRequest)(nil) + +type fastReflection_QueryParamsRequest QueryParamsRequest + +func (x *QueryParamsRequest) ProtoReflect() protoreflect.Message { + return (*fastReflection_QueryParamsRequest)(x) +} + +func (x *QueryParamsRequest) slowProtoReflect() protoreflect.Message { + mi := &file_cheqd_did_v2_query_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_QueryParamsRequest_messageType fastReflection_QueryParamsRequest_messageType +var _ protoreflect.MessageType = fastReflection_QueryParamsRequest_messageType{} + +type fastReflection_QueryParamsRequest_messageType struct{} + +func (x fastReflection_QueryParamsRequest_messageType) Zero() protoreflect.Message { + return (*fastReflection_QueryParamsRequest)(nil) +} +func (x fastReflection_QueryParamsRequest_messageType) New() protoreflect.Message { + return new(fastReflection_QueryParamsRequest) +} +func (x fastReflection_QueryParamsRequest_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_QueryParamsRequest +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_QueryParamsRequest) Descriptor() protoreflect.MessageDescriptor { + return md_QueryParamsRequest +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_QueryParamsRequest) Type() protoreflect.MessageType { + return _fastReflection_QueryParamsRequest_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_QueryParamsRequest) New() protoreflect.Message { + return new(fastReflection_QueryParamsRequest) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_QueryParamsRequest) Interface() protoreflect.ProtoMessage { + return (*QueryParamsRequest)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_QueryParamsRequest) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_QueryParamsRequest) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cheqd.did.v2.QueryParamsRequest")) + } + panic(fmt.Errorf("message cheqd.did.v2.QueryParamsRequest does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryParamsRequest) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cheqd.did.v2.QueryParamsRequest")) + } + panic(fmt.Errorf("message cheqd.did.v2.QueryParamsRequest does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_QueryParamsRequest) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cheqd.did.v2.QueryParamsRequest")) + } + panic(fmt.Errorf("message cheqd.did.v2.QueryParamsRequest does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryParamsRequest) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cheqd.did.v2.QueryParamsRequest")) + } + panic(fmt.Errorf("message cheqd.did.v2.QueryParamsRequest does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryParamsRequest) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cheqd.did.v2.QueryParamsRequest")) + } + panic(fmt.Errorf("message cheqd.did.v2.QueryParamsRequest does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_QueryParamsRequest) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cheqd.did.v2.QueryParamsRequest")) + } + panic(fmt.Errorf("message cheqd.did.v2.QueryParamsRequest does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_QueryParamsRequest) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cheqd.did.v2.QueryParamsRequest", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_QueryParamsRequest) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryParamsRequest) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_QueryParamsRequest) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_QueryParamsRequest) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*QueryParamsRequest) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*QueryParamsRequest) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*QueryParamsRequest) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryParamsRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryParamsRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_QueryParamsResponse protoreflect.MessageDescriptor + fd_QueryParamsResponse_params protoreflect.FieldDescriptor +) + +func init() { + file_cheqd_did_v2_query_proto_init() + md_QueryParamsResponse = File_cheqd_did_v2_query_proto.Messages().ByName("QueryParamsResponse") + fd_QueryParamsResponse_params = md_QueryParamsResponse.Fields().ByName("params") +} + +var _ protoreflect.Message = (*fastReflection_QueryParamsResponse)(nil) + +type fastReflection_QueryParamsResponse QueryParamsResponse + +func (x *QueryParamsResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_QueryParamsResponse)(x) +} + +func (x *QueryParamsResponse) slowProtoReflect() protoreflect.Message { + mi := &file_cheqd_did_v2_query_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_QueryParamsResponse_messageType fastReflection_QueryParamsResponse_messageType +var _ protoreflect.MessageType = fastReflection_QueryParamsResponse_messageType{} + +type fastReflection_QueryParamsResponse_messageType struct{} + +func (x fastReflection_QueryParamsResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_QueryParamsResponse)(nil) +} +func (x fastReflection_QueryParamsResponse_messageType) New() protoreflect.Message { + return new(fastReflection_QueryParamsResponse) +} +func (x fastReflection_QueryParamsResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_QueryParamsResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_QueryParamsResponse) Descriptor() protoreflect.MessageDescriptor { + return md_QueryParamsResponse +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_QueryParamsResponse) Type() protoreflect.MessageType { + return _fastReflection_QueryParamsResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_QueryParamsResponse) New() protoreflect.Message { + return new(fastReflection_QueryParamsResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_QueryParamsResponse) Interface() protoreflect.ProtoMessage { + return (*QueryParamsResponse)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_QueryParamsResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Params != nil { + value := protoreflect.ValueOfMessage(x.Params.ProtoReflect()) + if !f(fd_QueryParamsResponse_params, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_QueryParamsResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cheqd.did.v2.QueryParamsResponse.params": + return x.Params != nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cheqd.did.v2.QueryParamsResponse")) + } + panic(fmt.Errorf("message cheqd.did.v2.QueryParamsResponse does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryParamsResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cheqd.did.v2.QueryParamsResponse.params": + x.Params = nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cheqd.did.v2.QueryParamsResponse")) + } + panic(fmt.Errorf("message cheqd.did.v2.QueryParamsResponse does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_QueryParamsResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cheqd.did.v2.QueryParamsResponse.params": + value := x.Params + return protoreflect.ValueOfMessage(value.ProtoReflect()) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cheqd.did.v2.QueryParamsResponse")) + } + panic(fmt.Errorf("message cheqd.did.v2.QueryParamsResponse does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryParamsResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cheqd.did.v2.QueryParamsResponse.params": + x.Params = value.Message().Interface().(*FeeParams) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cheqd.did.v2.QueryParamsResponse")) + } + panic(fmt.Errorf("message cheqd.did.v2.QueryParamsResponse does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryParamsResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cheqd.did.v2.QueryParamsResponse.params": + if x.Params == nil { + x.Params = new(FeeParams) + } + return protoreflect.ValueOfMessage(x.Params.ProtoReflect()) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cheqd.did.v2.QueryParamsResponse")) + } + panic(fmt.Errorf("message cheqd.did.v2.QueryParamsResponse does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_QueryParamsResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cheqd.did.v2.QueryParamsResponse.params": + m := new(FeeParams) + return protoreflect.ValueOfMessage(m.ProtoReflect()) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cheqd.did.v2.QueryParamsResponse")) + } + panic(fmt.Errorf("message cheqd.did.v2.QueryParamsResponse does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_QueryParamsResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cheqd.did.v2.QueryParamsResponse", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_QueryParamsResponse) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_QueryParamsResponse) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_QueryParamsResponse) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_QueryParamsResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*QueryParamsResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.Params != nil { + l = options.Size(x.Params) + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*QueryParamsResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if x.Params != nil { + encoded, err := options.Marshal(x.Params) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*QueryParamsResponse) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryParamsResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: QueryParamsResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Params", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if x.Params == nil { + x.Params = &FeeParams{} + } + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Params); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.27.0 @@ -3152,92 +3945,174 @@ func (x *QueryAllDidDocVersionsMetadataResponse) GetPagination() *v1beta1.PageRe return nil } +// QueryParamsRequest is the request type for the Query/Params RPC method. +type QueryParamsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *QueryParamsRequest) Reset() { + *x = QueryParamsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_cheqd_did_v2_query_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QueryParamsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryParamsRequest) ProtoMessage() {} + +// Deprecated: Use QueryParamsRequest.ProtoReflect.Descriptor instead. +func (*QueryParamsRequest) Descriptor() ([]byte, []int) { + return file_cheqd_did_v2_query_proto_rawDescGZIP(), []int{6} +} + +// QueryParamsResponse is the response type for the Query/Params RPC method. +type QueryParamsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // params defines the parameters of the module. + Params *FeeParams `protobuf:"bytes,1,opt,name=params,proto3" json:"params,omitempty"` +} + +func (x *QueryParamsResponse) Reset() { + *x = QueryParamsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cheqd_did_v2_query_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QueryParamsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryParamsResponse) ProtoMessage() {} + +// Deprecated: Use QueryParamsResponse.ProtoReflect.Descriptor instead. +func (*QueryParamsResponse) Descriptor() ([]byte, []int) { + return file_cheqd_did_v2_query_proto_rawDescGZIP(), []int{7} +} + +func (x *QueryParamsResponse) GetParams() *FeeParams { + if x != nil { + return x.Params + } + return nil +} + var File_cheqd_did_v2_query_proto protoreflect.FileDescriptor var file_cheqd_did_v2_query_proto_rawDesc = []byte{ 0x0a, 0x18, 0x63, 0x68, 0x65, 0x71, 0x64, 0x2f, 0x64, 0x69, 0x64, 0x2f, 0x76, 0x32, 0x2f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0c, 0x63, 0x68, 0x65, 0x71, - 0x64, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x32, 0x1a, 0x19, 0x63, 0x68, 0x65, 0x71, 0x64, 0x2f, - 0x64, 0x69, 0x64, 0x2f, 0x76, 0x32, 0x2f, 0x64, 0x69, 0x64, 0x64, 0x6f, 0x63, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x1a, 0x2a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x62, 0x61, 0x73, 0x65, - 0x2f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x70, - 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, - 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, - 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x24, 0x0a, - 0x12, 0x51, 0x75, 0x65, 0x72, 0x79, 0x44, 0x69, 0x64, 0x44, 0x6f, 0x63, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x02, 0x69, 0x64, 0x22, 0x4d, 0x0a, 0x13, 0x51, 0x75, 0x65, 0x72, 0x79, 0x44, 0x69, 0x64, 0x44, - 0x6f, 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x36, 0x0a, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x63, 0x68, 0x65, 0x71, - 0x64, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x69, 0x64, 0x44, 0x6f, 0x63, 0x57, - 0x69, 0x74, 0x68, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x22, 0x45, 0x0a, 0x19, 0x51, 0x75, 0x65, 0x72, 0x79, 0x44, 0x69, 0x64, 0x44, 0x6f, - 0x63, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, - 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x54, 0x0a, 0x1a, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x44, 0x69, 0x64, 0x44, 0x6f, 0x63, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x36, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x63, 0x68, 0x65, 0x71, 0x64, 0x2e, 0x64, - 0x69, 0x64, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x69, 0x64, 0x44, 0x6f, 0x63, 0x57, 0x69, 0x74, 0x68, - 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, - 0x7f, 0x0a, 0x25, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x44, 0x69, 0x64, 0x44, 0x6f, - 0x63, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x46, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x69, - 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x63, - 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x22, 0xa5, 0x01, 0x0a, 0x26, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x44, 0x69, 0x64, - 0x44, 0x6f, 0x63, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x32, 0x0a, 0x08, 0x76, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, - 0x63, 0x68, 0x65, 0x71, 0x64, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, - 0x47, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, - 0x65, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, - 0x50, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x0a, 0x70, 0x61, - 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x32, 0xb3, 0x03, 0x0a, 0x05, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x12, 0x69, 0x0a, 0x06, 0x44, 0x69, 0x64, 0x44, 0x6f, 0x63, 0x12, 0x20, 0x2e, 0x63, - 0x68, 0x65, 0x71, 0x64, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x32, 0x2e, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x44, 0x69, 0x64, 0x44, 0x6f, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, - 0x2e, 0x63, 0x68, 0x65, 0x71, 0x64, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x32, 0x2e, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x44, 0x69, 0x64, 0x44, 0x6f, 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x1a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x14, 0x12, 0x12, 0x2f, 0x63, 0x68, 0x65, 0x71, - 0x64, 0x2f, 0x64, 0x69, 0x64, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0x90, 0x01, - 0x0a, 0x0d, 0x44, 0x69, 0x64, 0x44, 0x6f, 0x63, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, - 0x27, 0x2e, 0x63, 0x68, 0x65, 0x71, 0x64, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x32, 0x2e, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x44, 0x69, 0x64, 0x44, 0x6f, 0x63, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x63, 0x68, 0x65, 0x71, 0x64, + 0x64, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x32, 0x1a, 0x11, 0x61, 0x6d, 0x69, 0x6e, 0x6f, 0x2f, + 0x61, 0x6d, 0x69, 0x6e, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x63, 0x68, 0x65, + 0x71, 0x64, 0x2f, 0x64, 0x69, 0x64, 0x2f, 0x76, 0x32, 0x2f, 0x64, 0x69, 0x64, 0x64, 0x6f, 0x63, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x63, 0x68, 0x65, 0x71, 0x64, 0x2f, 0x64, 0x69, + 0x64, 0x2f, 0x76, 0x32, 0x2f, 0x66, 0x65, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2a, + 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2f, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x67, 0x6f, 0x67, 0x6f, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x67, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, + 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x24, + 0x0a, 0x12, 0x51, 0x75, 0x65, 0x72, 0x79, 0x44, 0x69, 0x64, 0x44, 0x6f, 0x63, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x02, 0x69, 0x64, 0x22, 0x4d, 0x0a, 0x13, 0x51, 0x75, 0x65, 0x72, 0x79, 0x44, 0x69, 0x64, + 0x44, 0x6f, 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x36, 0x0a, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x63, 0x68, 0x65, + 0x71, 0x64, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x69, 0x64, 0x44, 0x6f, 0x63, + 0x57, 0x69, 0x74, 0x68, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x22, 0x45, 0x0a, 0x19, 0x51, 0x75, 0x65, 0x72, 0x79, 0x44, 0x69, 0x64, 0x44, + 0x6f, 0x63, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, + 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x54, 0x0a, 0x1a, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x44, 0x69, 0x64, 0x44, 0x6f, 0x63, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x36, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x63, 0x68, 0x65, 0x71, 0x64, 0x2e, + 0x64, 0x69, 0x64, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x69, 0x64, 0x44, 0x6f, 0x63, 0x57, 0x69, 0x74, + 0x68, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x22, 0x7f, 0x0a, 0x25, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x44, 0x69, 0x64, 0x44, + 0x6f, 0x63, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x46, 0x0a, 0x0a, 0x70, 0x61, 0x67, + 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, + 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x61, 0x67, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x22, 0xa5, 0x01, 0x0a, 0x26, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x44, 0x69, + 0x64, 0x44, 0x6f, 0x63, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x4d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x32, 0x0a, 0x08, + 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, + 0x2e, 0x63, 0x68, 0x65, 0x71, 0x64, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, + 0x12, 0x47, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, + 0x73, 0x65, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2e, 0x50, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x0a, 0x70, + 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x14, 0x0a, 0x12, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, + 0x51, 0x0a, 0x13, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63, 0x68, 0x65, 0x71, 0x64, 0x2e, 0x64, + 0x69, 0x64, 0x2e, 0x76, 0x32, 0x2e, 0x46, 0x65, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x42, + 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, + 0x6d, 0x73, 0x32, 0xa0, 0x04, 0x0a, 0x05, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x69, 0x0a, 0x06, + 0x44, 0x69, 0x64, 0x44, 0x6f, 0x63, 0x12, 0x20, 0x2e, 0x63, 0x68, 0x65, 0x71, 0x64, 0x2e, 0x64, + 0x69, 0x64, 0x2e, 0x76, 0x32, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x44, 0x69, 0x64, 0x44, 0x6f, + 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x63, 0x68, 0x65, 0x71, 0x64, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x32, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x44, 0x69, 0x64, - 0x44, 0x6f, 0x63, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x2c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x26, 0x12, 0x24, 0x2f, 0x63, 0x68, 0x65, - 0x71, 0x64, 0x2f, 0x64, 0x69, 0x64, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x2f, 0x76, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x2f, 0x7b, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x7d, - 0x12, 0xab, 0x01, 0x0a, 0x19, 0x41, 0x6c, 0x6c, 0x44, 0x69, 0x64, 0x44, 0x6f, 0x63, 0x56, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x33, - 0x2e, 0x63, 0x68, 0x65, 0x71, 0x64, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x32, 0x2e, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x44, 0x69, 0x64, 0x44, 0x6f, 0x63, 0x56, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x63, 0x68, 0x65, 0x71, 0x64, 0x2e, 0x64, 0x69, 0x64, 0x2e, - 0x76, 0x32, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x44, 0x69, 0x64, 0x44, 0x6f, - 0x63, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x23, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x1d, 0x12, 0x1b, 0x2f, 0x63, 0x68, 0x65, 0x71, 0x64, 0x2f, 0x64, 0x69, 0x64, 0x2f, 0x76, 0x32, - 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0xa7, - 0x01, 0x0a, 0x10, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x68, 0x65, 0x71, 0x64, 0x2e, 0x64, 0x69, 0x64, - 0x2e, 0x76, 0x32, 0x42, 0x0a, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, - 0x01, 0x5a, 0x35, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x68, - 0x65, 0x71, 0x64, 0x2f, 0x63, 0x68, 0x65, 0x71, 0x64, 0x2d, 0x6e, 0x6f, 0x64, 0x65, 0x2f, 0x61, - 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x68, 0x65, 0x71, 0x64, 0x2f, 0x64, 0x69, 0x64, 0x2f, - 0x76, 0x32, 0x3b, 0x64, 0x69, 0x64, 0x76, 0x32, 0xa2, 0x02, 0x03, 0x43, 0x44, 0x58, 0xaa, 0x02, - 0x0c, 0x43, 0x68, 0x65, 0x71, 0x64, 0x2e, 0x44, 0x69, 0x64, 0x2e, 0x56, 0x32, 0xca, 0x02, 0x0c, - 0x43, 0x68, 0x65, 0x71, 0x64, 0x5c, 0x44, 0x69, 0x64, 0x5c, 0x56, 0x32, 0xe2, 0x02, 0x18, 0x43, - 0x68, 0x65, 0x71, 0x64, 0x5c, 0x44, 0x69, 0x64, 0x5c, 0x56, 0x32, 0x5c, 0x47, 0x50, 0x42, 0x4d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x0e, 0x43, 0x68, 0x65, 0x71, 0x64, 0x3a, - 0x3a, 0x44, 0x69, 0x64, 0x3a, 0x3a, 0x56, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x44, 0x6f, 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1a, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x14, 0x12, 0x12, 0x2f, 0x63, 0x68, 0x65, 0x71, 0x64, 0x2f, 0x64, 0x69, 0x64, 0x2f, + 0x76, 0x32, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0x90, 0x01, 0x0a, 0x0d, 0x44, 0x69, 0x64, 0x44, + 0x6f, 0x63, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x27, 0x2e, 0x63, 0x68, 0x65, 0x71, + 0x64, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x32, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x44, 0x69, + 0x64, 0x44, 0x6f, 0x63, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x63, 0x68, 0x65, 0x71, 0x64, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, + 0x32, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x44, 0x69, 0x64, 0x44, 0x6f, 0x63, 0x56, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2c, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x26, 0x12, 0x24, 0x2f, 0x63, 0x68, 0x65, 0x71, 0x64, 0x2f, 0x64, 0x69, 0x64, + 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x2f, 0x7b, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x7d, 0x12, 0xab, 0x01, 0x0a, 0x19, 0x41, + 0x6c, 0x6c, 0x44, 0x69, 0x64, 0x44, 0x6f, 0x63, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x33, 0x2e, 0x63, 0x68, 0x65, 0x71, 0x64, + 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x32, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6c, 0x6c, + 0x44, 0x69, 0x64, 0x44, 0x6f, 0x63, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x4d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, + 0x63, 0x68, 0x65, 0x71, 0x64, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x32, 0x2e, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x41, 0x6c, 0x6c, 0x44, 0x69, 0x64, 0x44, 0x6f, 0x63, 0x56, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x23, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1d, 0x12, 0x1b, 0x2f, 0x63, 0x68, + 0x65, 0x71, 0x64, 0x2f, 0x64, 0x69, 0x64, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x2f, + 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x6b, 0x0a, 0x06, 0x50, 0x61, 0x72, 0x61, + 0x6d, 0x73, 0x12, 0x20, 0x2e, 0x63, 0x68, 0x65, 0x71, 0x64, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, + 0x32, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x63, 0x68, 0x65, 0x71, 0x64, 0x2e, 0x64, 0x69, 0x64, + 0x2e, 0x76, 0x32, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x16, 0x12, + 0x14, 0x2f, 0x63, 0x68, 0x65, 0x71, 0x64, 0x2f, 0x64, 0x69, 0x64, 0x2f, 0x76, 0x32, 0x2f, 0x70, + 0x61, 0x72, 0x61, 0x6d, 0x73, 0x42, 0xa7, 0x01, 0x0a, 0x10, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x68, + 0x65, 0x71, 0x64, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x32, 0x42, 0x0a, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x35, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x68, 0x65, 0x71, 0x64, 0x2f, 0x63, 0x68, 0x65, 0x71, 0x64, + 0x2d, 0x6e, 0x6f, 0x64, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x68, 0x65, + 0x71, 0x64, 0x2f, 0x64, 0x69, 0x64, 0x2f, 0x76, 0x32, 0x3b, 0x64, 0x69, 0x64, 0x76, 0x32, 0xa2, + 0x02, 0x03, 0x43, 0x44, 0x58, 0xaa, 0x02, 0x0c, 0x43, 0x68, 0x65, 0x71, 0x64, 0x2e, 0x44, 0x69, + 0x64, 0x2e, 0x56, 0x32, 0xca, 0x02, 0x0c, 0x43, 0x68, 0x65, 0x71, 0x64, 0x5c, 0x44, 0x69, 0x64, + 0x5c, 0x56, 0x32, 0xe2, 0x02, 0x18, 0x43, 0x68, 0x65, 0x71, 0x64, 0x5c, 0x44, 0x69, 0x64, 0x5c, + 0x56, 0x32, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, + 0x0e, 0x43, 0x68, 0x65, 0x71, 0x64, 0x3a, 0x3a, 0x44, 0x69, 0x64, 0x3a, 0x3a, 0x56, 0x32, 0x62, + 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -3252,7 +4127,7 @@ func file_cheqd_did_v2_query_proto_rawDescGZIP() []byte { return file_cheqd_did_v2_query_proto_rawDescData } -var file_cheqd_did_v2_query_proto_msgTypes = make([]protoimpl.MessageInfo, 6) +var file_cheqd_did_v2_query_proto_msgTypes = make([]protoimpl.MessageInfo, 8) var file_cheqd_did_v2_query_proto_goTypes = []interface{}{ (*QueryDidDocRequest)(nil), // 0: cheqd.did.v2.QueryDidDocRequest (*QueryDidDocResponse)(nil), // 1: cheqd.did.v2.QueryDidDocResponse @@ -3260,28 +4135,34 @@ var file_cheqd_did_v2_query_proto_goTypes = []interface{}{ (*QueryDidDocVersionResponse)(nil), // 3: cheqd.did.v2.QueryDidDocVersionResponse (*QueryAllDidDocVersionsMetadataRequest)(nil), // 4: cheqd.did.v2.QueryAllDidDocVersionsMetadataRequest (*QueryAllDidDocVersionsMetadataResponse)(nil), // 5: cheqd.did.v2.QueryAllDidDocVersionsMetadataResponse - (*DidDocWithMetadata)(nil), // 6: cheqd.did.v2.DidDocWithMetadata - (*v1beta1.PageRequest)(nil), // 7: cosmos.base.query.v1beta1.PageRequest - (*Metadata)(nil), // 8: cheqd.did.v2.Metadata - (*v1beta1.PageResponse)(nil), // 9: cosmos.base.query.v1beta1.PageResponse + (*QueryParamsRequest)(nil), // 6: cheqd.did.v2.QueryParamsRequest + (*QueryParamsResponse)(nil), // 7: cheqd.did.v2.QueryParamsResponse + (*DidDocWithMetadata)(nil), // 8: cheqd.did.v2.DidDocWithMetadata + (*v1beta1.PageRequest)(nil), // 9: cosmos.base.query.v1beta1.PageRequest + (*Metadata)(nil), // 10: cheqd.did.v2.Metadata + (*v1beta1.PageResponse)(nil), // 11: cosmos.base.query.v1beta1.PageResponse + (*FeeParams)(nil), // 12: cheqd.did.v2.FeeParams } var file_cheqd_did_v2_query_proto_depIdxs = []int32{ - 6, // 0: cheqd.did.v2.QueryDidDocResponse.value:type_name -> cheqd.did.v2.DidDocWithMetadata - 6, // 1: cheqd.did.v2.QueryDidDocVersionResponse.value:type_name -> cheqd.did.v2.DidDocWithMetadata - 7, // 2: cheqd.did.v2.QueryAllDidDocVersionsMetadataRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest - 8, // 3: cheqd.did.v2.QueryAllDidDocVersionsMetadataResponse.versions:type_name -> cheqd.did.v2.Metadata - 9, // 4: cheqd.did.v2.QueryAllDidDocVersionsMetadataResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse - 0, // 5: cheqd.did.v2.Query.DidDoc:input_type -> cheqd.did.v2.QueryDidDocRequest - 2, // 6: cheqd.did.v2.Query.DidDocVersion:input_type -> cheqd.did.v2.QueryDidDocVersionRequest - 4, // 7: cheqd.did.v2.Query.AllDidDocVersionsMetadata:input_type -> cheqd.did.v2.QueryAllDidDocVersionsMetadataRequest - 1, // 8: cheqd.did.v2.Query.DidDoc:output_type -> cheqd.did.v2.QueryDidDocResponse - 3, // 9: cheqd.did.v2.Query.DidDocVersion:output_type -> cheqd.did.v2.QueryDidDocVersionResponse - 5, // 10: cheqd.did.v2.Query.AllDidDocVersionsMetadata:output_type -> cheqd.did.v2.QueryAllDidDocVersionsMetadataResponse - 8, // [8:11] is the sub-list for method output_type - 5, // [5:8] is the sub-list for method input_type - 5, // [5:5] is the sub-list for extension type_name - 5, // [5:5] is the sub-list for extension extendee - 0, // [0:5] is the sub-list for field type_name + 8, // 0: cheqd.did.v2.QueryDidDocResponse.value:type_name -> cheqd.did.v2.DidDocWithMetadata + 8, // 1: cheqd.did.v2.QueryDidDocVersionResponse.value:type_name -> cheqd.did.v2.DidDocWithMetadata + 9, // 2: cheqd.did.v2.QueryAllDidDocVersionsMetadataRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest + 10, // 3: cheqd.did.v2.QueryAllDidDocVersionsMetadataResponse.versions:type_name -> cheqd.did.v2.Metadata + 11, // 4: cheqd.did.v2.QueryAllDidDocVersionsMetadataResponse.pagination:type_name -> cosmos.base.query.v1beta1.PageResponse + 12, // 5: cheqd.did.v2.QueryParamsResponse.params:type_name -> cheqd.did.v2.FeeParams + 0, // 6: cheqd.did.v2.Query.DidDoc:input_type -> cheqd.did.v2.QueryDidDocRequest + 2, // 7: cheqd.did.v2.Query.DidDocVersion:input_type -> cheqd.did.v2.QueryDidDocVersionRequest + 4, // 8: cheqd.did.v2.Query.AllDidDocVersionsMetadata:input_type -> cheqd.did.v2.QueryAllDidDocVersionsMetadataRequest + 6, // 9: cheqd.did.v2.Query.Params:input_type -> cheqd.did.v2.QueryParamsRequest + 1, // 10: cheqd.did.v2.Query.DidDoc:output_type -> cheqd.did.v2.QueryDidDocResponse + 3, // 11: cheqd.did.v2.Query.DidDocVersion:output_type -> cheqd.did.v2.QueryDidDocVersionResponse + 5, // 12: cheqd.did.v2.Query.AllDidDocVersionsMetadata:output_type -> cheqd.did.v2.QueryAllDidDocVersionsMetadataResponse + 7, // 13: cheqd.did.v2.Query.Params:output_type -> cheqd.did.v2.QueryParamsResponse + 10, // [10:14] is the sub-list for method output_type + 6, // [6:10] is the sub-list for method input_type + 6, // [6:6] is the sub-list for extension type_name + 6, // [6:6] is the sub-list for extension extendee + 0, // [0:6] is the sub-list for field type_name } func init() { file_cheqd_did_v2_query_proto_init() } @@ -3290,6 +4171,7 @@ func file_cheqd_did_v2_query_proto_init() { return } file_cheqd_did_v2_diddoc_proto_init() + file_cheqd_did_v2_fee_proto_init() if !protoimpl.UnsafeEnabled { file_cheqd_did_v2_query_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QueryDidDocRequest); i { @@ -3363,6 +4245,30 @@ func file_cheqd_did_v2_query_proto_init() { return nil } } + file_cheqd_did_v2_query_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*QueryParamsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cheqd_did_v2_query_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*QueryParamsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } type x struct{} out := protoimpl.TypeBuilder{ @@ -3370,7 +4276,7 @@ func file_cheqd_did_v2_query_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_cheqd_did_v2_query_proto_rawDesc, NumEnums: 0, - NumMessages: 6, + NumMessages: 8, NumExtensions: 0, NumServices: 1, }, diff --git a/api/cheqd/did/v2/query_grpc.pb.go b/api/cheqd/did/v2/query_grpc.pb.go index e32f7cccd..dd4f72ad0 100644 --- a/api/cheqd/did/v2/query_grpc.pb.go +++ b/api/cheqd/did/v2/query_grpc.pb.go @@ -22,6 +22,7 @@ const ( Query_DidDoc_FullMethodName = "/cheqd.did.v2.Query/DidDoc" Query_DidDocVersion_FullMethodName = "/cheqd.did.v2.Query/DidDocVersion" Query_AllDidDocVersionsMetadata_FullMethodName = "/cheqd.did.v2.Query/AllDidDocVersionsMetadata" + Query_Params_FullMethodName = "/cheqd.did.v2.Query/Params" ) // QueryClient is the client API for Query service. @@ -36,6 +37,8 @@ type QueryClient interface { DidDocVersion(ctx context.Context, in *QueryDidDocVersionRequest, opts ...grpc.CallOption) (*QueryDidDocVersionResponse, error) // Fetch list of all versions of DID Documents for a given DID AllDidDocVersionsMetadata(ctx context.Context, in *QueryAllDidDocVersionsMetadataRequest, opts ...grpc.CallOption) (*QueryAllDidDocVersionsMetadataResponse, error) + // Params queries params of the did module. + Params(ctx context.Context, in *QueryParamsRequest, opts ...grpc.CallOption) (*QueryParamsResponse, error) } type queryClient struct { @@ -76,6 +79,16 @@ func (c *queryClient) AllDidDocVersionsMetadata(ctx context.Context, in *QueryAl return out, nil } +func (c *queryClient) Params(ctx context.Context, in *QueryParamsRequest, opts ...grpc.CallOption) (*QueryParamsResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(QueryParamsResponse) + err := c.cc.Invoke(ctx, Query_Params_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + // QueryServer is the server API for Query service. // All implementations must embed UnimplementedQueryServer // for forward compatibility. @@ -88,6 +101,8 @@ type QueryServer interface { DidDocVersion(context.Context, *QueryDidDocVersionRequest) (*QueryDidDocVersionResponse, error) // Fetch list of all versions of DID Documents for a given DID AllDidDocVersionsMetadata(context.Context, *QueryAllDidDocVersionsMetadataRequest) (*QueryAllDidDocVersionsMetadataResponse, error) + // Params queries params of the did module. + Params(context.Context, *QueryParamsRequest) (*QueryParamsResponse, error) mustEmbedUnimplementedQueryServer() } @@ -107,6 +122,9 @@ func (UnimplementedQueryServer) DidDocVersion(context.Context, *QueryDidDocVersi func (UnimplementedQueryServer) AllDidDocVersionsMetadata(context.Context, *QueryAllDidDocVersionsMetadataRequest) (*QueryAllDidDocVersionsMetadataResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method AllDidDocVersionsMetadata not implemented") } +func (UnimplementedQueryServer) Params(context.Context, *QueryParamsRequest) (*QueryParamsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method Params not implemented") +} func (UnimplementedQueryServer) mustEmbedUnimplementedQueryServer() {} func (UnimplementedQueryServer) testEmbeddedByValue() {} @@ -182,6 +200,24 @@ func _Query_AllDidDocVersionsMetadata_Handler(srv interface{}, ctx context.Conte return interceptor(ctx, in, info, handler) } +func _Query_Params_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryParamsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).Params(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Query_Params_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).Params(ctx, req.(*QueryParamsRequest)) + } + return interceptor(ctx, in, info, handler) +} + // Query_ServiceDesc is the grpc.ServiceDesc for Query service. // It's only intended for direct use with grpc.RegisterService, // and not to be introspected or modified (even as a copy) @@ -201,6 +237,10 @@ var Query_ServiceDesc = grpc.ServiceDesc{ MethodName: "AllDidDocVersionsMetadata", Handler: _Query_AllDidDocVersionsMetadata_Handler, }, + { + MethodName: "Params", + Handler: _Query_Params_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "cheqd/did/v2/query.proto", diff --git a/api/cheqd/did/v2/tx.pulsar.go b/api/cheqd/did/v2/tx.pulsar.go index e3e5e7526..096b90e43 100644 --- a/api/cheqd/did/v2/tx.pulsar.go +++ b/api/cheqd/did/v2/tx.pulsar.go @@ -9407,6 +9407,861 @@ func (x *fastReflection_MsgMintResponse) ProtoMethods() *protoiface.Methods { } } +var ( + md_MsgUpdateParams protoreflect.MessageDescriptor + fd_MsgUpdateParams_authority protoreflect.FieldDescriptor + fd_MsgUpdateParams_params protoreflect.FieldDescriptor +) + +func init() { + file_cheqd_did_v2_tx_proto_init() + md_MsgUpdateParams = File_cheqd_did_v2_tx_proto.Messages().ByName("MsgUpdateParams") + fd_MsgUpdateParams_authority = md_MsgUpdateParams.Fields().ByName("authority") + fd_MsgUpdateParams_params = md_MsgUpdateParams.Fields().ByName("params") +} + +var _ protoreflect.Message = (*fastReflection_MsgUpdateParams)(nil) + +type fastReflection_MsgUpdateParams MsgUpdateParams + +func (x *MsgUpdateParams) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgUpdateParams)(x) +} + +func (x *MsgUpdateParams) slowProtoReflect() protoreflect.Message { + mi := &file_cheqd_did_v2_tx_proto_msgTypes[14] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgUpdateParams_messageType fastReflection_MsgUpdateParams_messageType +var _ protoreflect.MessageType = fastReflection_MsgUpdateParams_messageType{} + +type fastReflection_MsgUpdateParams_messageType struct{} + +func (x fastReflection_MsgUpdateParams_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgUpdateParams)(nil) +} +func (x fastReflection_MsgUpdateParams_messageType) New() protoreflect.Message { + return new(fastReflection_MsgUpdateParams) +} +func (x fastReflection_MsgUpdateParams_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgUpdateParams +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgUpdateParams) Descriptor() protoreflect.MessageDescriptor { + return md_MsgUpdateParams +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgUpdateParams) Type() protoreflect.MessageType { + return _fastReflection_MsgUpdateParams_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgUpdateParams) New() protoreflect.Message { + return new(fastReflection_MsgUpdateParams) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgUpdateParams) Interface() protoreflect.ProtoMessage { + return (*MsgUpdateParams)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgUpdateParams) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Authority != "" { + value := protoreflect.ValueOfString(x.Authority) + if !f(fd_MsgUpdateParams_authority, value) { + return + } + } + if x.Params != nil { + value := protoreflect.ValueOfMessage(x.Params.ProtoReflect()) + if !f(fd_MsgUpdateParams_params, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgUpdateParams) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cheqd.did.v2.MsgUpdateParams.authority": + return x.Authority != "" + case "cheqd.did.v2.MsgUpdateParams.params": + return x.Params != nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cheqd.did.v2.MsgUpdateParams")) + } + panic(fmt.Errorf("message cheqd.did.v2.MsgUpdateParams does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgUpdateParams) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cheqd.did.v2.MsgUpdateParams.authority": + x.Authority = "" + case "cheqd.did.v2.MsgUpdateParams.params": + x.Params = nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cheqd.did.v2.MsgUpdateParams")) + } + panic(fmt.Errorf("message cheqd.did.v2.MsgUpdateParams does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgUpdateParams) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cheqd.did.v2.MsgUpdateParams.authority": + value := x.Authority + return protoreflect.ValueOfString(value) + case "cheqd.did.v2.MsgUpdateParams.params": + value := x.Params + return protoreflect.ValueOfMessage(value.ProtoReflect()) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cheqd.did.v2.MsgUpdateParams")) + } + panic(fmt.Errorf("message cheqd.did.v2.MsgUpdateParams does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgUpdateParams) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cheqd.did.v2.MsgUpdateParams.authority": + x.Authority = value.Interface().(string) + case "cheqd.did.v2.MsgUpdateParams.params": + x.Params = value.Message().Interface().(*FeeParams) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cheqd.did.v2.MsgUpdateParams")) + } + panic(fmt.Errorf("message cheqd.did.v2.MsgUpdateParams does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgUpdateParams) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cheqd.did.v2.MsgUpdateParams.params": + if x.Params == nil { + x.Params = new(FeeParams) + } + return protoreflect.ValueOfMessage(x.Params.ProtoReflect()) + case "cheqd.did.v2.MsgUpdateParams.authority": + panic(fmt.Errorf("field authority of message cheqd.did.v2.MsgUpdateParams is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cheqd.did.v2.MsgUpdateParams")) + } + panic(fmt.Errorf("message cheqd.did.v2.MsgUpdateParams does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgUpdateParams) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cheqd.did.v2.MsgUpdateParams.authority": + return protoreflect.ValueOfString("") + case "cheqd.did.v2.MsgUpdateParams.params": + m := new(FeeParams) + return protoreflect.ValueOfMessage(m.ProtoReflect()) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cheqd.did.v2.MsgUpdateParams")) + } + panic(fmt.Errorf("message cheqd.did.v2.MsgUpdateParams does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgUpdateParams) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cheqd.did.v2.MsgUpdateParams", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgUpdateParams) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgUpdateParams) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgUpdateParams) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgUpdateParams) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgUpdateParams) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + l = len(x.Authority) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.Params != nil { + l = options.Size(x.Params) + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgUpdateParams) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if x.Params != nil { + encoded, err := options.Marshal(x.Params) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0x12 + } + if len(x.Authority) > 0 { + i -= len(x.Authority) + copy(dAtA[i:], x.Authority) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Authority))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgUpdateParams) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUpdateParams: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUpdateParams: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Authority", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Authority = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Params", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if x.Params == nil { + x.Params = &FeeParams{} + } + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Params); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_MsgUpdateParamsResponse protoreflect.MessageDescriptor +) + +func init() { + file_cheqd_did_v2_tx_proto_init() + md_MsgUpdateParamsResponse = File_cheqd_did_v2_tx_proto.Messages().ByName("MsgUpdateParamsResponse") +} + +var _ protoreflect.Message = (*fastReflection_MsgUpdateParamsResponse)(nil) + +type fastReflection_MsgUpdateParamsResponse MsgUpdateParamsResponse + +func (x *MsgUpdateParamsResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgUpdateParamsResponse)(x) +} + +func (x *MsgUpdateParamsResponse) slowProtoReflect() protoreflect.Message { + mi := &file_cheqd_did_v2_tx_proto_msgTypes[15] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgUpdateParamsResponse_messageType fastReflection_MsgUpdateParamsResponse_messageType +var _ protoreflect.MessageType = fastReflection_MsgUpdateParamsResponse_messageType{} + +type fastReflection_MsgUpdateParamsResponse_messageType struct{} + +func (x fastReflection_MsgUpdateParamsResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgUpdateParamsResponse)(nil) +} +func (x fastReflection_MsgUpdateParamsResponse_messageType) New() protoreflect.Message { + return new(fastReflection_MsgUpdateParamsResponse) +} +func (x fastReflection_MsgUpdateParamsResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgUpdateParamsResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgUpdateParamsResponse) Descriptor() protoreflect.MessageDescriptor { + return md_MsgUpdateParamsResponse +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgUpdateParamsResponse) Type() protoreflect.MessageType { + return _fastReflection_MsgUpdateParamsResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgUpdateParamsResponse) New() protoreflect.Message { + return new(fastReflection_MsgUpdateParamsResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgUpdateParamsResponse) Interface() protoreflect.ProtoMessage { + return (*MsgUpdateParamsResponse)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgUpdateParamsResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgUpdateParamsResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cheqd.did.v2.MsgUpdateParamsResponse")) + } + panic(fmt.Errorf("message cheqd.did.v2.MsgUpdateParamsResponse does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgUpdateParamsResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cheqd.did.v2.MsgUpdateParamsResponse")) + } + panic(fmt.Errorf("message cheqd.did.v2.MsgUpdateParamsResponse does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgUpdateParamsResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cheqd.did.v2.MsgUpdateParamsResponse")) + } + panic(fmt.Errorf("message cheqd.did.v2.MsgUpdateParamsResponse does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgUpdateParamsResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cheqd.did.v2.MsgUpdateParamsResponse")) + } + panic(fmt.Errorf("message cheqd.did.v2.MsgUpdateParamsResponse does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgUpdateParamsResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cheqd.did.v2.MsgUpdateParamsResponse")) + } + panic(fmt.Errorf("message cheqd.did.v2.MsgUpdateParamsResponse does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgUpdateParamsResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cheqd.did.v2.MsgUpdateParamsResponse")) + } + panic(fmt.Errorf("message cheqd.did.v2.MsgUpdateParamsResponse does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgUpdateParamsResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cheqd.did.v2.MsgUpdateParamsResponse", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgUpdateParamsResponse) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgUpdateParamsResponse) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgUpdateParamsResponse) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgUpdateParamsResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgUpdateParamsResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgUpdateParamsResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgUpdateParamsResponse) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUpdateParamsResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUpdateParamsResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.27.0 @@ -10234,207 +11089,304 @@ func (*MsgMintResponse) Descriptor() ([]byte, []int) { return file_cheqd_did_v2_tx_proto_rawDescGZIP(), []int{13} } +type MsgUpdateParams struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // authority is the address that controls the module (defaults to x/gov unless overwritten). + Authority string `protobuf:"bytes,1,opt,name=authority,proto3" json:"authority,omitempty"` + // params defines the x/did parameters to update. + // + // NOTE: All parameters must be supplied. + Params *FeeParams `protobuf:"bytes,2,opt,name=params,proto3" json:"params,omitempty"` +} + +func (x *MsgUpdateParams) Reset() { + *x = MsgUpdateParams{} + if protoimpl.UnsafeEnabled { + mi := &file_cheqd_did_v2_tx_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgUpdateParams) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgUpdateParams) ProtoMessage() {} + +// Deprecated: Use MsgUpdateParams.ProtoReflect.Descriptor instead. +func (*MsgUpdateParams) Descriptor() ([]byte, []int) { + return file_cheqd_did_v2_tx_proto_rawDescGZIP(), []int{14} +} + +func (x *MsgUpdateParams) GetAuthority() string { + if x != nil { + return x.Authority + } + return "" +} + +func (x *MsgUpdateParams) GetParams() *FeeParams { + if x != nil { + return x.Params + } + return nil +} + +// MsgUpdateParamsResponse defines the response structure for executing a +// MsgUpdateParams message. +// +// Since: cosmos-sdk 0.47 +type MsgUpdateParamsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *MsgUpdateParamsResponse) Reset() { + *x = MsgUpdateParamsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cheqd_did_v2_tx_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgUpdateParamsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgUpdateParamsResponse) ProtoMessage() {} + +// Deprecated: Use MsgUpdateParamsResponse.ProtoReflect.Descriptor instead. +func (*MsgUpdateParamsResponse) Descriptor() ([]byte, []int) { + return file_cheqd_did_v2_tx_proto_rawDescGZIP(), []int{15} +} + var File_cheqd_did_v2_tx_proto protoreflect.FileDescriptor var file_cheqd_did_v2_tx_proto_rawDesc = []byte{ 0x0a, 0x15, 0x63, 0x68, 0x65, 0x71, 0x64, 0x2f, 0x64, 0x69, 0x64, 0x2f, 0x76, 0x32, 0x2f, 0x74, 0x78, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0c, 0x63, 0x68, 0x65, 0x71, 0x64, 0x2e, 0x64, - 0x69, 0x64, 0x2e, 0x76, 0x32, 0x1a, 0x19, 0x63, 0x68, 0x65, 0x71, 0x64, 0x2f, 0x64, 0x69, 0x64, - 0x2f, 0x76, 0x32, 0x2f, 0x64, 0x69, 0x64, 0x64, 0x6f, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x1a, 0x17, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x6d, 0x73, 0x67, 0x2f, 0x76, 0x31, 0x2f, - 0x6d, 0x73, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x11, 0x61, 0x6d, 0x69, 0x6e, 0x6f, - 0x2f, 0x61, 0x6d, 0x69, 0x6e, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x63, 0x6f, - 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, - 0x31, 0x2f, 0x63, 0x6f, 0x69, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x63, 0x6f, - 0x73, 0x6d, 0x6f, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, - 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x67, 0x6f, 0x67, 0x6f, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x67, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x89, 0x01, - 0x0a, 0x0f, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x69, 0x64, 0x44, 0x6f, - 0x63, 0x12, 0x3e, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x68, 0x65, 0x71, 0x64, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, - 0x32, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x69, 0x64, 0x44, 0x6f, - 0x63, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, - 0x64, 0x12, 0x36, 0x0a, 0x0a, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, - 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x63, 0x68, 0x65, 0x71, 0x64, 0x2e, 0x64, 0x69, - 0x64, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x73, - 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x22, 0x89, 0x01, 0x0a, 0x0f, 0x4d, 0x73, - 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x69, 0x64, 0x44, 0x6f, 0x63, 0x12, 0x3e, 0x0a, - 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, - 0x2e, 0x63, 0x68, 0x65, 0x71, 0x64, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x73, - 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x69, 0x64, 0x44, 0x6f, 0x63, 0x50, 0x61, 0x79, - 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x36, 0x0a, - 0x0a, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x16, 0x2e, 0x63, 0x68, 0x65, 0x71, 0x64, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x32, - 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x73, 0x69, 0x67, 0x6e, 0x61, - 0x74, 0x75, 0x72, 0x65, 0x73, 0x22, 0x91, 0x01, 0x0a, 0x13, 0x4d, 0x73, 0x67, 0x44, 0x65, 0x61, - 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x44, 0x69, 0x64, 0x44, 0x6f, 0x63, 0x12, 0x42, 0x0a, - 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, - 0x2e, 0x63, 0x68, 0x65, 0x71, 0x64, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x73, - 0x67, 0x44, 0x65, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x44, 0x69, 0x64, 0x44, 0x6f, - 0x63, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, - 0x64, 0x12, 0x36, 0x0a, 0x0a, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, - 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x63, 0x68, 0x65, 0x71, 0x64, 0x2e, 0x64, 0x69, - 0x64, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x73, - 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x22, 0x5e, 0x0a, 0x08, 0x53, 0x69, 0x67, - 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x34, 0x0a, 0x16, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x5f, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x73, - 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, - 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0x8b, 0x04, 0x0a, 0x16, 0x4d, 0x73, - 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x69, 0x64, 0x44, 0x6f, 0x63, 0x50, 0x61, 0x79, - 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x0e, - 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1e, - 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x18, 0x03, 0x20, 0x03, - 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x12, 0x51, - 0x0a, 0x13, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, - 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x63, 0x68, - 0x65, 0x71, 0x64, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x32, 0x2e, 0x56, 0x65, 0x72, 0x69, 0x66, - 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x52, 0x12, 0x76, + 0x69, 0x64, 0x2e, 0x76, 0x32, 0x1a, 0x11, 0x61, 0x6d, 0x69, 0x6e, 0x6f, 0x2f, 0x61, 0x6d, 0x69, + 0x6e, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x63, 0x68, 0x65, 0x71, 0x64, 0x2f, + 0x64, 0x69, 0x64, 0x2f, 0x76, 0x32, 0x2f, 0x64, 0x69, 0x64, 0x64, 0x6f, 0x63, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x63, 0x68, 0x65, 0x71, 0x64, 0x2f, 0x64, 0x69, 0x64, 0x2f, 0x76, + 0x32, 0x2f, 0x66, 0x65, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x63, 0x6f, 0x73, + 0x6d, 0x6f, 0x73, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2f, 0x63, 0x6f, 0x69, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x63, 0x6f, 0x73, + 0x6d, 0x6f, 0x73, 0x2f, 0x6d, 0x73, 0x67, 0x2f, 0x76, 0x31, 0x2f, 0x6d, 0x73, 0x67, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5f, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, + 0x14, 0x67, 0x6f, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x67, 0x6f, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x89, 0x01, 0x0a, 0x0f, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x44, 0x69, 0x64, 0x44, 0x6f, 0x63, 0x12, 0x3e, 0x0a, 0x07, 0x70, 0x61, 0x79, + 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x68, 0x65, + 0x71, 0x64, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x44, 0x69, 0x64, 0x44, 0x6f, 0x63, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, + 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x36, 0x0a, 0x0a, 0x73, 0x69, 0x67, + 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, + 0x63, 0x68, 0x65, 0x71, 0x64, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x69, 0x67, + 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, + 0x73, 0x22, 0x89, 0x01, 0x0a, 0x0f, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, + 0x69, 0x64, 0x44, 0x6f, 0x63, 0x12, 0x3e, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x68, 0x65, 0x71, 0x64, 0x2e, 0x64, + 0x69, 0x64, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, + 0x69, 0x64, 0x44, 0x6f, 0x63, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x07, 0x70, 0x61, + 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x36, 0x0a, 0x0a, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, + 0x72, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x63, 0x68, 0x65, 0x71, + 0x64, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x49, 0x6e, 0x66, + 0x6f, 0x52, 0x0a, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x22, 0x91, 0x01, + 0x0a, 0x13, 0x4d, 0x73, 0x67, 0x44, 0x65, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x44, + 0x69, 0x64, 0x44, 0x6f, 0x63, 0x12, 0x42, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x63, 0x68, 0x65, 0x71, 0x64, 0x2e, 0x64, + 0x69, 0x64, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x73, 0x67, 0x44, 0x65, 0x61, 0x63, 0x74, 0x69, 0x76, + 0x61, 0x74, 0x65, 0x44, 0x69, 0x64, 0x44, 0x6f, 0x63, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, + 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x36, 0x0a, 0x0a, 0x73, 0x69, 0x67, + 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, + 0x63, 0x68, 0x65, 0x71, 0x64, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x69, 0x67, + 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, + 0x73, 0x22, 0x5e, 0x0a, 0x08, 0x53, 0x69, 0x67, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x34, 0x0a, + 0x16, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x65, + 0x74, 0x68, 0x6f, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x68, 0x6f, - 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x75, 0x74, 0x68, 0x65, - 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x29, 0x0a, 0x10, 0x61, 0x73, 0x73, - 0x65, 0x72, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x06, 0x20, - 0x03, 0x28, 0x09, 0x52, 0x0f, 0x61, 0x73, 0x73, 0x65, 0x72, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, - 0x74, 0x68, 0x6f, 0x64, 0x12, 0x33, 0x0a, 0x15, 0x63, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, - 0x74, 0x79, 0x5f, 0x69, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, - 0x03, 0x28, 0x09, 0x52, 0x14, 0x63, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x49, - 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x33, 0x0a, 0x15, 0x63, 0x61, 0x70, - 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x14, 0x63, 0x61, 0x70, 0x61, 0x62, 0x69, - 0x6c, 0x69, 0x74, 0x79, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, - 0x0a, 0x0d, 0x6b, 0x65, 0x79, 0x5f, 0x61, 0x67, 0x72, 0x65, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x18, - 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x6b, 0x65, 0x79, 0x41, 0x67, 0x72, 0x65, 0x65, 0x6d, - 0x65, 0x6e, 0x74, 0x12, 0x2f, 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x0a, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x68, 0x65, 0x71, 0x64, 0x2e, 0x64, 0x69, 0x64, - 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x07, 0x73, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x12, 0x22, 0x0a, 0x0d, 0x61, 0x6c, 0x73, 0x6f, 0x5f, 0x6b, 0x6e, 0x6f, - 0x77, 0x6e, 0x5f, 0x61, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x6c, 0x73, - 0x6f, 0x4b, 0x6e, 0x6f, 0x77, 0x6e, 0x41, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x76, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x76, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x51, 0x0a, 0x17, 0x4d, 0x73, 0x67, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x44, 0x69, 0x64, 0x44, 0x6f, 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x36, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x20, 0x2e, 0x63, 0x68, 0x65, 0x71, 0x64, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x32, - 0x2e, 0x44, 0x69, 0x64, 0x44, 0x6f, 0x63, 0x57, 0x69, 0x74, 0x68, 0x4d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x8b, 0x04, 0x0a, 0x16, 0x4d, - 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x69, 0x64, 0x44, 0x6f, 0x63, 0x50, 0x61, - 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, - 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, - 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x18, 0x03, 0x20, - 0x03, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x12, - 0x51, 0x0a, 0x13, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, - 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x63, - 0x68, 0x65, 0x71, 0x64, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x32, 0x2e, 0x56, 0x65, 0x72, 0x69, - 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x52, 0x12, - 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x68, - 0x6f, 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x75, 0x74, 0x68, - 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x29, 0x0a, 0x10, 0x61, 0x73, - 0x73, 0x65, 0x72, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x06, - 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x61, 0x73, 0x73, 0x65, 0x72, 0x74, 0x69, 0x6f, 0x6e, 0x4d, - 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x33, 0x0a, 0x15, 0x63, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, - 0x69, 0x74, 0x79, 0x5f, 0x69, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, - 0x20, 0x03, 0x28, 0x09, 0x52, 0x14, 0x63, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, - 0x49, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x33, 0x0a, 0x15, 0x63, 0x61, - 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x14, 0x63, 0x61, 0x70, 0x61, 0x62, - 0x69, 0x6c, 0x69, 0x74, 0x79, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x23, 0x0a, 0x0d, 0x6b, 0x65, 0x79, 0x5f, 0x61, 0x67, 0x72, 0x65, 0x65, 0x6d, 0x65, 0x6e, 0x74, - 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x6b, 0x65, 0x79, 0x41, 0x67, 0x72, 0x65, 0x65, - 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x2f, 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, - 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x68, 0x65, 0x71, 0x64, 0x2e, 0x64, 0x69, - 0x64, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x07, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x22, 0x0a, 0x0d, 0x61, 0x6c, 0x73, 0x6f, 0x5f, 0x6b, 0x6e, - 0x6f, 0x77, 0x6e, 0x5f, 0x61, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x6c, - 0x73, 0x6f, 0x4b, 0x6e, 0x6f, 0x77, 0x6e, 0x41, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x76, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x76, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x51, 0x0a, 0x17, 0x4d, 0x73, 0x67, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x69, 0x64, 0x44, 0x6f, 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x36, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x63, 0x68, 0x65, 0x71, 0x64, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, - 0x32, 0x2e, 0x44, 0x69, 0x64, 0x44, 0x6f, 0x63, 0x57, 0x69, 0x74, 0x68, 0x4d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x4b, 0x0a, 0x1a, 0x4d, - 0x73, 0x67, 0x44, 0x65, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x44, 0x69, 0x64, 0x44, - 0x6f, 0x63, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x76, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x76, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x55, 0x0a, 0x1b, 0x4d, 0x73, 0x67, 0x44, - 0x65, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x44, 0x69, 0x64, 0x44, 0x6f, 0x63, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x36, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x63, 0x68, 0x65, 0x71, 0x64, 0x2e, 0x64, - 0x69, 0x64, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x69, 0x64, 0x44, 0x6f, 0x63, 0x57, 0x69, 0x74, 0x68, - 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, - 0xcb, 0x01, 0x0a, 0x07, 0x4d, 0x73, 0x67, 0x42, 0x75, 0x72, 0x6e, 0x12, 0x3b, 0x0a, 0x0c, 0x66, - 0x72, 0x6f, 0x6d, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x18, 0xd2, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x64, - 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x0b, 0x66, 0x72, 0x6f, - 0x6d, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x68, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, - 0x6e, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, - 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, - 0x6f, 0x69, 0x6e, 0x42, 0x35, 0xc8, 0xde, 0x1f, 0x00, 0xaa, 0xdf, 0x1f, 0x28, 0x67, 0x69, 0x74, - 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x63, - 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2d, 0x73, 0x64, 0x6b, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, - 0x43, 0x6f, 0x69, 0x6e, 0x73, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, - 0x6e, 0x74, 0x3a, 0x19, 0x88, 0xa0, 0x1f, 0x00, 0xe8, 0xa0, 0x1f, 0x00, 0x82, 0xe7, 0xb0, 0x2a, - 0x0c, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x11, 0x0a, - 0x0f, 0x4d, 0x73, 0x67, 0x42, 0x75, 0x72, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0xf0, 0x01, 0x0a, 0x07, 0x4d, 0x73, 0x67, 0x4d, 0x69, 0x6e, 0x74, 0x12, 0x32, 0x0a, 0x09, - 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x14, 0xf2, 0xde, 0x1f, 0x10, 0x79, 0x61, 0x6d, 0x6c, 0x3a, 0x22, 0x61, 0x75, 0x74, 0x68, 0x6f, - 0x72, 0x69, 0x74, 0x79, 0x22, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, - 0x12, 0x37, 0x0a, 0x0a, 0x74, 0x6f, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x18, 0xd2, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, - 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x09, - 0x74, 0x6f, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x68, 0x0a, 0x06, 0x61, 0x6d, 0x6f, - 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x73, 0x6d, - 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, - 0x43, 0x6f, 0x69, 0x6e, 0x42, 0x35, 0xc8, 0xde, 0x1f, 0x00, 0xaa, 0xdf, 0x1f, 0x28, 0x67, 0x69, - 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, - 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2d, 0x73, 0x64, 0x6b, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, - 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x73, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x06, 0x61, 0x6d, 0x6f, - 0x75, 0x6e, 0x74, 0x3a, 0x0e, 0x82, 0xe7, 0xb0, 0x2a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, - 0x69, 0x74, 0x79, 0x22, 0x11, 0x0a, 0x0f, 0x4d, 0x73, 0x67, 0x4d, 0x69, 0x6e, 0x74, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0x8f, 0x03, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x12, 0x54, - 0x0a, 0x0c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x69, 0x64, 0x44, 0x6f, 0x63, 0x12, 0x1d, - 0x2e, 0x63, 0x68, 0x65, 0x71, 0x64, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x73, - 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x69, 0x64, 0x44, 0x6f, 0x63, 0x1a, 0x25, 0x2e, - 0x63, 0x68, 0x65, 0x71, 0x64, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x73, 0x67, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x69, 0x64, 0x44, 0x6f, 0x63, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x54, 0x0a, 0x0c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x69, + 0x64, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, + 0x65, 0x22, 0x8b, 0x04, 0x0a, 0x16, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, + 0x69, 0x64, 0x44, 0x6f, 0x63, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x18, 0x0a, 0x07, + 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x63, + 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, + 0x6c, 0x6c, 0x65, 0x72, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x74, + 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x12, 0x51, 0x0a, 0x13, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x04, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x63, 0x68, 0x65, 0x71, 0x64, 0x2e, 0x64, 0x69, 0x64, 0x2e, + 0x76, 0x32, 0x2e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, + 0x65, 0x74, 0x68, 0x6f, 0x64, 0x52, 0x12, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x75, 0x74, + 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x0e, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x29, 0x0a, 0x10, 0x61, 0x73, 0x73, 0x65, 0x72, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, + 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x61, 0x73, 0x73, + 0x65, 0x72, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x33, 0x0a, 0x15, + 0x63, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x6e, 0x76, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x14, 0x63, 0x61, 0x70, + 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x33, 0x0a, 0x15, 0x63, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, + 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, + 0x52, 0x14, 0x63, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x44, 0x65, 0x6c, 0x65, + 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x6b, 0x65, 0x79, 0x5f, 0x61, 0x67, + 0x72, 0x65, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x6b, + 0x65, 0x79, 0x41, 0x67, 0x72, 0x65, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x2f, 0x0a, 0x07, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, + 0x68, 0x65, 0x71, 0x64, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x52, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x22, 0x0a, 0x0d, + 0x61, 0x6c, 0x73, 0x6f, 0x5f, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x5f, 0x61, 0x73, 0x18, 0x0b, 0x20, + 0x03, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x6c, 0x73, 0x6f, 0x4b, 0x6e, 0x6f, 0x77, 0x6e, 0x41, 0x73, + 0x12, 0x1d, 0x0a, 0x0a, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x0c, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, + 0x51, 0x0a, 0x17, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x69, 0x64, 0x44, + 0x6f, 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x36, 0x0a, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x63, 0x68, 0x65, 0x71, + 0x64, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x69, 0x64, 0x44, 0x6f, 0x63, 0x57, + 0x69, 0x74, 0x68, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x22, 0x8b, 0x04, 0x0a, 0x16, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x44, 0x69, 0x64, 0x44, 0x6f, 0x63, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x18, 0x0a, + 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, + 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x72, + 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6e, + 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x12, 0x51, 0x0a, 0x13, 0x76, 0x65, 0x72, 0x69, 0x66, + 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x04, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x63, 0x68, 0x65, 0x71, 0x64, 0x2e, 0x64, 0x69, 0x64, + 0x2e, 0x76, 0x32, 0x2e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x52, 0x12, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x75, + 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x0e, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x29, 0x0a, 0x10, 0x61, 0x73, 0x73, 0x65, 0x72, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x61, 0x73, + 0x73, 0x65, 0x72, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x33, 0x0a, + 0x15, 0x63, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x6e, 0x76, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x14, 0x63, 0x61, + 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x33, 0x0a, 0x15, 0x63, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, + 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x14, 0x63, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x44, 0x65, 0x6c, + 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x6b, 0x65, 0x79, 0x5f, 0x61, + 0x67, 0x72, 0x65, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, + 0x6b, 0x65, 0x79, 0x41, 0x67, 0x72, 0x65, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x2f, 0x0a, 0x07, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, + 0x63, 0x68, 0x65, 0x71, 0x64, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x52, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x22, 0x0a, + 0x0d, 0x61, 0x6c, 0x73, 0x6f, 0x5f, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x5f, 0x61, 0x73, 0x18, 0x0b, + 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x6c, 0x73, 0x6f, 0x4b, 0x6e, 0x6f, 0x77, 0x6e, 0x41, + 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, + 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, + 0x22, 0x51, 0x0a, 0x17, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x69, 0x64, + 0x44, 0x6f, 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x36, 0x0a, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x63, 0x68, 0x65, + 0x71, 0x64, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x69, 0x64, 0x44, 0x6f, 0x63, + 0x57, 0x69, 0x74, 0x68, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x22, 0x4b, 0x0a, 0x1a, 0x4d, 0x73, 0x67, 0x44, 0x65, 0x61, 0x63, 0x74, 0x69, + 0x76, 0x61, 0x74, 0x65, 0x44, 0x69, 0x64, 0x44, 0x6f, 0x63, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, + 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, + 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, + 0x22, 0x55, 0x0a, 0x1b, 0x4d, 0x73, 0x67, 0x44, 0x65, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, + 0x65, 0x44, 0x69, 0x64, 0x44, 0x6f, 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x36, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, + 0x2e, 0x63, 0x68, 0x65, 0x71, 0x64, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x69, + 0x64, 0x44, 0x6f, 0x63, 0x57, 0x69, 0x74, 0x68, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xcb, 0x01, 0x0a, 0x07, 0x4d, 0x73, 0x67, 0x42, + 0x75, 0x72, 0x6e, 0x12, 0x3b, 0x0a, 0x0c, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x61, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x18, 0xd2, 0xb4, 0x2d, 0x14, 0x63, + 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, + 0x69, 0x6e, 0x67, 0x52, 0x0b, 0x66, 0x72, 0x6f, 0x6d, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x12, 0x68, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x42, 0x35, 0xc8, 0xde, 0x1f, + 0x00, 0xaa, 0xdf, 0x1f, 0x28, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2d, 0x73, 0x64, + 0x6b, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x73, 0xa8, 0xe7, 0xb0, + 0x2a, 0x01, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x3a, 0x19, 0x88, 0xa0, 0x1f, 0x00, + 0xe8, 0xa0, 0x1f, 0x00, 0x82, 0xe7, 0xb0, 0x2a, 0x0c, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x61, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x11, 0x0a, 0x0f, 0x4d, 0x73, 0x67, 0x42, 0x75, 0x72, 0x6e, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xf0, 0x01, 0x0a, 0x07, 0x4d, 0x73, 0x67, + 0x4d, 0x69, 0x6e, 0x74, 0x12, 0x32, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, + 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x14, 0xf2, 0xde, 0x1f, 0x10, 0x79, 0x61, 0x6d, + 0x6c, 0x3a, 0x22, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, 0x52, 0x09, 0x61, + 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x37, 0x0a, 0x0a, 0x74, 0x6f, 0x5f, 0x61, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x18, 0xd2, 0xb4, + 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x09, 0x74, 0x6f, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x12, 0x68, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x42, 0x35, 0xc8, 0xde, + 0x1f, 0x00, 0xaa, 0xdf, 0x1f, 0x28, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2d, 0x73, + 0x64, 0x6b, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x73, 0xa8, 0xe7, + 0xb0, 0x2a, 0x01, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x3a, 0x0e, 0x82, 0xe7, 0xb0, + 0x2a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, 0x11, 0x0a, 0x0f, 0x4d, + 0x73, 0x67, 0x4d, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xb0, + 0x01, 0x0a, 0x0f, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, + 0x6d, 0x73, 0x12, 0x36, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x18, 0xd2, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, + 0x73, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, + 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x3a, 0x0a, 0x06, 0x70, 0x61, + 0x72, 0x61, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63, 0x68, 0x65, + 0x71, 0x64, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x32, 0x2e, 0x46, 0x65, 0x65, 0x50, 0x61, 0x72, + 0x61, 0x6d, 0x73, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x06, + 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x3a, 0x29, 0x82, 0xe7, 0xb0, 0x2a, 0x09, 0x61, 0x75, 0x74, + 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x8a, 0xe7, 0xb0, 0x2a, 0x16, 0x2f, 0x78, 0x2f, 0x64, 0x69, + 0x64, 0x2f, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, + 0x73, 0x22, 0x19, 0x0a, 0x17, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, + 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0xec, 0x03, 0x0a, + 0x03, 0x4d, 0x73, 0x67, 0x12, 0x54, 0x0a, 0x0c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x69, 0x64, 0x44, 0x6f, 0x63, 0x12, 0x1d, 0x2e, 0x63, 0x68, 0x65, 0x71, 0x64, 0x2e, 0x64, 0x69, 0x64, - 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x69, 0x64, + 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x69, 0x64, 0x44, 0x6f, 0x63, 0x1a, 0x25, 0x2e, 0x63, 0x68, 0x65, 0x71, 0x64, 0x2e, 0x64, 0x69, 0x64, 0x2e, - 0x76, 0x32, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x69, 0x64, 0x44, - 0x6f, 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x60, 0x0a, 0x10, 0x44, 0x65, - 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x44, 0x69, 0x64, 0x44, 0x6f, 0x63, 0x12, 0x21, + 0x76, 0x32, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x69, 0x64, 0x44, + 0x6f, 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x54, 0x0a, 0x0c, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x44, 0x69, 0x64, 0x44, 0x6f, 0x63, 0x12, 0x1d, 0x2e, 0x63, 0x68, 0x65, + 0x71, 0x64, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x44, 0x69, 0x64, 0x44, 0x6f, 0x63, 0x1a, 0x25, 0x2e, 0x63, 0x68, 0x65, 0x71, + 0x64, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x44, 0x69, 0x64, 0x44, 0x6f, 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x60, 0x0a, 0x10, 0x44, 0x65, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x44, 0x69, + 0x64, 0x44, 0x6f, 0x63, 0x12, 0x21, 0x2e, 0x63, 0x68, 0x65, 0x71, 0x64, 0x2e, 0x64, 0x69, 0x64, + 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x73, 0x67, 0x44, 0x65, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, + 0x65, 0x44, 0x69, 0x64, 0x44, 0x6f, 0x63, 0x1a, 0x29, 0x2e, 0x63, 0x68, 0x65, 0x71, 0x64, 0x2e, + 0x64, 0x69, 0x64, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x73, 0x67, 0x44, 0x65, 0x61, 0x63, 0x74, 0x69, + 0x76, 0x61, 0x74, 0x65, 0x44, 0x69, 0x64, 0x44, 0x6f, 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x3c, 0x0a, 0x04, 0x42, 0x75, 0x72, 0x6e, 0x12, 0x15, 0x2e, 0x63, 0x68, 0x65, + 0x71, 0x64, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x75, 0x72, + 0x6e, 0x1a, 0x1d, 0x2e, 0x63, 0x68, 0x65, 0x71, 0x64, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x32, + 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x75, 0x72, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x3c, 0x0a, 0x04, 0x4d, 0x69, 0x6e, 0x74, 0x12, 0x15, 0x2e, 0x63, 0x68, 0x65, 0x71, 0x64, + 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x69, 0x6e, 0x74, 0x1a, + 0x1d, 0x2e, 0x63, 0x68, 0x65, 0x71, 0x64, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x32, 0x2e, 0x4d, + 0x73, 0x67, 0x4d, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x54, + 0x0a, 0x0c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x1d, 0x2e, 0x63, 0x68, 0x65, 0x71, 0x64, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x73, - 0x67, 0x44, 0x65, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x44, 0x69, 0x64, 0x44, 0x6f, - 0x63, 0x1a, 0x29, 0x2e, 0x63, 0x68, 0x65, 0x71, 0x64, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x32, - 0x2e, 0x4d, 0x73, 0x67, 0x44, 0x65, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x44, 0x69, - 0x64, 0x44, 0x6f, 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3c, 0x0a, 0x04, - 0x42, 0x75, 0x72, 0x6e, 0x12, 0x15, 0x2e, 0x63, 0x68, 0x65, 0x71, 0x64, 0x2e, 0x64, 0x69, 0x64, - 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x75, 0x72, 0x6e, 0x1a, 0x1d, 0x2e, 0x63, 0x68, - 0x65, 0x71, 0x64, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x75, - 0x72, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3c, 0x0a, 0x04, 0x4d, 0x69, - 0x6e, 0x74, 0x12, 0x15, 0x2e, 0x63, 0x68, 0x65, 0x71, 0x64, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, - 0x32, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x69, 0x6e, 0x74, 0x1a, 0x1d, 0x2e, 0x63, 0x68, 0x65, 0x71, - 0x64, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x73, 0x67, 0x4d, 0x69, 0x6e, 0x74, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0xa4, 0x01, 0x0a, 0x10, 0x63, 0x6f, 0x6d, - 0x2e, 0x63, 0x68, 0x65, 0x71, 0x64, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x32, 0x42, 0x07, 0x54, - 0x78, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x35, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, - 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x68, 0x65, 0x71, 0x64, 0x2f, 0x63, 0x68, 0x65, 0x71, 0x64, - 0x2d, 0x6e, 0x6f, 0x64, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x68, 0x65, - 0x71, 0x64, 0x2f, 0x64, 0x69, 0x64, 0x2f, 0x76, 0x32, 0x3b, 0x64, 0x69, 0x64, 0x76, 0x32, 0xa2, - 0x02, 0x03, 0x43, 0x44, 0x58, 0xaa, 0x02, 0x0c, 0x43, 0x68, 0x65, 0x71, 0x64, 0x2e, 0x44, 0x69, - 0x64, 0x2e, 0x56, 0x32, 0xca, 0x02, 0x0c, 0x43, 0x68, 0x65, 0x71, 0x64, 0x5c, 0x44, 0x69, 0x64, - 0x5c, 0x56, 0x32, 0xe2, 0x02, 0x18, 0x43, 0x68, 0x65, 0x71, 0x64, 0x5c, 0x44, 0x69, 0x64, 0x5c, - 0x56, 0x32, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, - 0x0e, 0x43, 0x68, 0x65, 0x71, 0x64, 0x3a, 0x3a, 0x44, 0x69, 0x64, 0x3a, 0x3a, 0x56, 0x32, 0x62, - 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x1a, 0x25, 0x2e, + 0x63, 0x68, 0x65, 0x71, 0x64, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x73, 0x67, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x1a, 0x05, 0x80, 0xe7, 0xb0, 0x2a, 0x01, 0x42, 0xa4, 0x01, 0x0a, 0x10, + 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x68, 0x65, 0x71, 0x64, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x32, + 0x42, 0x07, 0x54, 0x78, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x35, 0x67, 0x69, 0x74, + 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x68, 0x65, 0x71, 0x64, 0x2f, 0x63, 0x68, + 0x65, 0x71, 0x64, 0x2d, 0x6e, 0x6f, 0x64, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, + 0x63, 0x68, 0x65, 0x71, 0x64, 0x2f, 0x64, 0x69, 0x64, 0x2f, 0x76, 0x32, 0x3b, 0x64, 0x69, 0x64, + 0x76, 0x32, 0xa2, 0x02, 0x03, 0x43, 0x44, 0x58, 0xaa, 0x02, 0x0c, 0x43, 0x68, 0x65, 0x71, 0x64, + 0x2e, 0x44, 0x69, 0x64, 0x2e, 0x56, 0x32, 0xca, 0x02, 0x0c, 0x43, 0x68, 0x65, 0x71, 0x64, 0x5c, + 0x44, 0x69, 0x64, 0x5c, 0x56, 0x32, 0xe2, 0x02, 0x18, 0x43, 0x68, 0x65, 0x71, 0x64, 0x5c, 0x44, + 0x69, 0x64, 0x5c, 0x56, 0x32, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0xea, 0x02, 0x0e, 0x43, 0x68, 0x65, 0x71, 0x64, 0x3a, 0x3a, 0x44, 0x69, 0x64, 0x3a, 0x3a, + 0x56, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -10449,7 +11401,7 @@ func file_cheqd_did_v2_tx_proto_rawDescGZIP() []byte { return file_cheqd_did_v2_tx_proto_rawDescData } -var file_cheqd_did_v2_tx_proto_msgTypes = make([]protoimpl.MessageInfo, 14) +var file_cheqd_did_v2_tx_proto_msgTypes = make([]protoimpl.MessageInfo, 16) var file_cheqd_did_v2_tx_proto_goTypes = []interface{}{ (*MsgCreateDidDoc)(nil), // 0: cheqd.did.v2.MsgCreateDidDoc (*MsgUpdateDidDoc)(nil), // 1: cheqd.did.v2.MsgUpdateDidDoc @@ -10465,10 +11417,13 @@ var file_cheqd_did_v2_tx_proto_goTypes = []interface{}{ (*MsgBurnResponse)(nil), // 11: cheqd.did.v2.MsgBurnResponse (*MsgMint)(nil), // 12: cheqd.did.v2.MsgMint (*MsgMintResponse)(nil), // 13: cheqd.did.v2.MsgMintResponse - (*VerificationMethod)(nil), // 14: cheqd.did.v2.VerificationMethod - (*Service)(nil), // 15: cheqd.did.v2.Service - (*DidDocWithMetadata)(nil), // 16: cheqd.did.v2.DidDocWithMetadata - (*v1beta1.Coin)(nil), // 17: cosmos.base.v1beta1.Coin + (*MsgUpdateParams)(nil), // 14: cheqd.did.v2.MsgUpdateParams + (*MsgUpdateParamsResponse)(nil), // 15: cheqd.did.v2.MsgUpdateParamsResponse + (*VerificationMethod)(nil), // 16: cheqd.did.v2.VerificationMethod + (*Service)(nil), // 17: cheqd.did.v2.Service + (*DidDocWithMetadata)(nil), // 18: cheqd.did.v2.DidDocWithMetadata + (*v1beta1.Coin)(nil), // 19: cosmos.base.v1beta1.Coin + (*FeeParams)(nil), // 20: cheqd.did.v2.FeeParams } var file_cheqd_did_v2_tx_proto_depIdxs = []int32{ 4, // 0: cheqd.did.v2.MsgCreateDidDoc.payload:type_name -> cheqd.did.v2.MsgCreateDidDocPayload @@ -10477,30 +11432,33 @@ var file_cheqd_did_v2_tx_proto_depIdxs = []int32{ 3, // 3: cheqd.did.v2.MsgUpdateDidDoc.signatures:type_name -> cheqd.did.v2.SignInfo 8, // 4: cheqd.did.v2.MsgDeactivateDidDoc.payload:type_name -> cheqd.did.v2.MsgDeactivateDidDocPayload 3, // 5: cheqd.did.v2.MsgDeactivateDidDoc.signatures:type_name -> cheqd.did.v2.SignInfo - 14, // 6: cheqd.did.v2.MsgCreateDidDocPayload.verification_method:type_name -> cheqd.did.v2.VerificationMethod - 15, // 7: cheqd.did.v2.MsgCreateDidDocPayload.service:type_name -> cheqd.did.v2.Service - 16, // 8: cheqd.did.v2.MsgCreateDidDocResponse.value:type_name -> cheqd.did.v2.DidDocWithMetadata - 14, // 9: cheqd.did.v2.MsgUpdateDidDocPayload.verification_method:type_name -> cheqd.did.v2.VerificationMethod - 15, // 10: cheqd.did.v2.MsgUpdateDidDocPayload.service:type_name -> cheqd.did.v2.Service - 16, // 11: cheqd.did.v2.MsgUpdateDidDocResponse.value:type_name -> cheqd.did.v2.DidDocWithMetadata - 16, // 12: cheqd.did.v2.MsgDeactivateDidDocResponse.value:type_name -> cheqd.did.v2.DidDocWithMetadata - 17, // 13: cheqd.did.v2.MsgBurn.amount:type_name -> cosmos.base.v1beta1.Coin - 17, // 14: cheqd.did.v2.MsgMint.amount:type_name -> cosmos.base.v1beta1.Coin - 0, // 15: cheqd.did.v2.Msg.CreateDidDoc:input_type -> cheqd.did.v2.MsgCreateDidDoc - 1, // 16: cheqd.did.v2.Msg.UpdateDidDoc:input_type -> cheqd.did.v2.MsgUpdateDidDoc - 2, // 17: cheqd.did.v2.Msg.DeactivateDidDoc:input_type -> cheqd.did.v2.MsgDeactivateDidDoc - 10, // 18: cheqd.did.v2.Msg.Burn:input_type -> cheqd.did.v2.MsgBurn - 12, // 19: cheqd.did.v2.Msg.Mint:input_type -> cheqd.did.v2.MsgMint - 5, // 20: cheqd.did.v2.Msg.CreateDidDoc:output_type -> cheqd.did.v2.MsgCreateDidDocResponse - 7, // 21: cheqd.did.v2.Msg.UpdateDidDoc:output_type -> cheqd.did.v2.MsgUpdateDidDocResponse - 9, // 22: cheqd.did.v2.Msg.DeactivateDidDoc:output_type -> cheqd.did.v2.MsgDeactivateDidDocResponse - 11, // 23: cheqd.did.v2.Msg.Burn:output_type -> cheqd.did.v2.MsgBurnResponse - 13, // 24: cheqd.did.v2.Msg.Mint:output_type -> cheqd.did.v2.MsgMintResponse - 20, // [20:25] is the sub-list for method output_type - 15, // [15:20] is the sub-list for method input_type - 15, // [15:15] is the sub-list for extension type_name - 15, // [15:15] is the sub-list for extension extendee - 0, // [0:15] is the sub-list for field type_name + 16, // 6: cheqd.did.v2.MsgCreateDidDocPayload.verification_method:type_name -> cheqd.did.v2.VerificationMethod + 17, // 7: cheqd.did.v2.MsgCreateDidDocPayload.service:type_name -> cheqd.did.v2.Service + 18, // 8: cheqd.did.v2.MsgCreateDidDocResponse.value:type_name -> cheqd.did.v2.DidDocWithMetadata + 16, // 9: cheqd.did.v2.MsgUpdateDidDocPayload.verification_method:type_name -> cheqd.did.v2.VerificationMethod + 17, // 10: cheqd.did.v2.MsgUpdateDidDocPayload.service:type_name -> cheqd.did.v2.Service + 18, // 11: cheqd.did.v2.MsgUpdateDidDocResponse.value:type_name -> cheqd.did.v2.DidDocWithMetadata + 18, // 12: cheqd.did.v2.MsgDeactivateDidDocResponse.value:type_name -> cheqd.did.v2.DidDocWithMetadata + 19, // 13: cheqd.did.v2.MsgBurn.amount:type_name -> cosmos.base.v1beta1.Coin + 19, // 14: cheqd.did.v2.MsgMint.amount:type_name -> cosmos.base.v1beta1.Coin + 20, // 15: cheqd.did.v2.MsgUpdateParams.params:type_name -> cheqd.did.v2.FeeParams + 0, // 16: cheqd.did.v2.Msg.CreateDidDoc:input_type -> cheqd.did.v2.MsgCreateDidDoc + 1, // 17: cheqd.did.v2.Msg.UpdateDidDoc:input_type -> cheqd.did.v2.MsgUpdateDidDoc + 2, // 18: cheqd.did.v2.Msg.DeactivateDidDoc:input_type -> cheqd.did.v2.MsgDeactivateDidDoc + 10, // 19: cheqd.did.v2.Msg.Burn:input_type -> cheqd.did.v2.MsgBurn + 12, // 20: cheqd.did.v2.Msg.Mint:input_type -> cheqd.did.v2.MsgMint + 14, // 21: cheqd.did.v2.Msg.UpdateParams:input_type -> cheqd.did.v2.MsgUpdateParams + 5, // 22: cheqd.did.v2.Msg.CreateDidDoc:output_type -> cheqd.did.v2.MsgCreateDidDocResponse + 7, // 23: cheqd.did.v2.Msg.UpdateDidDoc:output_type -> cheqd.did.v2.MsgUpdateDidDocResponse + 9, // 24: cheqd.did.v2.Msg.DeactivateDidDoc:output_type -> cheqd.did.v2.MsgDeactivateDidDocResponse + 11, // 25: cheqd.did.v2.Msg.Burn:output_type -> cheqd.did.v2.MsgBurnResponse + 13, // 26: cheqd.did.v2.Msg.Mint:output_type -> cheqd.did.v2.MsgMintResponse + 15, // 27: cheqd.did.v2.Msg.UpdateParams:output_type -> cheqd.did.v2.MsgUpdateParamsResponse + 22, // [22:28] is the sub-list for method output_type + 16, // [16:22] is the sub-list for method input_type + 16, // [16:16] is the sub-list for extension type_name + 16, // [16:16] is the sub-list for extension extendee + 0, // [0:16] is the sub-list for field type_name } func init() { file_cheqd_did_v2_tx_proto_init() } @@ -10509,6 +11467,7 @@ func file_cheqd_did_v2_tx_proto_init() { return } file_cheqd_did_v2_diddoc_proto_init() + file_cheqd_did_v2_fee_proto_init() if !protoimpl.UnsafeEnabled { file_cheqd_did_v2_tx_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MsgCreateDidDoc); i { @@ -10678,6 +11637,30 @@ func file_cheqd_did_v2_tx_proto_init() { return nil } } + file_cheqd_did_v2_tx_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgUpdateParams); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cheqd_did_v2_tx_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgUpdateParamsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } type x struct{} out := protoimpl.TypeBuilder{ @@ -10685,7 +11668,7 @@ func file_cheqd_did_v2_tx_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_cheqd_did_v2_tx_proto_rawDesc, NumEnums: 0, - NumMessages: 14, + NumMessages: 16, NumExtensions: 0, NumServices: 1, }, diff --git a/api/cheqd/did/v2/tx_grpc.pb.go b/api/cheqd/did/v2/tx_grpc.pb.go index 5ab3b5c06..1f243441a 100644 --- a/api/cheqd/did/v2/tx_grpc.pb.go +++ b/api/cheqd/did/v2/tx_grpc.pb.go @@ -24,6 +24,7 @@ const ( Msg_DeactivateDidDoc_FullMethodName = "/cheqd.did.v2.Msg/DeactivateDidDoc" Msg_Burn_FullMethodName = "/cheqd.did.v2.Msg/Burn" Msg_Mint_FullMethodName = "/cheqd.did.v2.Msg/Mint" + Msg_UpdateParams_FullMethodName = "/cheqd.did.v2.Msg/UpdateParams" ) // MsgClient is the client API for Msg service. @@ -41,6 +42,7 @@ type MsgClient interface { Burn(ctx context.Context, in *MsgBurn, opts ...grpc.CallOption) (*MsgBurnResponse, error) // Mint defines a method to mint tokens to the given address. Mint(ctx context.Context, in *MsgMint, opts ...grpc.CallOption) (*MsgMintResponse, error) + UpdateParams(ctx context.Context, in *MsgUpdateParams, opts ...grpc.CallOption) (*MsgUpdateParamsResponse, error) } type msgClient struct { @@ -101,6 +103,16 @@ func (c *msgClient) Mint(ctx context.Context, in *MsgMint, opts ...grpc.CallOpti return out, nil } +func (c *msgClient) UpdateParams(ctx context.Context, in *MsgUpdateParams, opts ...grpc.CallOption) (*MsgUpdateParamsResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(MsgUpdateParamsResponse) + err := c.cc.Invoke(ctx, Msg_UpdateParams_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + // MsgServer is the server API for Msg service. // All implementations must embed UnimplementedMsgServer // for forward compatibility. @@ -116,6 +128,7 @@ type MsgServer interface { Burn(context.Context, *MsgBurn) (*MsgBurnResponse, error) // Mint defines a method to mint tokens to the given address. Mint(context.Context, *MsgMint) (*MsgMintResponse, error) + UpdateParams(context.Context, *MsgUpdateParams) (*MsgUpdateParamsResponse, error) mustEmbedUnimplementedMsgServer() } @@ -141,6 +154,9 @@ func (UnimplementedMsgServer) Burn(context.Context, *MsgBurn) (*MsgBurnResponse, func (UnimplementedMsgServer) Mint(context.Context, *MsgMint) (*MsgMintResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method Mint not implemented") } +func (UnimplementedMsgServer) UpdateParams(context.Context, *MsgUpdateParams) (*MsgUpdateParamsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateParams not implemented") +} func (UnimplementedMsgServer) mustEmbedUnimplementedMsgServer() {} func (UnimplementedMsgServer) testEmbeddedByValue() {} @@ -252,6 +268,24 @@ func _Msg_Mint_Handler(srv interface{}, ctx context.Context, dec func(interface{ return interceptor(ctx, in, info, handler) } +func _Msg_UpdateParams_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgUpdateParams) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).UpdateParams(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Msg_UpdateParams_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).UpdateParams(ctx, req.(*MsgUpdateParams)) + } + return interceptor(ctx, in, info, handler) +} + // Msg_ServiceDesc is the grpc.ServiceDesc for Msg service. // It's only intended for direct use with grpc.RegisterService, // and not to be introspected or modified (even as a copy) @@ -279,6 +313,10 @@ var Msg_ServiceDesc = grpc.ServiceDesc{ MethodName: "Mint", Handler: _Msg_Mint_Handler, }, + { + MethodName: "UpdateParams", + Handler: _Msg_UpdateParams_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "cheqd/did/v2/tx.proto", diff --git a/api/cheqd/resource/v2/fee.pulsar.go b/api/cheqd/resource/v2/fee.pulsar.go index 830101d96..a9d39e5fe 100644 --- a/api/cheqd/resource/v2/fee.pulsar.go +++ b/api/cheqd/resource/v2/fee.pulsar.go @@ -3,6 +3,7 @@ package resourcev2 import ( fmt "fmt" + _ "cosmossdk.io/api/amino" v1beta1 "cosmossdk.io/api/cosmos/base/v1beta1" _ "github.com/cosmos/cosmos-proto" runtime "github.com/cosmos/cosmos-proto/runtime" @@ -769,37 +770,38 @@ var file_cheqd_resource_v2_fee_proto_rawDesc = []byte{ 0x1a, 0x19, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x67, 0x6f, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x67, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x22, 0x91, 0x02, 0x0a, 0x09, 0x46, 0x65, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, - 0x35, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, - 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x62, - 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x42, 0x04, 0xc8, 0xde, 0x1f, 0x00, 0x52, - 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x33, 0x0a, 0x04, 0x6a, 0x73, 0x6f, 0x6e, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, - 0x73, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x42, - 0x04, 0xc8, 0xde, 0x1f, 0x00, 0x52, 0x04, 0x6a, 0x73, 0x6f, 0x6e, 0x12, 0x39, 0x0a, 0x07, 0x64, - 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, - 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, - 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x42, 0x04, 0xc8, 0xde, 0x1f, 0x00, 0x52, 0x07, 0x64, - 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x5d, 0x0a, 0x0b, 0x62, 0x75, 0x72, 0x6e, 0x5f, 0x66, - 0x61, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x3c, 0xc8, 0xde, 0x1f, - 0x00, 0xda, 0xde, 0x1f, 0x26, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, - 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2d, 0x73, 0x64, - 0x6b, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x44, 0x65, 0x63, 0xd2, 0xb4, 0x2d, 0x0a, 0x63, - 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x44, 0x65, 0x63, 0x52, 0x0a, 0x62, 0x75, 0x72, 0x6e, 0x46, - 0x61, 0x63, 0x74, 0x6f, 0x72, 0x42, 0xcc, 0x01, 0xa8, 0xe2, 0x1e, 0x01, 0x0a, 0x15, 0x63, 0x6f, - 0x6d, 0x2e, 0x63, 0x68, 0x65, 0x71, 0x64, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x2e, 0x76, 0x32, 0x42, 0x08, 0x46, 0x65, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, - 0x3f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x68, 0x65, 0x71, - 0x64, 0x2f, 0x63, 0x68, 0x65, 0x71, 0x64, 0x2d, 0x6e, 0x6f, 0x64, 0x65, 0x2f, 0x61, 0x70, 0x69, - 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x68, 0x65, 0x71, 0x64, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x2f, 0x76, 0x32, 0x3b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x76, 0x32, - 0xa2, 0x02, 0x03, 0x43, 0x52, 0x58, 0xaa, 0x02, 0x11, 0x43, 0x68, 0x65, 0x71, 0x64, 0x2e, 0x52, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x56, 0x32, 0xca, 0x02, 0x11, 0x43, 0x68, 0x65, - 0x71, 0x64, 0x5c, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5c, 0x56, 0x32, 0xe2, 0x02, - 0x1d, 0x43, 0x68, 0x65, 0x71, 0x64, 0x5c, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5c, - 0x56, 0x32, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, - 0x13, 0x43, 0x68, 0x65, 0x71, 0x64, 0x3a, 0x3a, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x3a, 0x3a, 0x56, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x6f, 0x1a, 0x11, 0x61, 0x6d, 0x69, 0x6e, 0x6f, 0x2f, 0x61, 0x6d, 0x69, 0x6e, 0x6f, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8b, 0x02, 0x0a, 0x09, 0x46, 0x65, 0x65, 0x50, 0x61, 0x72, 0x61, + 0x6d, 0x73, 0x12, 0x35, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x42, 0x04, 0xc8, 0xde, + 0x1f, 0x00, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x33, 0x0a, 0x04, 0x6a, 0x73, 0x6f, + 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, + 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, + 0x69, 0x6e, 0x42, 0x04, 0xc8, 0xde, 0x1f, 0x00, 0x52, 0x04, 0x6a, 0x73, 0x6f, 0x6e, 0x12, 0x39, + 0x0a, 0x07, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x19, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x42, 0x04, 0xc8, 0xde, 0x1f, 0x00, + 0x52, 0x07, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x57, 0x0a, 0x0b, 0x62, 0x75, 0x72, + 0x6e, 0x5f, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x36, + 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x1b, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, + 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x4c, 0x65, 0x67, 0x61, 0x63, 0x79, + 0x44, 0x65, 0x63, 0xd2, 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x44, 0x65, + 0x63, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x0a, 0x62, 0x75, 0x72, 0x6e, 0x46, 0x61, 0x63, 0x74, + 0x6f, 0x72, 0x42, 0xcc, 0x01, 0xa8, 0xe2, 0x1e, 0x01, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x2e, 0x63, + 0x68, 0x65, 0x71, 0x64, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x76, 0x32, + 0x42, 0x08, 0x46, 0x65, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3f, 0x67, 0x69, + 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x68, 0x65, 0x71, 0x64, 0x2f, 0x63, + 0x68, 0x65, 0x71, 0x64, 0x2d, 0x6e, 0x6f, 0x64, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, + 0x2f, 0x63, 0x68, 0x65, 0x71, 0x64, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2f, + 0x76, 0x32, 0x3b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x76, 0x32, 0xa2, 0x02, 0x03, + 0x43, 0x52, 0x58, 0xaa, 0x02, 0x11, 0x43, 0x68, 0x65, 0x71, 0x64, 0x2e, 0x52, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x2e, 0x56, 0x32, 0xca, 0x02, 0x11, 0x43, 0x68, 0x65, 0x71, 0x64, 0x5c, + 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5c, 0x56, 0x32, 0xe2, 0x02, 0x1d, 0x43, 0x68, + 0x65, 0x71, 0x64, 0x5c, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5c, 0x56, 0x32, 0x5c, + 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x13, 0x43, 0x68, + 0x65, 0x71, 0x64, 0x3a, 0x3a, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x3a, 0x3a, 0x56, + 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/api/cheqd/resource/v2/tx.pulsar.go b/api/cheqd/resource/v2/tx.pulsar.go index 7e6774e32..a002b7df2 100644 --- a/api/cheqd/resource/v2/tx.pulsar.go +++ b/api/cheqd/resource/v2/tx.pulsar.go @@ -3,7 +3,10 @@ package resourcev2 import ( fmt "fmt" + _ "cosmossdk.io/api/amino" v2 "github.com/cheqd/cheqd-node/api/v2/cheqd/did/v2" + _ "cosmossdk.io/api/cosmos/msg/v1" + _ "github.com/cosmos/cosmos-proto" runtime "github.com/cosmos/cosmos-proto/runtime" _ "github.com/cosmos/gogoproto/gogoproto" protoreflect "google.golang.org/protobuf/reflect/protoreflect" @@ -1902,6 +1905,861 @@ func (x *fastReflection_MsgCreateResourceResponse) ProtoMethods() *protoiface.Me } } +var ( + md_MsgUpdateParams protoreflect.MessageDescriptor + fd_MsgUpdateParams_authority protoreflect.FieldDescriptor + fd_MsgUpdateParams_params protoreflect.FieldDescriptor +) + +func init() { + file_cheqd_resource_v2_tx_proto_init() + md_MsgUpdateParams = File_cheqd_resource_v2_tx_proto.Messages().ByName("MsgUpdateParams") + fd_MsgUpdateParams_authority = md_MsgUpdateParams.Fields().ByName("authority") + fd_MsgUpdateParams_params = md_MsgUpdateParams.Fields().ByName("params") +} + +var _ protoreflect.Message = (*fastReflection_MsgUpdateParams)(nil) + +type fastReflection_MsgUpdateParams MsgUpdateParams + +func (x *MsgUpdateParams) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgUpdateParams)(x) +} + +func (x *MsgUpdateParams) slowProtoReflect() protoreflect.Message { + mi := &file_cheqd_resource_v2_tx_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgUpdateParams_messageType fastReflection_MsgUpdateParams_messageType +var _ protoreflect.MessageType = fastReflection_MsgUpdateParams_messageType{} + +type fastReflection_MsgUpdateParams_messageType struct{} + +func (x fastReflection_MsgUpdateParams_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgUpdateParams)(nil) +} +func (x fastReflection_MsgUpdateParams_messageType) New() protoreflect.Message { + return new(fastReflection_MsgUpdateParams) +} +func (x fastReflection_MsgUpdateParams_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgUpdateParams +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgUpdateParams) Descriptor() protoreflect.MessageDescriptor { + return md_MsgUpdateParams +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgUpdateParams) Type() protoreflect.MessageType { + return _fastReflection_MsgUpdateParams_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgUpdateParams) New() protoreflect.Message { + return new(fastReflection_MsgUpdateParams) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgUpdateParams) Interface() protoreflect.ProtoMessage { + return (*MsgUpdateParams)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgUpdateParams) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Authority != "" { + value := protoreflect.ValueOfString(x.Authority) + if !f(fd_MsgUpdateParams_authority, value) { + return + } + } + if x.Params != nil { + value := protoreflect.ValueOfMessage(x.Params.ProtoReflect()) + if !f(fd_MsgUpdateParams_params, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgUpdateParams) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cheqd.resource.v2.MsgUpdateParams.authority": + return x.Authority != "" + case "cheqd.resource.v2.MsgUpdateParams.params": + return x.Params != nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cheqd.resource.v2.MsgUpdateParams")) + } + panic(fmt.Errorf("message cheqd.resource.v2.MsgUpdateParams does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgUpdateParams) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cheqd.resource.v2.MsgUpdateParams.authority": + x.Authority = "" + case "cheqd.resource.v2.MsgUpdateParams.params": + x.Params = nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cheqd.resource.v2.MsgUpdateParams")) + } + panic(fmt.Errorf("message cheqd.resource.v2.MsgUpdateParams does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgUpdateParams) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cheqd.resource.v2.MsgUpdateParams.authority": + value := x.Authority + return protoreflect.ValueOfString(value) + case "cheqd.resource.v2.MsgUpdateParams.params": + value := x.Params + return protoreflect.ValueOfMessage(value.ProtoReflect()) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cheqd.resource.v2.MsgUpdateParams")) + } + panic(fmt.Errorf("message cheqd.resource.v2.MsgUpdateParams does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgUpdateParams) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cheqd.resource.v2.MsgUpdateParams.authority": + x.Authority = value.Interface().(string) + case "cheqd.resource.v2.MsgUpdateParams.params": + x.Params = value.Message().Interface().(*FeeParams) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cheqd.resource.v2.MsgUpdateParams")) + } + panic(fmt.Errorf("message cheqd.resource.v2.MsgUpdateParams does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgUpdateParams) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cheqd.resource.v2.MsgUpdateParams.params": + if x.Params == nil { + x.Params = new(FeeParams) + } + return protoreflect.ValueOfMessage(x.Params.ProtoReflect()) + case "cheqd.resource.v2.MsgUpdateParams.authority": + panic(fmt.Errorf("field authority of message cheqd.resource.v2.MsgUpdateParams is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cheqd.resource.v2.MsgUpdateParams")) + } + panic(fmt.Errorf("message cheqd.resource.v2.MsgUpdateParams does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgUpdateParams) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cheqd.resource.v2.MsgUpdateParams.authority": + return protoreflect.ValueOfString("") + case "cheqd.resource.v2.MsgUpdateParams.params": + m := new(FeeParams) + return protoreflect.ValueOfMessage(m.ProtoReflect()) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cheqd.resource.v2.MsgUpdateParams")) + } + panic(fmt.Errorf("message cheqd.resource.v2.MsgUpdateParams does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgUpdateParams) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cheqd.resource.v2.MsgUpdateParams", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgUpdateParams) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgUpdateParams) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgUpdateParams) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgUpdateParams) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgUpdateParams) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + l = len(x.Authority) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.Params != nil { + l = options.Size(x.Params) + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgUpdateParams) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if x.Params != nil { + encoded, err := options.Marshal(x.Params) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0x12 + } + if len(x.Authority) > 0 { + i -= len(x.Authority) + copy(dAtA[i:], x.Authority) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Authority))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgUpdateParams) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUpdateParams: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUpdateParams: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Authority", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Authority = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Params", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if x.Params == nil { + x.Params = &FeeParams{} + } + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Params); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_MsgUpdateParamsResponse protoreflect.MessageDescriptor +) + +func init() { + file_cheqd_resource_v2_tx_proto_init() + md_MsgUpdateParamsResponse = File_cheqd_resource_v2_tx_proto.Messages().ByName("MsgUpdateParamsResponse") +} + +var _ protoreflect.Message = (*fastReflection_MsgUpdateParamsResponse)(nil) + +type fastReflection_MsgUpdateParamsResponse MsgUpdateParamsResponse + +func (x *MsgUpdateParamsResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgUpdateParamsResponse)(x) +} + +func (x *MsgUpdateParamsResponse) slowProtoReflect() protoreflect.Message { + mi := &file_cheqd_resource_v2_tx_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgUpdateParamsResponse_messageType fastReflection_MsgUpdateParamsResponse_messageType +var _ protoreflect.MessageType = fastReflection_MsgUpdateParamsResponse_messageType{} + +type fastReflection_MsgUpdateParamsResponse_messageType struct{} + +func (x fastReflection_MsgUpdateParamsResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgUpdateParamsResponse)(nil) +} +func (x fastReflection_MsgUpdateParamsResponse_messageType) New() protoreflect.Message { + return new(fastReflection_MsgUpdateParamsResponse) +} +func (x fastReflection_MsgUpdateParamsResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgUpdateParamsResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgUpdateParamsResponse) Descriptor() protoreflect.MessageDescriptor { + return md_MsgUpdateParamsResponse +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgUpdateParamsResponse) Type() protoreflect.MessageType { + return _fastReflection_MsgUpdateParamsResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgUpdateParamsResponse) New() protoreflect.Message { + return new(fastReflection_MsgUpdateParamsResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgUpdateParamsResponse) Interface() protoreflect.ProtoMessage { + return (*MsgUpdateParamsResponse)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgUpdateParamsResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgUpdateParamsResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cheqd.resource.v2.MsgUpdateParamsResponse")) + } + panic(fmt.Errorf("message cheqd.resource.v2.MsgUpdateParamsResponse does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgUpdateParamsResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cheqd.resource.v2.MsgUpdateParamsResponse")) + } + panic(fmt.Errorf("message cheqd.resource.v2.MsgUpdateParamsResponse does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgUpdateParamsResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cheqd.resource.v2.MsgUpdateParamsResponse")) + } + panic(fmt.Errorf("message cheqd.resource.v2.MsgUpdateParamsResponse does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgUpdateParamsResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cheqd.resource.v2.MsgUpdateParamsResponse")) + } + panic(fmt.Errorf("message cheqd.resource.v2.MsgUpdateParamsResponse does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgUpdateParamsResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cheqd.resource.v2.MsgUpdateParamsResponse")) + } + panic(fmt.Errorf("message cheqd.resource.v2.MsgUpdateParamsResponse does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgUpdateParamsResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cheqd.resource.v2.MsgUpdateParamsResponse")) + } + panic(fmt.Errorf("message cheqd.resource.v2.MsgUpdateParamsResponse does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgUpdateParamsResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cheqd.resource.v2.MsgUpdateParamsResponse", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgUpdateParamsResponse) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgUpdateParamsResponse) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgUpdateParamsResponse) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgUpdateParamsResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgUpdateParamsResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgUpdateParamsResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgUpdateParamsResponse) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUpdateParamsResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUpdateParamsResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.27.0 @@ -2117,6 +2975,82 @@ func (x *MsgCreateResourceResponse) GetResource() *Metadata { return nil } +// MsgUpdateParams is the Msg/UpdateParams request type. +type MsgUpdateParams struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // authority is the address of the governance account. + Authority string `protobuf:"bytes,1,opt,name=authority,proto3" json:"authority,omitempty"` + // params defines the x/mint parameters to update. + // + // NOTE: All parameters must be supplied. + Params *FeeParams `protobuf:"bytes,2,opt,name=params,proto3" json:"params,omitempty"` +} + +func (x *MsgUpdateParams) Reset() { + *x = MsgUpdateParams{} + if protoimpl.UnsafeEnabled { + mi := &file_cheqd_resource_v2_tx_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgUpdateParams) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgUpdateParams) ProtoMessage() {} + +// Deprecated: Use MsgUpdateParams.ProtoReflect.Descriptor instead. +func (*MsgUpdateParams) Descriptor() ([]byte, []int) { + return file_cheqd_resource_v2_tx_proto_rawDescGZIP(), []int{3} +} + +func (x *MsgUpdateParams) GetAuthority() string { + if x != nil { + return x.Authority + } + return "" +} + +func (x *MsgUpdateParams) GetParams() *FeeParams { + if x != nil { + return x.Params + } + return nil +} + +// MsgUpdateParamsResponse defines the response structure for executing a +// MsgUpdateParams message. +type MsgUpdateParamsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *MsgUpdateParamsResponse) Reset() { + *x = MsgUpdateParamsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cheqd_resource_v2_tx_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgUpdateParamsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgUpdateParamsResponse) ProtoMessage() {} + +// Deprecated: Use MsgUpdateParamsResponse.ProtoReflect.Descriptor instead. +func (*MsgUpdateParamsResponse) Descriptor() ([]byte, []int) { + return file_cheqd_resource_v2_tx_proto_rawDescGZIP(), []int{4} +} + var File_cheqd_resource_v2_tx_proto protoreflect.FileDescriptor var file_cheqd_resource_v2_tx_proto_rawDesc = []byte{ @@ -2127,68 +3061,94 @@ var file_cheqd_resource_v2_tx_proto_rawDesc = []byte{ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x63, 0x68, 0x65, 0x71, 0x64, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x67, 0x6f, 0x67, 0x6f, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x67, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x92, - 0x01, 0x0a, 0x11, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x12, 0x45, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x63, 0x68, 0x65, 0x71, 0x64, 0x2e, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x61, 0x79, 0x6c, 0x6f, - 0x61, 0x64, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x36, 0x0a, 0x0a, 0x73, - 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x16, 0x2e, 0x63, 0x68, 0x65, 0x71, 0x64, 0x2e, 0x64, 0x69, 0x64, 0x2e, 0x76, 0x32, 0x2e, 0x53, - 0x69, 0x67, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, - 0x72, 0x65, 0x73, 0x22, 0x84, 0x03, 0x0a, 0x18, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, - 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, - 0x64, 0x61, 0x74, 0x61, 0x12, 0x3d, 0x0a, 0x0d, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x18, 0xea, 0xde, 0x1f, - 0x14, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x52, 0x0c, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x0e, 0xea, 0xde, 0x1f, 0x0a, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x52, - 0x02, 0x69, 0x64, 0x12, 0x24, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x10, 0xea, 0xde, 0x1f, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4e, - 0x61, 0x6d, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x31, 0x0a, 0x07, 0x76, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x17, 0xc8, 0xde, 0x1f, 0x01, - 0xea, 0xde, 0x1f, 0x0f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x56, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x35, 0x0a, 0x0d, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x10, 0xea, 0xde, 0x1f, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, - 0x79, 0x70, 0x65, 0x12, 0x65, 0x0a, 0x0d, 0x61, 0x6c, 0x73, 0x6f, 0x5f, 0x6b, 0x6e, 0x6f, 0x77, - 0x6e, 0x5f, 0x61, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x68, 0x65, - 0x71, 0x64, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x41, - 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x55, 0x72, 0x69, 0x42, 0x1e, 0xc8, - 0xde, 0x1f, 0x01, 0xea, 0xde, 0x1f, 0x16, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, - 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x55, 0x72, 0x69, 0x52, 0x0b, 0x61, - 0x6c, 0x73, 0x6f, 0x4b, 0x6e, 0x6f, 0x77, 0x6e, 0x41, 0x73, 0x22, 0x70, 0x0a, 0x19, 0x4d, 0x73, - 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x68, 0x65, 0x71, - 0x64, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x1a, 0xea, 0xde, 0x1f, 0x16, 0x6c, 0x69, 0x6e, 0x6b, - 0x65, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x32, 0x6b, 0x0a, 0x03, - 0x4d, 0x73, 0x67, 0x12, 0x64, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x24, 0x2e, 0x63, 0x68, 0x65, 0x71, 0x64, 0x2e, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x1a, 0x2c, 0x2e, 0x63, 0x68, - 0x65, 0x71, 0x64, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x76, 0x32, 0x2e, - 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0xc7, 0x01, 0x0a, 0x15, 0x63, 0x6f, - 0x6d, 0x2e, 0x63, 0x68, 0x65, 0x71, 0x64, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x2e, 0x76, 0x32, 0x42, 0x07, 0x54, 0x78, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3f, - 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x68, 0x65, 0x71, 0x64, - 0x2f, 0x63, 0x68, 0x65, 0x71, 0x64, 0x2d, 0x6e, 0x6f, 0x64, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, - 0x76, 0x32, 0x2f, 0x63, 0x68, 0x65, 0x71, 0x64, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x2f, 0x76, 0x32, 0x3b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x76, 0x32, 0xa2, - 0x02, 0x03, 0x43, 0x52, 0x58, 0xaa, 0x02, 0x11, 0x43, 0x68, 0x65, 0x71, 0x64, 0x2e, 0x52, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x56, 0x32, 0xca, 0x02, 0x11, 0x43, 0x68, 0x65, 0x71, - 0x64, 0x5c, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5c, 0x56, 0x32, 0xe2, 0x02, 0x1d, - 0x43, 0x68, 0x65, 0x71, 0x64, 0x5c, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5c, 0x56, - 0x32, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x13, - 0x43, 0x68, 0x65, 0x71, 0x64, 0x3a, 0x3a, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x3a, - 0x3a, 0x56, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x67, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, + 0x63, 0x68, 0x65, 0x71, 0x64, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2f, 0x76, + 0x32, 0x2f, 0x66, 0x65, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x63, 0x6f, 0x73, + 0x6d, 0x6f, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x6d, + 0x73, 0x67, 0x2f, 0x76, 0x31, 0x2f, 0x6d, 0x73, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, + 0x11, 0x61, 0x6d, 0x69, 0x6e, 0x6f, 0x2f, 0x61, 0x6d, 0x69, 0x6e, 0x6f, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x22, 0x92, 0x01, 0x0a, 0x11, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x45, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, + 0x6f, 0x61, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x63, 0x68, 0x65, 0x71, + 0x64, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x73, + 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, + 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, + 0x36, 0x0a, 0x0a, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x02, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x63, 0x68, 0x65, 0x71, 0x64, 0x2e, 0x64, 0x69, 0x64, 0x2e, + 0x76, 0x32, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x73, 0x69, 0x67, + 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x22, 0x84, 0x03, 0x0a, 0x18, 0x4d, 0x73, 0x67, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x61, 0x79, + 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x3d, 0x0a, 0x0d, 0x63, 0x6f, 0x6c, 0x6c, + 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x18, 0xea, 0xde, 0x1f, 0x14, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6c, + 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x52, 0x0c, 0x63, 0x6f, 0x6c, 0x6c, 0x65, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x0e, 0xea, 0xde, 0x1f, 0x0a, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x49, 0x64, 0x52, 0x02, 0x69, 0x64, 0x12, 0x24, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x10, 0xea, 0xde, 0x1f, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x31, 0x0a, + 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x17, + 0xc8, 0xde, 0x1f, 0x01, 0xea, 0xde, 0x1f, 0x0f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x12, 0x35, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, + 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x10, 0xea, 0xde, 0x1f, 0x0c, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x65, 0x0a, 0x0d, 0x61, 0x6c, 0x73, 0x6f, 0x5f, + 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x5f, 0x61, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, + 0x2e, 0x63, 0x68, 0x65, 0x71, 0x64, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, + 0x76, 0x32, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x55, 0x72, + 0x69, 0x42, 0x1e, 0xc8, 0xde, 0x1f, 0x01, 0xea, 0xde, 0x1f, 0x16, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x55, 0x72, + 0x69, 0x52, 0x0b, 0x61, 0x6c, 0x73, 0x6f, 0x4b, 0x6e, 0x6f, 0x77, 0x6e, 0x41, 0x73, 0x22, 0x70, + 0x0a, 0x19, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x08, 0x72, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, + 0x63, 0x68, 0x65, 0x71, 0x64, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x76, + 0x32, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x1a, 0xea, 0xde, 0x1f, 0x16, + 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x22, 0xb0, 0x01, 0x0a, 0x0f, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, + 0x72, 0x61, 0x6d, 0x73, 0x12, 0x36, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, + 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x18, 0xd2, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, + 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, + 0x67, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x3a, 0x0a, 0x06, + 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, + 0x68, 0x65, 0x71, 0x64, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x76, 0x32, + 0x2e, 0x46, 0x65, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x42, 0x04, 0xc8, 0xde, 0x1f, 0x00, + 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x3a, 0x29, 0x82, 0xe7, 0xb0, 0x2a, 0x09, 0x61, + 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x8a, 0xe7, 0xb0, 0x2a, 0x16, 0x2f, 0x78, 0x2f, + 0x64, 0x69, 0x64, 0x2f, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, + 0x61, 0x6d, 0x73, 0x22, 0x19, 0x0a, 0x17, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0xd2, + 0x01, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x12, 0x64, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x24, 0x2e, 0x63, 0x68, 0x65, 0x71, 0x64, + 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x73, 0x67, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x1a, 0x2c, + 0x2e, 0x63, 0x68, 0x65, 0x71, 0x64, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, + 0x76, 0x32, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5e, 0x0a, 0x0c, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x22, 0x2e, 0x63, + 0x68, 0x65, 0x71, 0x64, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x76, 0x32, + 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, + 0x1a, 0x2a, 0x2e, 0x63, 0x68, 0x65, 0x71, 0x64, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, + 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x1a, 0x05, 0x80, 0xe7, + 0xb0, 0x2a, 0x01, 0x42, 0xc7, 0x01, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x68, 0x65, 0x71, + 0x64, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x76, 0x32, 0x42, 0x07, 0x54, + 0x78, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x68, 0x65, 0x71, 0x64, 0x2f, 0x63, 0x68, 0x65, 0x71, 0x64, + 0x2d, 0x6e, 0x6f, 0x64, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x68, 0x65, + 0x71, 0x64, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2f, 0x76, 0x32, 0x3b, 0x72, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x76, 0x32, 0xa2, 0x02, 0x03, 0x43, 0x52, 0x58, 0xaa, + 0x02, 0x11, 0x43, 0x68, 0x65, 0x71, 0x64, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x2e, 0x56, 0x32, 0xca, 0x02, 0x11, 0x43, 0x68, 0x65, 0x71, 0x64, 0x5c, 0x52, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x5c, 0x56, 0x32, 0xe2, 0x02, 0x1d, 0x43, 0x68, 0x65, 0x71, 0x64, 0x5c, + 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5c, 0x56, 0x32, 0x5c, 0x47, 0x50, 0x42, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x13, 0x43, 0x68, 0x65, 0x71, 0x64, 0x3a, + 0x3a, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x3a, 0x3a, 0x56, 0x32, 0x62, 0x06, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -2203,27 +3163,33 @@ func file_cheqd_resource_v2_tx_proto_rawDescGZIP() []byte { return file_cheqd_resource_v2_tx_proto_rawDescData } -var file_cheqd_resource_v2_tx_proto_msgTypes = make([]protoimpl.MessageInfo, 3) +var file_cheqd_resource_v2_tx_proto_msgTypes = make([]protoimpl.MessageInfo, 5) var file_cheqd_resource_v2_tx_proto_goTypes = []interface{}{ (*MsgCreateResource)(nil), // 0: cheqd.resource.v2.MsgCreateResource (*MsgCreateResourcePayload)(nil), // 1: cheqd.resource.v2.MsgCreateResourcePayload (*MsgCreateResourceResponse)(nil), // 2: cheqd.resource.v2.MsgCreateResourceResponse - (*v2.SignInfo)(nil), // 3: cheqd.did.v2.SignInfo - (*AlternativeUri)(nil), // 4: cheqd.resource.v2.AlternativeUri - (*Metadata)(nil), // 5: cheqd.resource.v2.Metadata + (*MsgUpdateParams)(nil), // 3: cheqd.resource.v2.MsgUpdateParams + (*MsgUpdateParamsResponse)(nil), // 4: cheqd.resource.v2.MsgUpdateParamsResponse + (*v2.SignInfo)(nil), // 5: cheqd.did.v2.SignInfo + (*AlternativeUri)(nil), // 6: cheqd.resource.v2.AlternativeUri + (*Metadata)(nil), // 7: cheqd.resource.v2.Metadata + (*FeeParams)(nil), // 8: cheqd.resource.v2.FeeParams } var file_cheqd_resource_v2_tx_proto_depIdxs = []int32{ 1, // 0: cheqd.resource.v2.MsgCreateResource.payload:type_name -> cheqd.resource.v2.MsgCreateResourcePayload - 3, // 1: cheqd.resource.v2.MsgCreateResource.signatures:type_name -> cheqd.did.v2.SignInfo - 4, // 2: cheqd.resource.v2.MsgCreateResourcePayload.also_known_as:type_name -> cheqd.resource.v2.AlternativeUri - 5, // 3: cheqd.resource.v2.MsgCreateResourceResponse.resource:type_name -> cheqd.resource.v2.Metadata - 0, // 4: cheqd.resource.v2.Msg.CreateResource:input_type -> cheqd.resource.v2.MsgCreateResource - 2, // 5: cheqd.resource.v2.Msg.CreateResource:output_type -> cheqd.resource.v2.MsgCreateResourceResponse - 5, // [5:6] is the sub-list for method output_type - 4, // [4:5] is the sub-list for method input_type - 4, // [4:4] is the sub-list for extension type_name - 4, // [4:4] is the sub-list for extension extendee - 0, // [0:4] is the sub-list for field type_name + 5, // 1: cheqd.resource.v2.MsgCreateResource.signatures:type_name -> cheqd.did.v2.SignInfo + 6, // 2: cheqd.resource.v2.MsgCreateResourcePayload.also_known_as:type_name -> cheqd.resource.v2.AlternativeUri + 7, // 3: cheqd.resource.v2.MsgCreateResourceResponse.resource:type_name -> cheqd.resource.v2.Metadata + 8, // 4: cheqd.resource.v2.MsgUpdateParams.params:type_name -> cheqd.resource.v2.FeeParams + 0, // 5: cheqd.resource.v2.Msg.CreateResource:input_type -> cheqd.resource.v2.MsgCreateResource + 3, // 6: cheqd.resource.v2.Msg.UpdateParams:input_type -> cheqd.resource.v2.MsgUpdateParams + 2, // 7: cheqd.resource.v2.Msg.CreateResource:output_type -> cheqd.resource.v2.MsgCreateResourceResponse + 4, // 8: cheqd.resource.v2.Msg.UpdateParams:output_type -> cheqd.resource.v2.MsgUpdateParamsResponse + 7, // [7:9] is the sub-list for method output_type + 5, // [5:7] is the sub-list for method input_type + 5, // [5:5] is the sub-list for extension type_name + 5, // [5:5] is the sub-list for extension extendee + 0, // [0:5] is the sub-list for field type_name } func init() { file_cheqd_resource_v2_tx_proto_init() } @@ -2232,6 +3198,7 @@ func file_cheqd_resource_v2_tx_proto_init() { return } file_cheqd_resource_v2_resource_proto_init() + file_cheqd_resource_v2_fee_proto_init() if !protoimpl.UnsafeEnabled { file_cheqd_resource_v2_tx_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MsgCreateResource); i { @@ -2269,6 +3236,30 @@ func file_cheqd_resource_v2_tx_proto_init() { return nil } } + file_cheqd_resource_v2_tx_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgUpdateParams); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cheqd_resource_v2_tx_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgUpdateParamsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } type x struct{} out := protoimpl.TypeBuilder{ @@ -2276,7 +3267,7 @@ func file_cheqd_resource_v2_tx_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_cheqd_resource_v2_tx_proto_rawDesc, NumEnums: 0, - NumMessages: 3, + NumMessages: 5, NumExtensions: 0, NumServices: 1, }, diff --git a/api/cheqd/resource/v2/tx_grpc.pb.go b/api/cheqd/resource/v2/tx_grpc.pb.go index 8da38c1de..438d5b9cc 100644 --- a/api/cheqd/resource/v2/tx_grpc.pb.go +++ b/api/cheqd/resource/v2/tx_grpc.pb.go @@ -20,6 +20,7 @@ const _ = grpc.SupportPackageIsVersion9 const ( Msg_CreateResource_FullMethodName = "/cheqd.resource.v2.Msg/CreateResource" + Msg_UpdateParams_FullMethodName = "/cheqd.resource.v2.Msg/UpdateParams" ) // MsgClient is the client API for Msg service. @@ -30,6 +31,7 @@ const ( type MsgClient interface { // CreateResource defines a method for creating a resource. CreateResource(ctx context.Context, in *MsgCreateResource, opts ...grpc.CallOption) (*MsgCreateResourceResponse, error) + UpdateParams(ctx context.Context, in *MsgUpdateParams, opts ...grpc.CallOption) (*MsgUpdateParamsResponse, error) } type msgClient struct { @@ -50,6 +52,16 @@ func (c *msgClient) CreateResource(ctx context.Context, in *MsgCreateResource, o return out, nil } +func (c *msgClient) UpdateParams(ctx context.Context, in *MsgUpdateParams, opts ...grpc.CallOption) (*MsgUpdateParamsResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(MsgUpdateParamsResponse) + err := c.cc.Invoke(ctx, Msg_UpdateParams_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + // MsgServer is the server API for Msg service. // All implementations must embed UnimplementedMsgServer // for forward compatibility. @@ -58,6 +70,7 @@ func (c *msgClient) CreateResource(ctx context.Context, in *MsgCreateResource, o type MsgServer interface { // CreateResource defines a method for creating a resource. CreateResource(context.Context, *MsgCreateResource) (*MsgCreateResourceResponse, error) + UpdateParams(context.Context, *MsgUpdateParams) (*MsgUpdateParamsResponse, error) mustEmbedUnimplementedMsgServer() } @@ -71,6 +84,9 @@ type UnimplementedMsgServer struct{} func (UnimplementedMsgServer) CreateResource(context.Context, *MsgCreateResource) (*MsgCreateResourceResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method CreateResource not implemented") } +func (UnimplementedMsgServer) UpdateParams(context.Context, *MsgUpdateParams) (*MsgUpdateParamsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateParams not implemented") +} func (UnimplementedMsgServer) mustEmbedUnimplementedMsgServer() {} func (UnimplementedMsgServer) testEmbeddedByValue() {} @@ -110,6 +126,24 @@ func _Msg_CreateResource_Handler(srv interface{}, ctx context.Context, dec func( return interceptor(ctx, in, info, handler) } +func _Msg_UpdateParams_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgUpdateParams) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).UpdateParams(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Msg_UpdateParams_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).UpdateParams(ctx, req.(*MsgUpdateParams)) + } + return interceptor(ctx, in, info, handler) +} + // Msg_ServiceDesc is the grpc.ServiceDesc for Msg service. // It's only intended for direct use with grpc.RegisterService, // and not to be introspected or modified (even as a copy) @@ -121,6 +155,10 @@ var Msg_ServiceDesc = grpc.ServiceDesc{ MethodName: "CreateResource", Handler: _Msg_CreateResource_Handler, }, + { + MethodName: "UpdateParams", + Handler: _Msg_UpdateParams_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "cheqd/resource/v2/tx.proto", diff --git a/app/app.go b/app/app.go index 533254a1f..269c0fd41 100644 --- a/app/app.go +++ b/app/app.go @@ -53,7 +53,6 @@ import ( "github.com/cosmos/cosmos-sdk/codec" "github.com/cosmos/cosmos-sdk/codec/address" "github.com/cosmos/cosmos-sdk/codec/types" - "github.com/cosmos/cosmos-sdk/runtime" runtimeservices "github.com/cosmos/cosmos-sdk/runtime/services" "github.com/cosmos/cosmos-sdk/server" "github.com/cosmos/cosmos-sdk/server/api" @@ -70,7 +69,6 @@ import ( authkeeper "github.com/cosmos/cosmos-sdk/x/auth/keeper" authsims "github.com/cosmos/cosmos-sdk/x/auth/simulation" "github.com/cosmos/cosmos-sdk/x/auth/tx" - authtx "github.com/cosmos/cosmos-sdk/x/auth/tx" txmodule "github.com/cosmos/cosmos-sdk/x/auth/tx/config" authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" "github.com/cosmos/cosmos-sdk/x/auth/vesting" @@ -155,9 +153,13 @@ import ( // unnamed import of statik for swagger UI support cheqdante "github.com/cheqd/cheqd-node/ante" + didv2 "github.com/cheqd/cheqd-node/api/v2/cheqd/did/v2" + resourcev2 "github.com/cheqd/cheqd-node/api/v2/cheqd/resource/v2" _ "github.com/cheqd/cheqd-node/app/client/docs/statik" upgradeV3 "github.com/cheqd/cheqd-node/app/upgrades/v3" upgradeV4 "github.com/cheqd/cheqd-node/app/upgrades/v4" + "github.com/cosmos/cosmos-sdk/runtime" + protov2 "google.golang.org/protobuf/proto" ) var ( @@ -259,6 +261,7 @@ func init() { if err != nil { panic(err) } + SetConfig() DefaultNodeHome = filepath.Join(userHomeDir, Home) } @@ -268,16 +271,22 @@ func New( logger log.Logger, db dbm.DB, traceStore io.Writer, loadLatest bool, appOpts servertypes.AppOptions, baseAppOptions ...func(*baseapp.BaseApp), ) *App { - interfaceRegistry, _ := types.NewInterfaceRegistryWithOptions(types.InterfaceRegistryOptions{ - ProtoFiles: proto.HybridResolver, - SigningOptions: signing.Options{ - AddressCodec: address.Bech32Codec{ - Bech32Prefix: AccountAddressPrefix, - }, - ValidatorAddressCodec: address.Bech32Codec{ - Bech32Prefix: ValidatorAddressPrefix, - }, + signopts := signing.Options{ + AddressCodec: address.Bech32Codec{ + Bech32Prefix: AccountAddressPrefix, + }, + ValidatorAddressCodec: address.Bech32Codec{ + Bech32Prefix: ValidatorAddressPrefix, }, + } + signopts.DefineCustomGetSigners(protov2.MessageName(&resourcev2.MsgCreateResource{}), resourcetypes.CreateGetSigners(&signopts)) + signopts.DefineCustomGetSigners(protov2.MessageName(&didv2.MsgCreateDidDoc{}), didtypes.CreateGetSigners(&signopts)) + signopts.DefineCustomGetSigners(protov2.MessageName(&didv2.MsgUpdateDidDoc{}), didtypes.CreateGetSigners(&signopts)) + signopts.DefineCustomGetSigners(protov2.MessageName(&didv2.MsgDeactivateDidDoc{}), didtypes.CreateGetSigners(&signopts)) + + interfaceRegistry, _ := types.NewInterfaceRegistryWithOptions(types.InterfaceRegistryOptions{ + ProtoFiles: proto.HybridResolver, + SigningOptions: signopts, }) appCodec := codec.NewProtoCodec(interfaceRegistry) legacyAmino := codec.NewLegacyAmino() @@ -413,7 +422,8 @@ func New( ) // optional: enable sign mode textual by overwriting the default tx config (after setting the bank keeper) - enabledSignModes := append(tx.DefaultSignModes, sigtypes.SignMode_SIGN_MODE_TEXTUAL) + enabledSignModes := tx.DefaultSignModes + enabledSignModes = append(enabledSignModes, sigtypes.SignMode_SIGN_MODE_TEXTUAL) txConfigOpts := tx.ConfigOptions{ EnabledSignModes: enabledSignModes, TextualCoinMetadataQueryFn: txmodule.NewBankKeeperCoinMetadataQueryFn(app.BankKeeper), @@ -695,10 +705,11 @@ func New( // x/resource app.ResourceKeeper = *resourcekeeper.NewKeeper( - appCodec, keys[resourcetypes.StoreKey], + appCodec, runtime.NewKVStoreService(keys[resourcetypes.StoreKey]), app.GetSubspace(resourcetypes.ModuleName), app.IBCKeeper.PortKeeper, scopedResourceKeeper, + authority, ) // create the resource IBC stack @@ -726,7 +737,7 @@ func New( app.EvidenceKeeper = *evidenceKeeper app.DidKeeper = *didkeeper.NewKeeper( - appCodec, keys[didtypes.StoreKey], + appCodec, runtime.NewKVStoreService(keys[didtypes.StoreKey]), app.GetSubspace(didtypes.ModuleName), app.AccountKeeper, app.BankKeeper, app.StakingKeeper, authority, @@ -1166,7 +1177,7 @@ func (app *App) SimulationManager() *module.SimulationManager { func (app *App) RegisterAPIRoutes(apiSvr *api.Server, apiConfig config.APIConfig) { clientCtx := apiSvr.ClientCtx // Register new tx routes from grpc-gateway. - authtx.RegisterGRPCGatewayRoutes(clientCtx, apiSvr.GRPCGatewayRouter) + tx.RegisterGRPCGatewayRoutes(clientCtx, apiSvr.GRPCGatewayRouter) // Register new tendermint queries routes from grpc-gateway. cmtservice.RegisterGRPCGatewayRoutes(clientCtx, apiSvr.GRPCGatewayRouter) @@ -1196,7 +1207,7 @@ func RegisterSwaggerAPI(rtr *mux.Router) { // RegisterTxService implements the Application.RegisterTxService method. func (app *App) RegisterTxService(clientCtx client.Context) { - authtx.RegisterTxService(app.BaseApp.GRPCQueryRouter(), clientCtx, app.BaseApp.Simulate, app.interfaceRegistry) + tx.RegisterTxService(app.BaseApp.GRPCQueryRouter(), clientCtx, app.BaseApp.Simulate, app.interfaceRegistry) } // RegisterTendermintService implements the Application.RegisterTendermintService method. @@ -1289,7 +1300,10 @@ func (app *App) RegisterUpgradeHandlers() { app.IBCKeeper.ClientKeeper.SetParams(sdkCtx, params) // this should be before updating the version in consensus params - baseapp.MigrateParams(sdkCtx, baseAppLegacySS, &app.ConsensusParamsKeeper.ParamsStore) + err = baseapp.MigrateParams(sdkCtx, baseAppLegacySS, &app.ConsensusParamsKeeper.ParamsStore) + if err != nil { + return nil, err + } consensusParams, err := app.ConsensusParamsKeeper.ParamsStore.Get(sdkCtx) if err != nil { return nil, err @@ -1303,7 +1317,9 @@ func (app *App) RegisterUpgradeHandlers() { // dedicated x/consensus module. migrations, err := app.ModuleManager.RunMigrations(ctx, app.Configurator(), fromVM) - app.ConsensusParamsKeeper.ParamsStore.Set(sdkCtx, consensusParams) + if err := app.ConsensusParamsKeeper.ParamsStore.Set(sdkCtx, consensusParams); err != nil { + return nil, err + } return migrations, err }, ) diff --git a/app/app_test.go b/app/app_test.go index 171f13ce4..78b916b37 100644 --- a/app/app_test.go +++ b/app/app_test.go @@ -122,8 +122,8 @@ func TestRunMigrations(t *testing.T) { } // Initialize the chain - app.InitChain(&abci.RequestInitChain{}) - app.Commit() + _, _ = app.InitChain(&abci.RequestInitChain{}) + _, _ = app.Commit() testCases := []struct { name string diff --git a/app/export.go b/app/export.go index 7f9988f64..73fb54b0c 100644 --- a/app/export.go +++ b/app/export.go @@ -169,7 +169,7 @@ func (app *App) prepForZeroHeightGenesis(ctx sdk.Context, jailAllowedAddrs []str /* Handle staking state. */ // iterate through redelegations, reset creation height - app.StakingKeeper.IterateRedelegations(ctx, func(_ int64, red stakingtypes.Redelegation) (stop bool) { + _ = app.StakingKeeper.IterateRedelegations(ctx, func(_ int64, red stakingtypes.Redelegation) (stop bool) { for i := range red.Entries { red.Entries[i].CreationHeight = 0 } @@ -181,7 +181,7 @@ func (app *App) prepForZeroHeightGenesis(ctx sdk.Context, jailAllowedAddrs []str }) // iterate through unbonding delegations, reset creation height - app.StakingKeeper.IterateUnbondingDelegations(ctx, func(_ int64, ubd stakingtypes.UnbondingDelegation) (stop bool) { + _ = app.StakingKeeper.IterateUnbondingDelegations(ctx, func(_ int64, ubd stakingtypes.UnbondingDelegation) (stop bool) { for i := range ubd.Entries { ubd.Entries[i].CreationHeight = 0 } @@ -211,7 +211,7 @@ func (app *App) prepForZeroHeightGenesis(ctx sdk.Context, jailAllowedAddrs []str validator.Jailed = true } - app.StakingKeeper.SetValidator(ctx, validator) + _ = app.StakingKeeper.SetValidator(ctx, validator) counter++ } @@ -224,11 +224,11 @@ func (app *App) prepForZeroHeightGenesis(ctx sdk.Context, jailAllowedAddrs []str /* Handle slashing state. */ // reset start height on signing infos - app.SlashingKeeper.IterateValidatorSigningInfos( + _ = app.SlashingKeeper.IterateValidatorSigningInfos( ctx, func(addr sdk.ConsAddress, info slashingtypes.ValidatorSigningInfo) (stop bool) { info.StartHeight = 0 - app.SlashingKeeper.SetValidatorSigningInfo(ctx, addr, info) + _ = app.SlashingKeeper.SetValidatorSigningInfo(ctx, addr, info) return false }, ) diff --git a/cmd/cheqd-noded/cmd/root.go b/cmd/cheqd-noded/cmd/root.go index acb05f56d..34a56f980 100644 --- a/cmd/cheqd-noded/cmd/root.go +++ b/cmd/cheqd-noded/cmd/root.go @@ -78,7 +78,8 @@ func NewRootCmd() *cobra.Command { // sets the RPC client needed for SIGN_MODE_TEXTUAL. This sign mode // is only available if the client is online. if !initClientCtx.Offline { - enabledSignModes := append(tx.DefaultSignModes, signing.SignMode_SIGN_MODE_TEXTUAL) + enabledSignModes := tx.DefaultSignModes + enabledSignModes = append(enabledSignModes, signing.SignMode_SIGN_MODE_TEXTUAL) txConfigOpts := tx.ConfigOptions{ EnabledSignModes: enabledSignModes, TextualCoinMetadataQueryFn: authtxconfig.NewGRPCCoinMetadataQueryFn(initClientCtx), @@ -130,8 +131,6 @@ func initRootCmd( txConfig client.TxConfig, basicManager module.BasicManager, ) { - app.SetConfig() - rootCmd.AddCommand( extendInit(genutilcli.InitCmd(basicManager, app.DefaultNodeHome)), cmtcli.NewCompletionCmd(rootCmd, true), diff --git a/cmd/cheqd-noded/main.go b/cmd/cheqd-noded/main.go index acdc0dbb1..83cf9c730 100644 --- a/cmd/cheqd-noded/main.go +++ b/cmd/cheqd-noded/main.go @@ -1,6 +1,7 @@ package main import ( + "fmt" "os" "github.com/cheqd/cheqd-node/app" @@ -11,6 +12,7 @@ import ( func main() { rootCmd := cmd.NewRootCmd() if err := svrcmd.Execute(rootCmd, app.Name, app.DefaultNodeHome); err != nil { + fmt.Fprintln(rootCmd.OutOrStderr(), err) os.Exit(1) } } diff --git a/docker/localnet/gen-network-config-old-binary.sh b/docker/localnet/gen-network-config-old-binary.sh index 5fe1b7bf4..7b87f5016 100644 --- a/docker/localnet/gen-network-config-old-binary.sh +++ b/docker/localnet/gen-network-config-old-binary.sh @@ -25,8 +25,8 @@ function init_node() { echo "[${NODE_MONIKER}] Initializing" cheqd-noded init "${NODE_MONIKER}" --chain-id "${CHAIN_ID}" --home "${NODE_HOME}" 2> /dev/null - cheqd-noded tendermint show-node-id --home "${NODE_HOME}" > "${NODE_HOME}/node_id.txt" - cheqd-noded tendermint show-validator --home "${NODE_HOME}" > "${NODE_HOME}/node_val_pubkey.txt" + cheqd-noded tendermint show-node-id --home "${NODE_HOME}" 2>&1 > "${NODE_HOME}/node_id.txt" 2>&1 + cheqd-noded tendermint show-validator --home "${NODE_HOME}" 2>&1 > "${NODE_HOME}/node_val_pubkey.txt" 2>&1 } function configure_node() { @@ -64,6 +64,7 @@ function configure_genesis() { # Short voting period sed -i $SED_EXT 's/"voting_period": "172800s"/"voting_period": "12s"/' "${GENESIS}" + sed -i $SED_EXT 's/"expedited_voting_period": "86400s"/"expedited_voting_period": "10s"/' "${GENESIS}" # Test accounts BASE_ACCOUNT_1="cheqd1rnr5jrt4exl0samwj0yegv99jeskl0hsxmcz96" @@ -205,8 +206,8 @@ do cheqd-noded keys list --keyring-backend "test" --home "${NODE_HOME}" cheqd-noded genesis add-genesis-account "operator-$i" 20000000000000000ncheq --keyring-backend "test" --home "${NODE_HOME}" - NODE_ID=$(cheqd-noded tendermint show-node-id --home "${NODE_HOME}") - NODE_VAL_PUBKEY=$(cheqd-noded tendermint show-validator --home "${NODE_HOME}") + NODE_ID=$(cheqd-noded tendermint show-node-id --home "${NODE_HOME}" 2>&1) + NODE_VAL_PUBKEY=$(cheqd-noded tendermint show-validator --home "${NODE_HOME}" 2>&1) cheqd-noded genesis gentx "operator-$i" 1000000000000000ncheq --chain-id "${CHAIN_ID}" --node-id "${NODE_ID}" \ --pubkey "${NODE_VAL_PUBKEY}" --keyring-backend "test" --home "${NODE_HOME}" diff --git a/docker/localnet/gen-network-config.sh b/docker/localnet/gen-network-config.sh index 6b7467524..3749df7d9 100644 --- a/docker/localnet/gen-network-config.sh +++ b/docker/localnet/gen-network-config.sh @@ -25,8 +25,8 @@ function init_node() { echo "[${NODE_MONIKER}] Initializing" cheqd-noded init "${NODE_MONIKER}" --chain-id "${CHAIN_ID}" --home "${NODE_HOME}" 2> /dev/null - cheqd-noded tendermint show-node-id --home "${NODE_HOME}" > "${NODE_HOME}/node_id.txt" - cheqd-noded tendermint show-validator --home "${NODE_HOME}" > "${NODE_HOME}/node_val_pubkey.txt" + cheqd-noded tendermint show-node-id --home "${NODE_HOME}" > "${NODE_HOME}/node_id.txt" 2>&1 + cheqd-noded tendermint show-validator --home "${NODE_HOME}" > "${NODE_HOME}/node_val_pubkey.txt" 2>&1 } function configure_node() { @@ -64,6 +64,7 @@ function configure_genesis() { # Short voting period sed -i $SED_EXT 's/"voting_period": "172800s"/"voting_period": "12s"/' "${GENESIS}" + sed -i $SED_EXT 's/"expedited_voting_period": "86400s"/"expedited_voting_period": "10s"/' "${GENESIS}" # Test accounts BASE_ACCOUNT_1="cheqd1rnr5jrt4exl0samwj0yegv99jeskl0hsxmcz96" @@ -204,8 +205,8 @@ do cheqd-noded keys list --keyring-backend "test" --home "${NODE_HOME}" cheqd-noded genesis add-genesis-account "operator-$i" 20000000000000000ncheq --keyring-backend "test" --home "${NODE_HOME}" - NODE_ID=$(cheqd-noded tendermint show-node-id --home "${NODE_HOME}") - NODE_VAL_PUBKEY=$(cheqd-noded tendermint show-validator --home "${NODE_HOME}") + NODE_ID=$(cheqd-noded tendermint show-node-id --home "${NODE_HOME}" 2>&1) + NODE_VAL_PUBKEY=$(cheqd-noded tendermint show-validator --home "${NODE_HOME}" 2>&1) cheqd-noded genesis gentx "operator-$i" 1000000000000000ncheq --chain-id "${CHAIN_ID}" --node-id "${NODE_ID}" \ --pubkey "${NODE_VAL_PUBKEY}" --keyring-backend "test" --home "${NODE_HOME}" diff --git a/go.mod b/go.mod index 680fdf376..9693606b5 100644 --- a/go.mod +++ b/go.mod @@ -10,8 +10,8 @@ require ( cosmossdk.io/math v1.5.3 cosmossdk.io/tools/confix v0.1.2 filippo.io/edwards25519 v1.1.0 + github.com/cheqd/cheqd-node/api/v2 v2.0.0-00010101000000-000000000000 github.com/cometbft/cometbft v0.38.12 - github.com/cometbft/cometbft-db v0.11.0 github.com/cosmos/cosmos-proto v1.0.0-beta.5 github.com/cosmos/cosmos-sdk v0.50.13 github.com/cosmos/gogoproto v1.7.0 @@ -37,11 +37,12 @@ require ( github.com/stretchr/testify v1.10.0 google.golang.org/genproto/googleapis/api v0.0.0-20240814211410-ddb44dafa142 google.golang.org/grpc v1.67.1 - google.golang.org/protobuf v1.36.1 + google.golang.org/protobuf v1.36.5 ) require ( github.com/bits-and-blooms/bitset v1.8.0 // indirect + github.com/cometbft/cometbft-db v0.11.0 // indirect github.com/creachadair/atomicfile v0.3.3 // indirect github.com/creachadair/tomledit v0.0.26 // indirect github.com/hashicorp/golang-lru/v2 v2.0.7 // indirect @@ -54,7 +55,7 @@ require ( cloud.google.com/go/compute/metadata v0.5.0 // indirect cloud.google.com/go/iam v1.1.9 // indirect cloud.google.com/go/storage v1.41.0 // indirect - cosmossdk.io/collections v0.4.0 // indirect + cosmossdk.io/collections v0.4.0 cosmossdk.io/depinject v1.1.0 cosmossdk.io/log v1.4.1 cosmossdk.io/store v1.1.1 diff --git a/go.sum b/go.sum index 1112879ce..c20fff6fa 100644 --- a/go.sum +++ b/go.sum @@ -1759,8 +1759,8 @@ google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQ google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= google.golang.org/protobuf v1.28.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= google.golang.org/protobuf v1.30.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= -google.golang.org/protobuf v1.36.1 h1:yBPeRvTftaleIgM3PZ/WBIZ7XM/eEYAaEyCwvyjq/gk= -google.golang.org/protobuf v1.36.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= +google.golang.org/protobuf v1.36.5 h1:tPhr+woSbjfYvY6/GPufUoYizxw1cF/yFoxJ2fmpwlM= +google.golang.org/protobuf v1.36.5/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= diff --git a/go.work.sum b/go.work.sum index 8ce9158e9..1ab77b942 100644 --- a/go.work.sum +++ b/go.work.sum @@ -1,1501 +1,412 @@ 4d63.com/gocheckcompilerdirectives v1.2.1/go.mod h1:yjDJSxmDTtIHHCqX0ufRYZDL6vQtMG7tJdKVeWwsqvs= -4d63.com/gochecknoglobals v0.1.0/go.mod h1:wfdC5ZjKSPr7CybKEcgJhUOgeAQW1+7WcyK8OvUilfo= 4d63.com/gochecknoglobals v0.2.1/go.mod h1:KRE8wtJB3CXCsb1xy421JfTHIIbmT3U5ruxw2Qu8fSU= -bitbucket.org/creachadair/shell v0.0.6/go.mod h1:8Qqi/cYk7vPnsOePHroKXDJYmb5x7ENhtiFtfZq8K+M= -cel.dev/expr v0.15.0/go.mod h1:TRSuuV7DlVCE/uwv5QbAiW/v8l5O8C4eEPHeu7gf7Sg= cel.dev/expr v0.16.0/go.mod h1:TRSuuV7DlVCE/uwv5QbAiW/v8l5O8C4eEPHeu7gf7Sg= -cloud.google.com/go v0.0.0-20170206221025-ce650573d812/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -cloud.google.com/go v0.60.0/go.mod h1:yw2G51M9IfRboUH61Us8GqCeF1PzPblB823Mn2q2eAU= -cloud.google.com/go v0.110.10/go.mod h1:v1OoFqYxiBkUrruItNM3eT4lLByNjxmJSV/xDKJNnic= -cloud.google.com/go v0.111.0/go.mod h1:0mibmpKP1TyOOFYQY5izo0LnT+ecvOQ0Sg3OdmMiNRU= -cloud.google.com/go v0.112.1/go.mod h1:+Vbu+Y1UU+I1rjmzeMOb/8RfkKJK2Gyxi1X6jJCZLo4= -cloud.google.com/go v0.112.2/go.mod h1:iEqjp//KquGIJV/m+Pk3xecgKNhV+ry+vVTsy4TbDms= -cloud.google.com/go/accessapproval v1.7.6/go.mod h1:bdDCS3iLSLhlK3pu8lJClaeIVghSpTLGChl1Ihr9Fsc= cloud.google.com/go/accessapproval v1.7.8/go.mod h1:7xkMRHJmgTAb08b6mKdyYTfPBTwiw4XvnI1l+jTvrdk= -cloud.google.com/go/accesscontextmanager v1.8.6/go.mod h1:rMC0Z8pCe/JR6yQSksprDc6swNKjMEvkfCbaesh+OS0= cloud.google.com/go/accesscontextmanager v1.8.8/go.mod h1:XmIMhWxcTG9GTEAOBm3geKRKdVxM35FY10FSBS8zaDs= -cloud.google.com/go/aiplatform v1.66.0/go.mod h1:bPQS0UjaXaTAq57UgP3XWDCtYFOIbXXpkMsl6uP4JAc= cloud.google.com/go/aiplatform v1.68.0/go.mod h1:105MFA3svHjC3Oazl7yjXAmIR89LKhRAeNdnDKJczME= -cloud.google.com/go/analytics v0.23.1/go.mod h1:N+piBUJo0RfnVTa/u8E/d31jAxxQaHlnoJfUx0dechM= cloud.google.com/go/analytics v0.23.3/go.mod h1:oZsWmFn+JlADKC2gc6/LYXYPh6gx+K14tymvQuT3sS4= -cloud.google.com/go/apigateway v1.6.6/go.mod h1:bFH3EwOkeEC+31wVxKNuiadhk2xa7y9gJ3rK4Mctq6o= cloud.google.com/go/apigateway v1.6.8/go.mod h1:j383LuqwSSi7WFJwQj8zRTsU9vCiR+GkWUHlJ6GerR0= -cloud.google.com/go/apigeeconnect v1.6.6/go.mod h1:j8V/Xj51tEUl/cWnqwlolPvCpHj5OvgKrHEGfmYXG9Y= cloud.google.com/go/apigeeconnect v1.6.8/go.mod h1:+XjRq6uKsjrswBCZf+BCWY7u0gJ9mRP9c34qqGVQBAw= -cloud.google.com/go/apigeeregistry v0.8.4/go.mod h1:oA6iN7olOol8Rc28n1qd2q0LSD3ro2pdf/1l/y8SK4E= cloud.google.com/go/apigeeregistry v0.8.6/go.mod h1:Pvk3LJqhxKgkTyynwYK7MuJCbkTG0/JbisSazyu77FM= -cloud.google.com/go/apikeys v0.6.0/go.mod h1:kbpXu5upyiAlGkKrJgQl8A0rKNNJ7dQ377pdroRSSi8= -cloud.google.com/go/appengine v1.8.6/go.mod h1:J0Vk696gUey9gbmTub3Qe4NYPy6qulXMkfwcQjadFnM= cloud.google.com/go/appengine v1.8.8/go.mod h1:l9QQeNodTtyhYz8Sd3cTZrocgj4y7yap5t6b9XD74HQ= -cloud.google.com/go/area120 v0.8.6/go.mod h1:sjEk+S9QiyDt1fxo75TVut560XZLnuD9lMtps0qQSH0= cloud.google.com/go/area120 v0.8.8/go.mod h1:L/VYdKO0xpgWvRgVwH4fiGIN2wBuBGHu15bSs1FnSRw= -cloud.google.com/go/artifactregistry v1.14.8/go.mod h1:1UlSXh6sTXYrIT4kMO21AE1IDlMFemlZuX6QS+JXW7I= cloud.google.com/go/artifactregistry v1.14.10/go.mod h1:i1jzotcdypXuEx6oG7+y0moY7TWR+wBaOu6VA3fGefU= -cloud.google.com/go/asset v1.18.1/go.mod h1:QXivw0mVqwrhZyuX6iqFbyfCdzYE9AFCJVG47Eh5dMM= cloud.google.com/go/asset v1.19.2/go.mod h1:JJbMl9L3cWvgiBC0vRUl/uUJ1KLJD1zw4pKRsV/wQSI= -cloud.google.com/go/assuredworkloads v1.11.6/go.mod h1:1dlhWKocQorGYkspt+scx11kQCI9qVHOi1Au6Rw9srg= cloud.google.com/go/assuredworkloads v1.11.8/go.mod h1:VDrDAh06vxYbpTJQEcZf9ueXb2S++Bm3F2Tw+liBJBk= -cloud.google.com/go/auth v0.3.0/go.mod h1:lBv6NKTWp8E3LPzmO1TbiiRKc4drLOfHsgmlH9ogv5w= -cloud.google.com/go/auth v0.4.1/go.mod h1:QVBuVEKpCn4Zp58hzRGvL0tjRGU0YqdRTdCHM1IHnro= -cloud.google.com/go/automl v1.13.6/go.mod h1:/0VtkKis6KhFJuPzi45e0E+e9AdQE09SNieChjJqU18= cloud.google.com/go/automl v1.13.8/go.mod h1:8O5i0OHiqRSnucux40rSMOfnBIarGxLMTQMOjpGxbB8= -cloud.google.com/go/baremetalsolution v1.2.5/go.mod h1:CImy7oNMC/7vLV1Ig68Og6cgLWuVaghDrm+sAhYSSxA= cloud.google.com/go/baremetalsolution v1.2.7/go.mod h1:KvhbjdZzE1SR/GpgsE90pNWiglDY1vjzClYHB3NZseE= -cloud.google.com/go/batch v1.8.3/go.mod h1:mnDskkuz1h+6i/ra8IMhTf8HwG8GOswSRKPJdAOgSbE= cloud.google.com/go/batch v1.8.8/go.mod h1:PvTk3Rq5mf6RFcQtF9MZEsv9LG9aUjlUuqlq6IJ866o= -cloud.google.com/go/beyondcorp v1.0.5/go.mod h1:lFRWb7i/w4QBFW3MbM/P9wX15eLjwri/HYvQnZuk4Fw= cloud.google.com/go/beyondcorp v1.0.7/go.mod h1:qiWZ0SIhhAB7wn5Vun0bNKdexl596QclVwWEUL+keK8= -cloud.google.com/go/bigquery v1.60.0/go.mod h1:Clwk2OeC0ZU5G5LDg7mo+h8U7KlAa5v06z5rptKdM3g= cloud.google.com/go/bigquery v1.61.0/go.mod h1:PjZUje0IocbuTOdq4DBOJLNYB0WF3pAKBHzAYyxCwFo= -cloud.google.com/go/billing v1.18.4/go.mod h1:hECVHwfls2hhA/wrNVAvZ48GQzMxjWkQRq65peAnxyc= cloud.google.com/go/billing v1.18.6/go.mod h1:3aQtpAKmI0wPI4Dcele7cp87jg59EjOA37y7iGrRLIc= -cloud.google.com/go/binaryauthorization v1.8.2/go.mod h1:/v3/F2kBR5QmZBnlqqzq9QNwse8OFk+8l1gGNUzjedw= cloud.google.com/go/binaryauthorization v1.8.4/go.mod h1:q0t7+U6A4mv7UAtps89kiJ8TlSAIACUJABZH7jE+7uk= -cloud.google.com/go/certificatemanager v1.8.0/go.mod h1:5qq/D7PPlrMI+q9AJeLrSoFLX3eTkLc9MrcECKrWdIM= cloud.google.com/go/certificatemanager v1.8.2/go.mod h1:x/OhbhxXrbAzPfLLN/tECrkgfnfg6qr6decH1V21/kQ= -cloud.google.com/go/channel v1.17.6/go.mod h1:fr0Oidb2mPfA0RNcV+JMSBv5rjpLHjy9zVM5PFq6Fm4= cloud.google.com/go/channel v1.17.8/go.mod h1:xWbsExBg6rzMyUtQa2oaX8n3sdROQuWXLNoZp8X7ssI= -cloud.google.com/go/cloudbuild v1.16.0/go.mod h1:CCWnqxLxEdh8kpOK83s3HTNBTpoIFn/U9j8DehlUyyA= cloud.google.com/go/cloudbuild v1.16.2/go.mod h1:CJuhrizzeQ79ryNUO0d227lHf5lqigvDngl4hvYwXiw= -cloud.google.com/go/clouddms v1.7.5/go.mod h1:O4GVvxKPxbXlVfxkoUIXi8UAwwIHoszYm32dJ8tgbvE= cloud.google.com/go/clouddms v1.7.7/go.mod h1:ikAo+Ekli1/xPaZvuP/9rmsgd34oEk6OndgNEdC2KRA= -cloud.google.com/go/cloudtasks v1.12.7/go.mod h1:I6o/ggPK/RvvokBuUppsbmm4hrGouzFbf6fShIm0Pqc= cloud.google.com/go/cloudtasks v1.12.9/go.mod h1:ep1IV7Vud6LNy9JjJiYCcb/or8SO2h/He1gPQgF5Uqw= -cloud.google.com/go/compute v1.23.3/go.mod h1:VCgBUoMnIVIR0CscqQiPJLAG25E3ZRZMzcFZeQ+h8CI= -cloud.google.com/go/compute v1.24.0/go.mod h1:kw1/T+h/+tK2LJK0wiPPx1intgdAM3j/g3hFDlscY40= -cloud.google.com/go/compute v1.25.1 h1:ZRpHJedLtTpKgr3RV1Fx23NuaAEN1Zfx9hw1u4aJdjU= -cloud.google.com/go/compute v1.25.1/go.mod h1:oopOIR53ly6viBYxaDhBfJwzUAxf1zE//uf3IB011ls= cloud.google.com/go/compute v1.27.1 h1:0WbBLIPNANheCRZ4h8QhgzjN53KMutbiVBOLtPiVzBU= cloud.google.com/go/compute v1.27.1/go.mod h1:UVWm+bWKEKoM+PW2sZycP1Jgk3NhKwR2Iy2Cnp/G40I= -cloud.google.com/go/compute/metadata v0.2.3/go.mod h1:VAV5nSsACxMJvgaAuX6Pk2AawlZn8kiOGuCv6gTkwuA= -cloud.google.com/go/contactcenterinsights v1.13.1/go.mod h1:/3Ji8Rr1GS6d+/MOwlXM2gZPSuvTKIFyf8OG+7Pe5r8= cloud.google.com/go/contactcenterinsights v1.13.3/go.mod h1:W7J0KTaHlvbL4l0ZkoTmgkKRPN3LxkdGSVQnv2CQ9js= -cloud.google.com/go/container v1.35.0/go.mod h1:02fCocALhTHLw4zwqrRaFrztjoQd53yZWFq0nvr+hQo= cloud.google.com/go/container v1.37.1/go.mod h1:8zwisvfdwqsXB/0TSxoUhTrfTrlfDV0pK9hcDtyFQ1c= -cloud.google.com/go/containeranalysis v0.11.5/go.mod h1:DlgF5MaxAmGdq6F9wCUEp/JNx9lsr6QaQONFd4mxG8A= cloud.google.com/go/containeranalysis v0.11.7/go.mod h1:1xt9ZDhrB9py0gThDIg0Lq6AXVsFHKbXKYlqNAVhjcc= -cloud.google.com/go/datacatalog v1.20.0/go.mod h1:fSHaKjIroFpmRrYlwz9XBB2gJBpXufpnxyAKaT4w6L0= cloud.google.com/go/datacatalog v1.20.2/go.mod h1:OfoVR0QchMp2iwull28uaCkXsULClrVCe/Y5aBhwJpg= -cloud.google.com/go/dataflow v0.9.6/go.mod h1:nO0hYepRlPlulvAHCJ+YvRPLnL/bwUswIbhgemAt6eM= cloud.google.com/go/dataflow v0.9.8/go.mod h1:0doO1EqzYcU/EAt/BsCZl+iOd9i/FwNGon6IgDBxAJU= -cloud.google.com/go/dataform v0.9.3/go.mod h1:c/TBr0tqx5UgBTmg3+5DZvLxX+Uy5hzckYZIngkuU/w= cloud.google.com/go/dataform v0.9.5/go.mod h1:5FCHfsQNNmVvQJeI5XP7ftiOPlgHmYz4NUUhmCPrHag= -cloud.google.com/go/datafusion v1.7.6/go.mod h1:cDJfsWRYcaktcM1xfwkBOIccOaWJ5mG3zm95EaLtINA= cloud.google.com/go/datafusion v1.7.8/go.mod h1:VVkTWac1XVCVdf2nzlU68OvoDO7uc0E58pR1Q5zq8JQ= -cloud.google.com/go/datalabeling v0.8.6/go.mod h1:8gVcLufcZg0hzRnyMkf3UvcUen2Edo6abP6Rsz2jS6Q= cloud.google.com/go/datalabeling v0.8.8/go.mod h1:68L3luQpu2/KIQxK+B8ChR7c8id8wT7/txJNddsHpq0= -cloud.google.com/go/dataplex v1.15.0/go.mod h1:R5rUQ3X18d6wcMraLOUIOTEULasL/1nvSrNF7C98eyg= cloud.google.com/go/dataplex v1.17.0/go.mod h1:pSJPr0n+iu2/YKre2cRDwvdLrVg8EwGg483LB0AxA/g= -cloud.google.com/go/dataproc v1.8.0/go.mod h1:5OW+zNAH0pMpw14JVrPONsxMQYMBqJuzORhIBfBn9uI= -cloud.google.com/go/dataproc v1.12.0/go.mod h1:zrF3aX0uV3ikkMz6z4uBbIKyhRITnxvr4i3IjKsKrw4= -cloud.google.com/go/dataproc/v2 v2.4.1/go.mod h1:HrymsaRUG1FjK2G1sBRQrHMhgj5+ENUIAwRbL130D8o= cloud.google.com/go/dataproc/v2 v2.5.0/go.mod h1:VV8BisKb9NpQsd/8XOriS5K0wpIlecTBrBm0ntvQ/g0= -cloud.google.com/go/dataqna v0.8.6/go.mod h1:3u2zPv3VwMUNW06oTRcSWS3+dDuxF/0w5hEWUCsLepw= cloud.google.com/go/dataqna v0.8.8/go.mod h1:DXb55JvGZN6EH3gvwu0JEbJvadxXOGL6grkhqP9y3QA= -cloud.google.com/go/datastore v1.15.0/go.mod h1:GAeStMBIt9bPS7jMJA85kgkpsMkvseWWXiaHya9Jes8= cloud.google.com/go/datastore v1.17.1/go.mod h1:mtzZ2HcVtz90OVrEXXGDc2pO4NM1kiBQy8YV4qGe0ZM= -cloud.google.com/go/datastream v1.10.5/go.mod h1:BmIPX19K+Pjho3+sR7Jtddmf+vluzLgaG7465xje/wg= cloud.google.com/go/datastream v1.10.7/go.mod h1:wNlOxMpOCP/uaV+0O0PC5wlCmpHGDUhyRGQ5RBZAvSw= -cloud.google.com/go/deploy v1.17.2/go.mod h1:kKSAl1mab0Y27XlWGBrKNA5WOOrKo24KYzx2JRAfBL4= cloud.google.com/go/deploy v1.19.1/go.mod h1:y2DyvlK02aUlUFjDwTbEfOMTH29IGAjSniSGw+MceVM= -cloud.google.com/go/dialogflow v1.52.0/go.mod h1:mMh76X5D0Tg48PjGXaCveHpeKDnKz+dpwGln3WEN7DQ= cloud.google.com/go/dialogflow v1.54.1/go.mod h1:SDAvjPxEwb+DTRlxkCu0B5qilt0HtaV2GeoUBysvgCQ= -cloud.google.com/go/dlp v1.12.1/go.mod h1:RBUw3yjNSVcFoU8L4ECuxAx0lo1MrusfA4y46bp9vLw= cloud.google.com/go/dlp v1.14.1/go.mod h1:nY5sIxqHm2APxYUpAoq8xOMtHLjFyBYUNbYjjnBptqY= -cloud.google.com/go/documentai v1.26.1/go.mod h1:ljZB6yyT/aKZc9tCd0WGtBxIMWu8ZCEO6UiNwirqLU0= cloud.google.com/go/documentai v1.30.2/go.mod h1:nMh79XZZ6dkXWZlh60vmyFPf9AySGM0QCYFJA39I2IU= -cloud.google.com/go/domains v0.9.6/go.mod h1:hYaeMxsDZED5wuUwYHXf89+aXHJvh41+os8skywd8D4= cloud.google.com/go/domains v0.9.8/go.mod h1:CJzupa3+HxdkCSn6hXu0tcdcsbZS2ZNK1zfSA+FqfPM= -cloud.google.com/go/edgecontainer v1.2.0/go.mod h1:bI2foS+2fRbzBmkIQtrxNzeVv3zZZy780PFF96CiVxA= cloud.google.com/go/edgecontainer v1.2.2/go.mod h1:PwFM/JBBTJ1pXSNNHD+NCMEhZylPOy1FCXuYCbl7ACk= cloud.google.com/go/errorreporting v0.3.0/go.mod h1:xsP2yaAp+OAW4OIm60An2bbLpqIhKXdWR/tawvl7QzU= -cloud.google.com/go/essentialcontacts v1.6.7/go.mod h1:5577lqt2pvnx9n4zP+eJSSWL02KLmQvjJPYknHdAbZg= cloud.google.com/go/essentialcontacts v1.6.9/go.mod h1:wS/7YcnVzn82DqBv9lOQoHZpWOdgwGbWk02QH1460dU= -cloud.google.com/go/eventarc v1.13.5/go.mod h1:wrZcXnSOZk/AVbBYT5GpOa5QPuQFzSxiXKsKnynoPes= cloud.google.com/go/eventarc v1.13.7/go.mod h1:yslFvubtw7PovgFr/Gg8GrqcOfJBAU4D5Qveds4vOzA= -cloud.google.com/go/filestore v1.8.2/go.mod h1:QU7EKJP/xmCtzIhxNVLfv/k1QBKHXTbbj9512kwUT1I= cloud.google.com/go/filestore v1.8.4/go.mod h1:GnZEiebr0Eru+BALoYDsuOyqSzM4EV7n5HpCaXT0RT8= cloud.google.com/go/firestore v1.15.0/go.mod h1:GWOxFXcv8GZUtYpWHw/w6IuYNux/BtmeVTMmjrm4yhk= -cloud.google.com/go/functions v1.16.1/go.mod h1:WcQy3bwDw6KblOuj+khLyQbsi8aupUrZUrPEKTtVaSQ= cloud.google.com/go/functions v1.16.3/go.mod h1:Uk3Bu1mv6+f27PHh+yOjMAMB0u4LRkn7dxsdHBZmPKM= -cloud.google.com/go/gaming v1.8.0/go.mod h1:xAqjS8b7jAVW0KFYeRUxngo9My3f33kFmua++Pi+ggM= -cloud.google.com/go/gaming v1.9.0/go.mod h1:Fc7kEmCObylSWLO334NcO+O9QMDyz+TKC4v1D7X+Bc0= -cloud.google.com/go/gkebackup v1.4.0/go.mod h1:FpsE7Qcio7maQ5bPMvacN+qoXTPWrxHe4fm44RWa67U= cloud.google.com/go/gkebackup v1.5.1/go.mod h1:FCz8M70up0yEwLXBmVJRckYoOh9x/eTo8aymJcdrMu4= -cloud.google.com/go/gkeconnect v0.8.6/go.mod h1:4/o9sXLLsMl2Rw2AyXjtVET0RMk4phdFJuBX45jRRHc= cloud.google.com/go/gkeconnect v0.8.8/go.mod h1:S3UvXOu5vxZmeBU8YkpHMbcjsi9d0HDuJ+fB6ofHwKs= -cloud.google.com/go/gkehub v0.14.6/go.mod h1:SD3/ihO+7/vStQEwYA1S/J9mouohy7BfhM/gGjAmJl0= cloud.google.com/go/gkehub v0.14.8/go.mod h1:Tdd33Wg3Jeehu4mIt9Fkm/ryy5wtJ8a3bjnzEnuY8UU= -cloud.google.com/go/gkemulticloud v1.1.2/go.mod h1:QhdIrilhqieDJJzOyfMPBqcfDVntENYGwqSeX2ZuIDE= cloud.google.com/go/gkemulticloud v1.2.1/go.mod h1:9VT+++rL2+x7o9+hc0R4CO4ywFzqlvISPZxPM93p+pw= -cloud.google.com/go/grafeas v0.3.4/go.mod h1:A5m316hcG+AulafjAbPKXBO/+I5itU4LOdKO2R/uDIc= -cloud.google.com/go/grafeas v0.3.6/go.mod h1:to6ECAPgRO2xeqD8ISXHc70nObJuaKZThreQOjeOH3o= -cloud.google.com/go/gsuiteaddons v1.6.6/go.mod h1:JmAp1/ojGgHtSe5d6ZPkOwJbYP7An7DRBkhSJ1aer8I= cloud.google.com/go/gsuiteaddons v1.6.8/go.mod h1:hxW23+rb48hDo82PVJJzWCHyOy7AyqgnZ8SnEUovIAE= -cloud.google.com/go/iam v1.1.5/go.mod h1:rB6P/Ic3mykPbFio+vo7403drjlgvoWfYpJhMXEbzv8= -cloud.google.com/go/iam v1.1.7/go.mod h1:J4PMPg8TtyurAUvSmPj8FF3EDgY1SPRZxcUGrn7WXGA= -cloud.google.com/go/iap v1.9.5/go.mod h1:4zaAOm66mId/50vqRF7ZPDeCjvHQJSVAXD/mkUWo4Zk= cloud.google.com/go/iap v1.9.7/go.mod h1:H/hF8BM9BMHRoHek60UMnJcNZpnMLdQYwc1L4OvFomk= -cloud.google.com/go/ids v1.4.6/go.mod h1:EJ1554UwEEs8HCHVnXPGn21WouM0uFvoq8UvEEr2ng4= cloud.google.com/go/ids v1.4.8/go.mod h1:uW399c5bbwB5/YykcO2uQNwl3l+r6oMPEN2p9BmxCTY= -cloud.google.com/go/iot v1.7.6/go.mod h1:IMhFVfRGn5OqrDJ9Obu0rC5VIr2+SvSyUxQPHkXYuW0= cloud.google.com/go/iot v1.7.8/go.mod h1:WKcw6vyfKlHKWdT3Sht8IhcK2iMydEK0Qv4Mwy3p1ms= -cloud.google.com/go/kms v1.15.8/go.mod h1:WoUHcDjD9pluCg7pNds131awnH429QGvRM3N/4MyoVs= cloud.google.com/go/kms v1.18.1/go.mod h1:fOsmW0fzDVYXM0AOJWmpB0gFVOVgC33giwYi0kcTdBA= -cloud.google.com/go/language v1.12.4/go.mod h1:Us0INRv/CEbrk2s8IBZcHaZjSBmK+bRlX4FUYZrD4I8= cloud.google.com/go/language v1.12.6/go.mod h1:zbac+SstgMxDAOY5iCMeq5mKNkEYjposny9ZpdVUhMU= -cloud.google.com/go/lifesciences v0.9.6/go.mod h1:BkNWYU0tPZbwpy76RE4biZajWFe6NvWwEAaIlNiKXdE= cloud.google.com/go/lifesciences v0.9.8/go.mod h1:3wKB6HF0My17uQ+bnReWumKiDksYnV3ItF4+bAA6IbQ= -cloud.google.com/go/logging v1.9.0/go.mod h1:1Io0vnZv4onoUnsVUQY3HZ3Igb1nBchky0A0y7BBBhE= cloud.google.com/go/logging v1.10.0/go.mod h1:EHOwcxlltJrYGqMGfghSet736KR3hX1MAj614mrMk9I= -cloud.google.com/go/longrunning v0.5.5/go.mod h1:WV2LAxD8/rg5Z1cNW6FJ/ZpX4E4VnDnoTk0yawPBB7s= -cloud.google.com/go/longrunning v0.5.6/go.mod h1:vUaDrWYOMKRuhiv6JBnn49YxCPz2Ayn9GqyjaBT8/mA= -cloud.google.com/go/longrunning v0.5.7/go.mod h1:8GClkudohy1Fxm3owmBGid8W0pSgodEMwEAztp38Xng= cloud.google.com/go/longrunning v0.5.8/go.mod h1:oJDErR/mm5h44gzsfjQlxd6jyjFvuBPOxR1TLy2+cQk= -cloud.google.com/go/managedidentities v1.6.6/go.mod h1:0+0qF22qx8o6eeaZ/Ku7HmHv9soBHD1piyNHgAP+c20= cloud.google.com/go/managedidentities v1.6.8/go.mod h1:Gl4bBPT4LV1vwWMHp+RNBWJA7P8e5bArg0YDbdERB3o= -cloud.google.com/go/maps v1.7.1/go.mod h1:fri+i4pO41ZUZ/Nrz3U9hNEtXsv5SROMFP2AwAHFSX8= cloud.google.com/go/maps v1.11.2/go.mod h1:YzCIVDLDAAZQt+sTl+hZxanOmKc4v8aFSWZfxMdKAqw= -cloud.google.com/go/mediatranslation v0.8.6/go.mod h1:zI2ZvRRtrGimH572cwYtmq8t1elKbUGVVw4MAXIC4UQ= cloud.google.com/go/mediatranslation v0.8.8/go.mod h1:/2BevZygMTb57aSW5xxDnFkl/ohrs8T8O2+f5qGhMsE= -cloud.google.com/go/memcache v1.10.6/go.mod h1:4elGf6MwGszZCM0Yopp15qmBoo+Y8M7wg7QRpSM8pzA= cloud.google.com/go/memcache v1.10.8/go.mod h1:ryDp9chCUWXkTYYNiTEE0o/RBjGrcThZ/EOb+iW/TMo= -cloud.google.com/go/metastore v1.13.5/go.mod h1:dmsJzIdQcJrpmRGhEaii3EhVq1JuhI0bxSBoy7A8hcQ= cloud.google.com/go/metastore v1.13.7/go.mod h1:eQA2VqSDe1ooVQs8hteKUCBYf3wRlMAJiXZ+ru3QpnU= -cloud.google.com/go/monitoring v1.18.1/go.mod h1:52hTzJ5XOUMRm7jYi7928aEdVxBEmGwA0EjNJXIBvt8= cloud.google.com/go/monitoring v1.20.0/go.mod h1:5oUy5KllE4yxpztDJuzq/VVck0Q0cn/ykC98C9MXux0= -cloud.google.com/go/networkconnectivity v1.14.5/go.mod h1:Wy28mxRApI1uVwA9iHaYYxGNe74cVnSP311bCUJEpBc= cloud.google.com/go/networkconnectivity v1.14.7/go.mod h1:hdX86Gs4t3ZDv91Q7XFOxtWd9hcpkmZgVFoRoLDNsrU= -cloud.google.com/go/networkmanagement v1.13.0/go.mod h1:LcwkOGJmWtjM4yZGKfN1kSoEj/OLGFpZEQefWofHFKI= cloud.google.com/go/networkmanagement v1.13.3/go.mod h1:UVyvulpb1cOu2DfAHkxOGJTBVOC7nxjhaCKi3HMm70I= -cloud.google.com/go/networksecurity v0.9.6/go.mod h1:SZB02ji/2uittsqoAXu9PBqGG9nF9PuxPgtezQfihSA= cloud.google.com/go/networksecurity v0.9.8/go.mod h1:8wCm5we0Aqf9ORfCUunupx5ipdfGFTL+PTTkYoBIFjE= -cloud.google.com/go/notebooks v1.11.4/go.mod h1:vtqPiCQMv++HOfQMzyE46f4auCB843rf20KEQW2zZKM= cloud.google.com/go/notebooks v1.11.6/go.mod h1:JoKKqNBlcs2f2K4L/Ao6FAUZI0Yw0j2cZOSRQFcHk8Q= -cloud.google.com/go/optimization v1.6.4/go.mod h1:AfXfr2vlBXCF9RPh/Jpj46FhXR5JiWlyHA0rGI5Eu5M= cloud.google.com/go/optimization v1.6.6/go.mod h1:qFLRJ5h7HD9YydjM8F+uKkU++MHCvrGyakgiHSkL1KE= -cloud.google.com/go/orchestration v1.9.1/go.mod h1:yLPB2q/tdlEheIiZS7DAPKHeXdf4qNTlKAJCp/2EzXA= cloud.google.com/go/orchestration v1.9.3/go.mod h1:6cOnot26ereouYWqhm5k8fX1dysq+e71bEjYro+8RYA= -cloud.google.com/go/orgpolicy v1.12.2/go.mod h1:XycP+uWN8Fev47r1XibYjOgZod8SjXQtZGsO2I8KXX8= cloud.google.com/go/orgpolicy v1.12.4/go.mod h1:lHr1a8OmY3aA+WMvNyX+ckZ47r5vp+NI1eeC0zKTQCs= -cloud.google.com/go/osconfig v1.12.6/go.mod h1:2dcXGl5qNbKo6Hjsnqbt5t6H2GX7UCAaPjF6BwDlFq8= cloud.google.com/go/osconfig v1.12.8/go.mod h1:GF1mHXXkpBlMhuHkZo58PPtbMEVapeNvT/wLYwjR+5g= -cloud.google.com/go/oslogin v1.13.2/go.mod h1:U8Euw2VeOEhJ/NE/0Q8xpInxi0J1oo2zdRNNVA/ba7U= cloud.google.com/go/oslogin v1.13.4/go.mod h1:ae2K89lAr0zkWP7CCqdGiCBZTis1ymCM0xhmpUfaQYY= -cloud.google.com/go/phishingprotection v0.8.6/go.mod h1:OSnaLSZryNaS80qVzArfi2/EoNWEeTSutTiWA/29xKU= cloud.google.com/go/phishingprotection v0.8.8/go.mod h1:TjMWRJeTs/3TAVCuzhp6oQ+ng8FWz7PKmgJ8b2+eXkM= -cloud.google.com/go/policytroubleshooter v1.10.4/go.mod h1:kSp7PKn80ttbKt8SSjQ0Z/pYYug/PFapxSx2Pr7xjf0= cloud.google.com/go/policytroubleshooter v1.10.6/go.mod h1:mEYX75+EvMAoJVNqpJ88hcZjPiUTmOsjlaGpDu/ZrD0= -cloud.google.com/go/privatecatalog v0.9.6/go.mod h1:BTwLqXfNzM6Tn4cTjzYj8avfw9+h/N68soYuTrYXL9I= cloud.google.com/go/privatecatalog v0.9.8/go.mod h1:ki1VWJTD/fSDJibXDmrm9Mn+Tzrl3sQZq4pZh3VBU+c= -cloud.google.com/go/pubsub v1.5.0/go.mod h1:ZEwJccE3z93Z2HWvstpri00jOg7oO4UZDtKhwDwqF0w= -cloud.google.com/go/pubsub v1.37.0/go.mod h1:YQOQr1uiUM092EXwKs56OPT650nwnawc+8/IjoUeGzQ= cloud.google.com/go/pubsub v1.40.0/go.mod h1:BVJI4sI2FyXp36KFKvFwcfDRDfR8MiLT8mMhmIhdAeA= -cloud.google.com/go/pubsublite v1.8.1/go.mod h1:fOLdU4f5xldK4RGJrBMm+J7zMWNj/k4PxwEZXy39QS0= cloud.google.com/go/pubsublite v1.8.2/go.mod h1:4r8GSa9NznExjuLPEJlF1VjOPOpgf3IT6k8x/YgaOPI= -cloud.google.com/go/recaptchaenterprise/v2 v2.12.0/go.mod h1:4TohRUt9x4hzECD53xRFER+TJavgbep6riguPnsr4oQ= cloud.google.com/go/recaptchaenterprise/v2 v2.13.1/go.mod h1:z7FFKUnrk8oKc5WwLnuj6ae3uOjZGYY7tf4FIRjQD3Y= -cloud.google.com/go/recommendationengine v0.8.6/go.mod h1:ratALtVdAkofp0vDzpkL87zJcTymiQLc7fQyohRKWoA= cloud.google.com/go/recommendationengine v0.8.8/go.mod h1:XHm+7adVfxfllhSTUbKyhdqzFyk15lbeCqaULzpT5LM= -cloud.google.com/go/recommender v1.12.2/go.mod h1:9YizZzqpUtJelRv0pw2bfl3+3i5bTwL/FuAucj15WJc= cloud.google.com/go/recommender v1.12.4/go.mod h1:ZA02CeWOdH3Pw377pofqtdrIkN+Wh4vnZdDHl08KR/c= -cloud.google.com/go/redis v1.14.3/go.mod h1:YtYX9QC98d3LEI9GUixwZ339Niw6w5xFcxLRruuFuss= cloud.google.com/go/redis v1.16.1/go.mod h1:KI+VIUVSXZUmbCkhCbbGitRqZGLmlz9BAhAyHgBTRE4= -cloud.google.com/go/resourcemanager v1.9.6/go.mod h1:d+XUOGbxg6Aka3lmC4fDiserslux3d15uX08C6a0MBg= cloud.google.com/go/resourcemanager v1.9.8/go.mod h1:L3cVnfsZ1Wsw4f9hBNmZ7O1/ahJRPn8Ltg03ifaqsIw= -cloud.google.com/go/resourcesettings v1.6.6/go.mod h1:t1+N03/gwNuKyOqpnACg/hWNL7ujT8mQYGqOzxOjFVE= cloud.google.com/go/resourcesettings v1.7.1/go.mod h1:f2WI2DpFghwCHYfyht0vMX2UKqJ9FRbXixXHBT3BmFQ= -cloud.google.com/go/retail v1.16.1/go.mod h1:xzHOcNrzFB5aew1AjWhZAPnHF2oCGqt7hMmTlrzQqAs= cloud.google.com/go/retail v1.17.1/go.mod h1:UXtxpeokEUhbMRgq2dJH08Z5QTZgRzYR6sGES87xDkA= -cloud.google.com/go/run v1.3.6/go.mod h1:/ou4d0u5CcK5/44Hbpd3wsBjNFXmn6YAWChu+XAKwSU= cloud.google.com/go/run v1.3.8/go.mod h1:dFsJfGTEVGW37sCqzJ/kLMmRS2/wfwGsUMOEuv0ryL0= -cloud.google.com/go/scheduler v1.10.7/go.mod h1:AfKUtlPF0D2xtfWy+k6rQFaltcBeeoSOY7XKQkWs+1s= cloud.google.com/go/scheduler v1.10.9/go.mod h1:nhiBshhr2jJggklptGgj33DF+aQ3/4CWaTeazS/8Qm0= -cloud.google.com/go/secretmanager v1.12.0/go.mod h1:Y1Gne3Ag+fZ2TDTiJc8ZJCMFbi7k1rYT4Rw30GXfvlk= cloud.google.com/go/secretmanager v1.13.2/go.mod h1:rB3lORY7QZrjACov35PX0KXMM0bKlbkL0/eFlS312wk= -cloud.google.com/go/security v1.15.6/go.mod h1:UMEAGVBMqE6xZvkCR1FvUIeBEmGOCRIDwtwT357xmok= cloud.google.com/go/security v1.17.1/go.mod h1:i/v+U4Jxs8mTFXmB/eYIYBdRl7mFmeo3VrcFw+r6e9o= -cloud.google.com/go/securitycenter v1.28.0/go.mod h1:kmS8vAIwPbCIg7dDuiVKF/OTizYfuWe5f0IIW6NihN8= cloud.google.com/go/securitycenter v1.31.0/go.mod h1:6nVpMYo9Q02wR7ql1L17R1vE2KNvcooSkyKoJWB4Ox4= -cloud.google.com/go/servicecontrol v1.5.0/go.mod h1:qM0CnXHhyqKVuiZnGKrIurvVImCs8gmqWsDoqe9sU1s= -cloud.google.com/go/servicecontrol v1.11.1/go.mod h1:aSnNNlwEFBY+PWGQ2DoM0JJ/QUXqV5/ZD9DOLB7SnUk= -cloud.google.com/go/servicedirectory v1.11.5/go.mod h1:hp2Ix2Qko7hIh5jaFWftbdwKXHQhYPijcGPpLgTVZvw= cloud.google.com/go/servicedirectory v1.11.8/go.mod h1:BCapDXmWzKx42Ffd/j8q7m5GNIH0JkolKhwK2quAm94= -cloud.google.com/go/servicemanagement v1.5.0/go.mod h1:XGaCRe57kfqu4+lRxaFEAuqmjzF0r+gWHjWqKqBvKFo= -cloud.google.com/go/servicemanagement v1.8.0/go.mod h1:MSS2TDlIEQD/fzsSGfCdJItQveu9NXnUniTrq/L8LK4= -cloud.google.com/go/serviceusage v1.4.0/go.mod h1:SB4yxXSaYVuUBYUml6qklyONXNLt83U0Rb+CXyhjEeU= -cloud.google.com/go/serviceusage v1.6.0/go.mod h1:R5wwQcbOWsyuOfbP9tGdAnCAc6B9DRwPG1xtWMDeuPA= -cloud.google.com/go/shell v1.7.6/go.mod h1:Ax+fG/h5TbwbnlhyzkgMeDK7KPfINYWE0V/tZUuuPXo= cloud.google.com/go/shell v1.7.8/go.mod h1:07qTjW9lCuFbkb2G0hzqvNELK5nwT5aSsn6Own/a5bE= -cloud.google.com/go/spanner v1.7.0/go.mod h1:sd3K2gZ9Fd0vMPLXzeCrF6fq4i63Q7aTLW/lBIfBkIk= -cloud.google.com/go/spanner v1.60.0/go.mod h1:D2bOAeT/dC6zsZhXRIxbdYa5nQEYU3wYM/1KN3eg7Fs= cloud.google.com/go/spanner v1.64.0/go.mod h1:TOFx3pb2UwPsDGlE1gTehW+y6YlU4IFk+VdDHSGQS/M= -cloud.google.com/go/speech v1.22.1/go.mod h1:s8C9OLTemdGb4FHX3imHIp5AanwKR4IhdSno0Cg1s7k= cloud.google.com/go/speech v1.23.2/go.mod h1:U3p1TXiaFNMw/bs593/9cx6zehLkhcxx1aTMMnMgefM= -cloud.google.com/go/storage v1.30.1/go.mod h1:NfxhC0UJE1aXSx7CIIbCf7y9HKT7BiccwkR7+P7gN8E= -cloud.google.com/go/storage v1.35.1/go.mod h1:M6M/3V/D3KpzMTJyPOR/HU6n2Si5QdaXYEsng2xgOs8= -cloud.google.com/go/storage v1.40.0/go.mod h1:Rrj7/hKlG87BLqDJYtwR0fbPld8uJPbQ2ucUMY7Ir0g= -cloud.google.com/go/storagetransfer v1.10.5/go.mod h1:086WXPZlWXLfql+/nlmcc8ZzFWvITqfSGUQyMdf5eBk= cloud.google.com/go/storagetransfer v1.10.7/go.mod h1:vc58NUgvigCZtNvmnMPir9QSsOri8yfOIpL4KvNsnnw= -cloud.google.com/go/talent v1.6.7/go.mod h1:OLojlmmygm0wuTqi+UXKO0ZdLHsAedUfDgxDrkIWxTo= cloud.google.com/go/talent v1.6.9/go.mod h1:wvqO09RhWW8EfZBPcG/2FRT9SDbi2vsVXfV+jMzJD/w= -cloud.google.com/go/texttospeech v1.7.6/go.mod h1:nhRJledkoE6/6VvEq/d0CX7nPnDwc/uzfaqePlmiPVE= cloud.google.com/go/texttospeech v1.7.8/go.mod h1:ynSE4aBS/J/hwi8U8Aa+gwtOlwwCeymOniUSrx4eYyg= -cloud.google.com/go/tpu v1.6.6/go.mod h1:T4gCNpT7SO28mMkCVJTWQ3OXAUY3YlScOqU4+5iX2B8= cloud.google.com/go/tpu v1.6.8/go.mod h1:+u/GrLBfe2MAf33D9cyU36dOy7XKtfar4IRrO2k5rCI= -cloud.google.com/go/trace v1.10.6/go.mod h1:EABXagUjxGuKcZMy4pXyz0fJpE5Ghog3jzTxcEsVJS4= cloud.google.com/go/trace v1.10.8/go.mod h1:zu8PHOoxf4f4qUl81OFdVn02fmje7v79wo57Fz7oIPo= -cloud.google.com/go/translate v1.10.2/go.mod h1:M4xIFGUwTrmuhyMMpJFZrBuSOhaX7Fhj4U1//mfv4BE= cloud.google.com/go/translate v1.10.4/go.mod h1:8zF+IIQKPtqi2ebyISjgZDwj095cceaj0dDX2mI9WiU= -cloud.google.com/go/video v1.20.5/go.mod h1:tCaG+vfAM6jmkwHvz2M0WU3KhiXpmDbQy3tBryMo8I0= cloud.google.com/go/video v1.21.1/go.mod h1:m5bJKcdJ9sKTMJO6EWmtLXhmvEWbrDSSmzpo2sxTP9c= -cloud.google.com/go/videointelligence v1.11.6/go.mod h1:b6dd26k4jUM+9evzWxLK1QDwVvoOA1piEYiTDv3jF6w= cloud.google.com/go/videointelligence v1.11.8/go.mod h1:pwQD5fVcMPPAcovgt+ywF1OaLD+V1EDxG7RX4Q+1r4k= -cloud.google.com/go/vision/v2 v2.8.1/go.mod h1:0n3GzR+ZyRVDHTH5koELHFqIw3lXaFdLzlHUvlXNWig= cloud.google.com/go/vision/v2 v2.8.3/go.mod h1:MeN2uM4T5MSOULtIIJEW/Ymr6It6eSP0ZdqCGuGKFXw= -cloud.google.com/go/vmmigration v1.7.6/go.mod h1:HpLc+cOfjHgW0u6jdwcGlOSbkeemIEwGiWKS+8Mqy1M= cloud.google.com/go/vmmigration v1.7.8/go.mod h1:ARowCnYGN1+cFTdMR6FMsUSHuC2v1PmLRM35JfanA8c= -cloud.google.com/go/vmwareengine v1.1.2/go.mod h1:7wZHC+0NM4TnQE8gUpW397KgwccH+fAnc4Lt5zB0T1k= cloud.google.com/go/vmwareengine v1.1.4/go.mod h1:v+UndgfEEMePkZ8eXqzzFODipi/ls657S3MoSLI9JZ4= -cloud.google.com/go/vpcaccess v1.7.6/go.mod h1:BV6tTobbojd2AhrEOBLfywFUJlFU63or5Qgd0XrFsCc= cloud.google.com/go/vpcaccess v1.7.8/go.mod h1:fOd55qBAQiAFPA/hYwnOWgYNjcbvRMxd0rLvvojH/nU= -cloud.google.com/go/webrisk v1.9.6/go.mod h1:YzrDCXBOpnC64+GRRpSXPMQSvR8I4r5YO78y7A/T0Ac= cloud.google.com/go/webrisk v1.9.8/go.mod h1:ywUL9x0E81fft6TYggLWc+HUaCkuhMBl/RHnG8q5d5M= -cloud.google.com/go/websecurityscanner v1.6.6/go.mod h1:zjsc4h9nV1sUxuSMurR2v3gJwWKYorJ+Nanm+1/w6G0= cloud.google.com/go/websecurityscanner v1.6.8/go.mod h1:VyEfLCEjX9PN6mhOzuuuIVKHQ9FLHPKsbSg+KxzTW8k= -cloud.google.com/go/workflows v1.12.5/go.mod h1:KbK5/Ef28G8MKLXcsvt/laH1Vka4CKeQj0I1/wEiByo= cloud.google.com/go/workflows v1.12.7/go.mod h1:W33pjrwjgNIDBYY5xdQfHeUxE3icFjO5x7Fh9kA4P2M= -contrib.go.opencensus.io/exporter/stackdriver v0.13.4/go.mod h1:aXENhDJ1Y4lIg4EUaVTwzvYETVNZk10Pu26tevFKLUc= -cosmossdk.io/api v0.7.0/go.mod h1:kJFAEMLN57y0viszHDPLMmieF0471o5QAwwApa+270M= -cosmossdk.io/client/v2 v2.0.0-beta.1 h1:XkHh1lhrLYIT9zKl7cIOXUXg2hdhtjTPBUfqERNA1/Q= -cosmossdk.io/client/v2 v2.0.0-beta.1/go.mod h1:JEUSu9moNZQ4kU3ir1DKD5eU4bllmAexrGWjmb9k8qU= -cosmossdk.io/depinject v1.0.0/go.mod h1:zxK/h3HgHoA/eJVtiSsoaRaRA2D5U4cJ5thIG4ssbB8= -cosmossdk.io/math v1.1.2/go.mod h1:l2Gnda87F0su8a/7FEKJfFdJrM0JZRXQaohlgJeyQh0= +cosmossdk.io/math v1.5.3 h1:WH6tu6Z3AUCeHbeOSHg2mt9rnoiUWVWaQ2t6Gkll96U= +cosmossdk.io/math v1.5.3/go.mod h1:uqcZv7vexnhMFJF+6zh9EWdm/+Ylyln34IvPnBauPCQ= cosmossdk.io/x/nft v0.1.1/go.mod h1:Kac6F6y2gsKvoxU+fy8uvxRTi4BIhLOor2zgCNQwVgY= dario.cat/mergo v1.0.0/go.mod h1:uNxQE+84aUszobStD9th8a29P2fMDhsBdgRYvZOxGmk= -gioui.org v0.0.0-20210308172011-57750fc8a0a6/go.mod h1:RSH6KIUZ0p2xy5zHDxgAM4zumjgTw83q2ge/PI+yyw8= github.com/4meepo/tagalign v1.3.4/go.mod h1:M+pnkHH2vG8+qhE5bVc/zeP7HS/j910Fwa9TUSyZVI0= -github.com/Abirdcfly/dupword v0.0.7/go.mod h1:K/4M1kj+Zh39d2aotRwypvasonOyAMH1c/IZJzE0dmk= -github.com/Abirdcfly/dupword v0.0.11/go.mod h1:wH8mVGuf3CP5fsBTkfWwwwKTjDnVVCxtU8d8rgeVYXA= github.com/Abirdcfly/dupword v0.0.14/go.mod h1:VKDAbxdY8YbKUByLGg8EETzYSuC4crm9WwI6Y3S0cLI= -github.com/Antonboom/errname v0.1.7/go.mod h1:g0ONh16msHIPgJSGsecu1G/dcF2hlYR/0SddnIAGavU= -github.com/Antonboom/errname v0.1.9/go.mod h1:nLTcJzevREuAsgTbG85UsuiWpMpAqbKD1HNZ29OzE58= github.com/Antonboom/errname v0.1.13/go.mod h1:uWyefRYRN54lBg6HseYCFhs6Qjcy41Y3Jl/dVhA87Ns= -github.com/Antonboom/nilnil v0.1.1/go.mod h1:L1jBqoWM7AOeTD+tSquifKSesRHs4ZdaxvZR+xdJEaI= -github.com/Antonboom/nilnil v0.1.3/go.mod h1:iOov/7gRcXkeEU+EMGpBu2ORih3iyVEiWjeste1SJm8= github.com/Antonboom/nilnil v0.1.9/go.mod h1:iGe2rYwCq5/Me1khrysB4nwI7swQvjclR8/YRPl5ihQ= github.com/Antonboom/testifylint v1.3.1/go.mod h1:NV0hTlteCkViPW9mSR4wEMfwp+Hs1T3dY60bkvSfhpM= -github.com/BurntSushi/toml v1.2.1/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ= -github.com/BurntSushi/toml v1.3.2/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ= github.com/BurntSushi/toml v1.4.0/go.mod h1:ukJfTF/6rtPPRCnwkur4qwRxa8vTRFBF0uk2lLoLwho= github.com/CloudyKit/fastprinter v0.0.0-20200109182630-33d98a066a53/go.mod h1:+3IMCy2vIlbG1XG/0ggNQv0SvxCAIpPM5b1nCz56Xno= github.com/CloudyKit/jet/v6 v6.2.0/go.mod h1:d3ypHeIRNo2+XyqnGA8s+aphtcVpjP5hPwP/Lzo7Ro4= github.com/Crocmagnon/fatcontext v0.2.2/go.mod h1:WSn/c/+MMNiD8Pri0ahRj0o9jVpeowzavOQplBJw6u0= -github.com/DataDog/zstd v1.4.5/go.mod h1:1jcaCB/ufaK+sKp1NBhlGmpz41jOoPQ35bpF36t7BBo= github.com/Djarvur/go-err113 v0.0.0-20210108212216-aea10b59be24/go.mod h1:4UJr5HIiMZrwgkSPdsjy2uOQExX/WEILpIrO9UPGuXs= github.com/GaijinEntertainment/go-exhaustruct/v2 v2.3.0/go.mod h1:b3g59n2Y+T5xmcxJL+UEG2f8cQploZm1mR/v6BW0mU0= -github.com/GaijinEntertainment/go-exhaustruct/v3 v3.2.0/go.mod h1:Nl76DrGNJTA1KJ0LePKBw/vznBX1EHbAZX8mwjR82nI= github.com/GaijinEntertainment/go-exhaustruct/v3 v3.3.0/go.mod h1:ONJg5sxcbsdQQ4pOW8TGdTidT2TMAUy/2Xhr8mrYaao= -github.com/GoogleCloudPlatform/cloudsql-proxy v0.0.0-20190129172621-c8b1d7a94ddf/go.mod h1:aJ4qN3TfrelA6NZ6AXsXRfmEVaYin3EDbSPJrKS8OXo= -github.com/GoogleCloudPlatform/grpc-gcp-go/grpcgcp v1.5.0/go.mod h1:dppbR7CwXD4pgtV9t3wD1812RaLDcBjtblcDF5f1vI0= github.com/HdrHistogram/hdrhistogram-go v1.1.2/go.mod h1:yDgFjdqOqDEKOvasDdhWNXYg9BVp4O+o5f6V/ehm6Oo= -github.com/Joker/hpp v1.0.0/go.mod h1:8x5n+M1Hp5hC0g8okX3sR3vFQwynaX/UgSOM9MeBKzY= github.com/Joker/jade v1.1.3/go.mod h1:T+2WLyt7VH6Lp0TRxQrUYEs64nRc83wkMQrfeIQKduM= -github.com/Masterminds/goutils v1.1.0/go.mod h1:8cTjp+g8YejhMuvIA5y2vz3BpJxksy863GQaJW2MFNU= -github.com/Masterminds/semver v1.4.2/go.mod h1:MB6lktGJrhw8PrUyiEoblNEGEQ+RzHPF078ddwwvV3Y= github.com/Masterminds/semver v1.5.0/go.mod h1:MB6lktGJrhw8PrUyiEoblNEGEQ+RzHPF078ddwwvV3Y= -github.com/Masterminds/semver/v3 v3.2.0/go.mod h1:qvl/7zhW3nngYb5+80sSMF+FG2BjYrf8m9wsX0PNOMQ= -github.com/Masterminds/semver/v3 v3.2.1/go.mod h1:qvl/7zhW3nngYb5+80sSMF+FG2BjYrf8m9wsX0PNOMQ= github.com/Masterminds/semver/v3 v3.3.0/go.mod h1:4V+yj/TJE1HU9XfppCwVMZq3I84lprf4nC11bSS5beM= -github.com/Masterminds/sprig v2.15.0+incompatible/go.mod h1:y6hNFY5UBTIWBxnzTeuNhlNS5hqE0NB0E6fgfo2Br3o= -github.com/Masterminds/sprig v2.22.0+incompatible/go.mod h1:y6hNFY5UBTIWBxnzTeuNhlNS5hqE0NB0E6fgfo2Br3o= -github.com/Microsoft/go-winio v0.5.2/go.mod h1:WpS1mjBmmwHBEWmogvA2mj8546UReBk4v8QkMxJ6pZY= github.com/OpenPeeDeeP/depguard v1.1.1/go.mod h1:JtAMzWkmFEzDPyAd+W0NHl1lvpQKTvT9jnRVsohBKpc= github.com/OpenPeeDeeP/depguard/v2 v2.2.0/go.mod h1:CIzddKRvLBC4Au5aYP/i3nyaWQ+ClszLIuVocRiCYFQ= github.com/ProtonMail/go-crypto v0.0.0-20230828082145-3c4c8a2d2371/go.mod h1:EjAoLdwvbIOoOQr3ihjnSoLZRtE8azugULFRteWMNc0= github.com/Shopify/goreferrer v0.0.0-20220729165902-8cddb4f5de06/go.mod h1:7erjKLwalezA0k99cWs5L11HWOAPNjdUZ6RxH1BXbbM= -github.com/aclements/go-gg v0.0.0-20170118225347-6dbb4e4fefb0/go.mod h1:55qNq4vcpkIuHowELi5C8e+1yUHtoLoOUR9QU5j7Tes= github.com/aclements/go-moremath v0.0.0-20210112150236-f10218a38794/go.mod h1:7e+I0LQFUI9AXWxOfsQROs9xPhoJtbsyWcjJqDd4KPY= -github.com/aead/siphash v1.0.1/go.mod h1:Nywa3cDsYNNK3gaciGTWPwHt0wlpNV15vwmswBAUSII= -github.com/ajg/form v1.5.1/go.mod h1:uL1WgH+h2mgNtvBq0339dVnzXdBETtL2LeUXaIv25UY= -github.com/ajstarks/svgo v0.0.0-20180226025133-644b8db467af/go.mod h1:K08gAheRH3/J6wwsYMMT4xOr94bZjxIelGM0+d/wbFw= -github.com/ajstarks/svgo v0.0.0-20210923152817-c3b6e2f0c527/go.mod h1:K08gAheRH3/J6wwsYMMT4xOr94bZjxIelGM0+d/wbFw= github.com/alecthomas/go-check-sumtype v0.1.4/go.mod h1:WyYPfhfkdhyrdaligV6svFopZV8Lqdzn5pyVBaV6jhQ= -github.com/alecthomas/kingpin/v2 v2.3.2/go.mod h1:0gyi0zQnjuFk8xrkNKamJoyUo382HRL7ATRpFZCw6tE= github.com/alecthomas/kingpin/v2 v2.4.0/go.mod h1:0gyi0zQnjuFk8xrkNKamJoyUo382HRL7ATRpFZCw6tE= github.com/alecthomas/units v0.0.0-20211218093645-b94a6e3cc137/go.mod h1:OMCwj8VM1Kc9e19TLln2VL61YJF0x1XFtfdL4JdbSyE= github.com/alexkohler/nakedret/v2 v2.0.4/go.mod h1:bF5i0zF2Wo2o4X4USt9ntUWve6JbFv02Ff4vlkmS/VU= github.com/alexkohler/prealloc v1.0.0/go.mod h1:VetnK3dIgFBBKmg0YnD9F9x6Icjd+9cvfHR56wJVlKE= github.com/alingse/asasalint v0.0.11/go.mod h1:nCaoMhw7a9kSJObvQyVzNTPBDbNpdocqrSP7t/cW5+I= -github.com/andybalholm/brotli v1.0.2/go.mod h1:loMXtMfwqflxFJPmdbJO0a3KNoPuLBgiu3qAvBg8x/Y= -github.com/andybalholm/brotli v1.0.3/go.mod h1:fO7iG3H7G2nSZ7m0zPUDn85XEX2GTukHGRSepvi9Eig= -github.com/andybalholm/brotli v1.0.4/go.mod h1:fO7iG3H7G2nSZ7m0zPUDn85XEX2GTukHGRSepvi9Eig= github.com/andybalholm/brotli v1.0.5/go.mod h1:fO7iG3H7G2nSZ7m0zPUDn85XEX2GTukHGRSepvi9Eig= -github.com/antihax/optional v0.0.0-20180407024304-ca021399b1a6/go.mod h1:V8iCPQYkqmusNa815XgQio277wI47sdRh1dUOLdyC6Q= -github.com/aokoli/goutils v1.0.1/go.mod h1:SijmP0QR8LtwsmDs8Yii5Z/S4trXFGFC2oO5g9DP+DQ= -github.com/apache/arrow/go/v14 v14.0.2/go.mod h1:u3fgh3EdgN/YQ8cVQRguVW3R+seMybFg8QBQ5LU+eBY= -github.com/apache/arrow/go/v15 v15.0.2/go.mod h1:DGXsR3ajT524njufqf95822i+KTh+yea1jass9YXgjA= -github.com/armon/go-metrics v0.4.1 h1:hR91U9KYmb6bLBYLQjyM+3j+rcd/UhE+G78SFnF8gJA= github.com/armon/go-metrics v0.4.1/go.mod h1:E6amYzXo6aW1tqzoZGT755KkbgrJsSdpwZ+3JqfkOG4= -github.com/armon/go-radix v1.0.0/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= -github.com/ashanbrown/forbidigo v1.3.0/go.mod h1:vVW7PEdqEFqapJe95xHkTfB1+XvZXBFg8t0sG2FIxmI= -github.com/ashanbrown/forbidigo v1.5.1/go.mod h1:Y8j9jy9ZYAEHXdu723cUlraTqbzjKF1MUyfOKL+AjcU= github.com/ashanbrown/forbidigo v1.6.0/go.mod h1:Y8j9jy9ZYAEHXdu723cUlraTqbzjKF1MUyfOKL+AjcU= github.com/ashanbrown/makezero v1.1.1/go.mod h1:i1bJLCRSCHOcOa9Y6MyF2FTfMZMFdHvxKHxgO5Z1axI= -github.com/aws/aws-sdk-go v1.23.20/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= -github.com/aws/aws-sdk-go v1.25.37/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= -github.com/aws/aws-sdk-go v1.36.30/go.mod h1:hcU610XS61/+aQV88ixoOzUoG7v3b31pl2zKMmprdro= -github.com/aws/aws-sdk-go v1.44.203/go.mod h1:aVsgQcEevwlmQ7qHE9I3h+dtQgpqhFB+i8Phjh7fkwI= github.com/aws/aws-sdk-go-v2 v1.9.1/go.mod h1:cK/D0BBs0b/oWPIcX/Z/obahJK1TT7IPVjy53i/mX/4= github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.8.1/go.mod h1:CM+19rL1+4dFWnOQKwDc7H1KwXTz+h61oUSHyhV0b3o= github.com/aws/smithy-go v1.8.0/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/aymerick/douceur v0.2.0/go.mod h1:wlT5vV2O3h55X9m7iVYN0TBM0NH/MmbLnd30/FjWUq4= -github.com/benbjohnson/clock v1.3.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= -github.com/bkielbasa/cyclop v1.2.0/go.mod h1:qOI0yy6A7dYC4Zgsa72Ppm9kONl0RoIlPbzot9mhmeI= github.com/bkielbasa/cyclop v1.2.1/go.mod h1:K/dT/M0FPAiYjBgQGau7tz+3TMh4FWAEqlMhzFWCrgM= -github.com/blang/semver/v4 v4.0.0/go.mod h1:IbckMUScFkM3pff0VJDNKRiT6TG/YpiHIM2yvyW5YoQ= github.com/blizzy78/varnamelen v0.8.0/go.mod h1:V9TzQZ4fLJ1DSrjVDfl89H7aMnTvKkApdHeyESmyR7k= -github.com/bombsimon/wsl/v3 v3.3.0/go.mod h1:st10JtZYLE4D5sC7b8xV4zTKZwAQjCH/Hy2Pm1FNZIc= github.com/bombsimon/wsl/v3 v3.4.0/go.mod h1:KkIB+TXkqy6MvK9BDZVbZxKNYsE1/oLRJbIFtf14qqo= github.com/bombsimon/wsl/v4 v4.2.1/go.mod h1:Xu/kDxGZTofQcDGCtQe9KCzhHphIe0fDuyWTxER9Feo= -github.com/boombuler/barcode v1.0.0/go.mod h1:paBWMcWSl3LHKBqUq+rly7CNSldXjb2rDl3JlRe0mD8= -github.com/boombuler/barcode v1.0.1/go.mod h1:paBWMcWSl3LHKBqUq+rly7CNSldXjb2rDl3JlRe0mD8= -github.com/breml/bidichk v0.2.3/go.mod h1:8u2C6DnAy0g2cEq+k/A2+tr9O1s+vHGxWn0LTc70T2A= -github.com/breml/bidichk v0.2.4/go.mod h1:7Zk0kRFt1LIZxtQdl9W9JwGAcLTTkOs+tN7wuEYGJ3s= github.com/breml/bidichk v0.2.7/go.mod h1:YodjipAGI9fGcYM7II6wFvGhdMYsC5pHDlGzqvEW3tQ= -github.com/breml/errchkjson v0.3.0/go.mod h1:9Cogkyv9gcT8HREpzi3TiqBxCqDzo8awa92zSDFcofU= -github.com/breml/errchkjson v0.3.1/go.mod h1:XroxrzKjdiutFyW3nWhw34VGg7kiMsDQox73yWCGI2U= github.com/breml/errchkjson v0.3.6/go.mod h1:jhSDoFheAF2RSDOlCfhHO9KqhZgAYLyvHe7bRCX8f/U= -github.com/btcsuite/btcd v0.20.1-beta/go.mod h1:wVuoA8VJLEcwgqHBwHmzLRazpKxTv13Px/pDuV7OomQ= -github.com/btcsuite/btcd v0.22.0-beta.0.20220111032746-97732e52810c/go.mod h1:tjmYdS6MLJ5/s0Fj4DbLgSbDHbEqLJrtnHecBFkdz5M= -github.com/btcsuite/btcd v0.23.0 h1:V2/ZgjfDFIygAX3ZapeigkVBoVUtOJKSwrhZdlpSvaA= -github.com/btcsuite/btcd v0.23.0/go.mod h1:0QJIIN1wwIXF/3G/m87gIwGniDMDQqjVn4SZgnFpsYY= -github.com/btcsuite/btcd v0.23.5-0.20231215221805-96c9fd8078fd/go.mod h1:nm3Bko6zh6bWP60UxwoT5LzdGJsQJaPo6HjduXq9p6A= -github.com/btcsuite/btcd v0.24.2/go.mod h1:5C8ChTkl5ejr3WHj8tkQSCmydiMEPB0ZhQhehpq7Dgg= -github.com/btcsuite/btcd/btcec/v2 v2.1.0/go.mod h1:2VzYrv4Gm4apmbVVsSq5bqf1Ec8v56E48Vt0Y/umPgA= -github.com/btcsuite/btcd/btcec/v2 v2.1.3/go.mod h1:ctjw4H1kknNJmRN4iP1R7bTQ+v3GJkZBd6mui8ZsAZE= -github.com/btcsuite/btcd/btcec/v2 v2.2.1/go.mod h1:9/CSmJxmuvqzX9Wh2fXMWToLOHhPd11lSPuIupwTkI8= -github.com/btcsuite/btcd/btcutil v1.0.0/go.mod h1:Uoxwv0pqYWhD//tfTiipkxNfdhG9UrLwaeswfjfdF0A= -github.com/btcsuite/btcd/btcutil v1.1.0/go.mod h1:5OapHB7A2hBBWLm48mmw4MOHNJCcUBTwmWH/0Jn8VHE= -github.com/btcsuite/btcd/btcutil v1.1.5/go.mod h1:PSZZ4UitpLBWzxGd5VGOrLnmOjtPP/a6HaFo12zMs00= -github.com/btcsuite/btcd/chaincfg/chainhash v1.0.0/go.mod h1:7SFka0XMvUgj3hfZtydOrQY2mwhPclbT2snogU7SQQc= -github.com/btcsuite/btcd/chaincfg/chainhash v1.1.0/go.mod h1:7SFka0XMvUgj3hfZtydOrQY2mwhPclbT2snogU7SQQc= -github.com/btcsuite/btclog v0.0.0-20170628155309-84c8d2346e9f/go.mod h1:TdznJufoqS23FtqVCzL0ZqgP5MqXbb4fg/WgDys70nA= -github.com/btcsuite/btcutil v0.0.0-20190425235716-9e5f4b9a998d/go.mod h1:+5NJ2+qvTyV9exUAL/rxXi3DcLg2Ts+ymUAY5y4NvMg= -github.com/btcsuite/go-socks v0.0.0-20170105172521-4720035b7bfd/go.mod h1:HHNXQzUsZCxOoE+CPiyCTO6x34Zs86zZUiwtpXoGdtg= -github.com/btcsuite/goleveldb v0.0.0-20160330041536-7834afc9e8cd/go.mod h1:F+uVaaLLH7j4eDXPRvw78tMflu7Ie2bzYOH4Y8rRKBY= -github.com/btcsuite/goleveldb v1.0.0/go.mod h1:QiK9vBlgftBg6rWQIj6wFzbPfRjiykIEhBH4obrXJ/I= -github.com/btcsuite/snappy-go v0.0.0-20151229074030-0bdef8d06723/go.mod h1:8woku9dyThutzjeg+3xrA5iCpBRH8XEEg3lh6TiUghc= -github.com/btcsuite/snappy-go v1.0.0/go.mod h1:8woku9dyThutzjeg+3xrA5iCpBRH8XEEg3lh6TiUghc= -github.com/btcsuite/websocket v0.0.0-20150119174127-31079b680792/go.mod h1:ghJtEyQwv5/p4Mg4C0fgbePVuGr935/5ddU9Z3TmDRY= -github.com/btcsuite/winsvc v1.0.0/go.mod h1:jsenWakMcC0zFBFurPLEAyrnc/teJEM1O46fmI40EZs= -github.com/bufbuild/buf v1.7.0/go.mod h1:Go40fMAF46PnPLC7jJgTQhAI95pmC0+VtxFKVC0qLq0= github.com/bufbuild/buf v1.15.1/go.mod h1:TQeGKam1QMfHy/xsSnnMpxN3JK5HBb6aNvZj4m52gkE= -github.com/bufbuild/connect-go v1.0.0/go.mod h1:9iNvh/NOsfhNBUH5CtvXeVUskQO1xsrEviH7ZArwZ3I= github.com/bufbuild/connect-go v1.5.2/go.mod h1:GmMJYR6orFqD0Y6ZgX8pwQ8j9baizDrIQMm1/a6LnHk= -github.com/bufbuild/protocompile v0.5.1/go.mod h1:G5iLmavmF4NsYtpZFvE3B/zFch2GIY8+wjsYLR/lc40= -github.com/butuzov/ireturn v0.1.1/go.mod h1:Wh6Zl3IMtTpaIKbmwzqi6olnM9ptYQxxVacMsOEFPoc= github.com/butuzov/ireturn v0.3.0/go.mod h1:A09nIiwiqzN/IoVo9ogpa0Hzi9fex1kd9PSD6edP5ZA= github.com/butuzov/mirror v1.2.0/go.mod h1:DqZZDtzm42wIAIyHXeN8W/qb1EPlb9Qn/if9icBOpdQ= -github.com/bwesterb/go-ristretto v1.2.3/go.mod h1:fUIoIZaG73pV5biE2Blr2xEzDoMj7NFEuV9ekS419A0= github.com/casbin/casbin/v2 v2.37.0/go.mod h1:vByNa/Fchek0KZUgG5wEsl7iFsiviAYKRtgrQfcJqHg= github.com/catenacyber/perfsprint v0.7.1/go.mod h1:/wclWYompEyjUD2FuIIDVKNkqz7IgBIWXIH3V0Zol50= github.com/ccojocar/zxcvbn-go v1.0.2/go.mod h1:g1qkXtUSvHP8lhHp5GrSmTz6uWALGRMQdw6Qnz/hi60= github.com/census-instrumentation/opencensus-proto v0.4.1/go.mod h1:4T9NM4+4Vw91VeyqjLS6ao50K5bOcLKN6Q42XnYaRYw= -github.com/cespare/xxhash/v2 v2.1.2/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= -github.com/cespare/xxhash/v2 v2.2.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= -github.com/charithe/durationcheck v0.0.9/go.mod h1:SSbRIBVfMjCi/kEB6K65XEA83D6prSM8ap1UCpNKtgg= github.com/charithe/durationcheck v0.0.10/go.mod h1:bCWXb7gYRysD1CU3C+u4ceO49LoGOY1C1L6uouGNreQ= -github.com/chavacava/garif v0.0.0-20220630083739-93517212f375/go.mod h1:4m1Rv7xfuwWPNKXlThldNuJvutYM6J95wNuuVmn55To= -github.com/chavacava/garif v0.0.0-20230227094218-b8c73b2037b8/go.mod h1:gakxgyXaaPkxvLw1XQxNGK4I37ys9iBRzNUx/B7pUCo= github.com/chavacava/garif v0.1.0/go.mod h1:XMyYCkEL58DF0oyW4qDjjnPWONs2HBqYKI+UIPD+Gww= -github.com/checkpoint-restore/go-criu/v5 v5.3.0/go.mod h1:E/eQpaFtUKGOOSEBZgmKAcn+zUUwWxqcaKZlF54wK8E= -github.com/cheekybits/is v0.0.0-20150225183255-68e9c0620927/go.mod h1:h/aW8ynjgkuj+NQRlZcDbAbM1ORAbXjXX77sX7T289U= -github.com/chigopher/pathlib v0.12.0/go.mod h1:EJ5UtJ/sK8Nt6q3VWN+EwZLZ3g0afJiG8NegYiQQ/gQ= github.com/chigopher/pathlib v0.19.1/go.mod h1:tzC1dZLW8o33UQpWkNkhvPwL5n4yyFRFm/jL1YGWFvY= -github.com/chromedp/cdproto v0.0.0-20230802225258-3cf4e6d46a89/go.mod h1:GKljq0VrfU4D5yc+2qA6OVr8pmO/MBbPEWqWQ/oqGEs= -github.com/chromedp/chromedp v0.9.2/go.mod h1:LkSXJKONWTCHAfQasKFUZI+mxqS4tZqhmtGzzhLsnLs= -github.com/chromedp/sysutil v1.0.0/go.mod h1:kgWmDdq8fTzXYcKIBqIYvRRTnYb9aNS9moAV0xufSww= -github.com/cilium/ebpf v0.7.0/go.mod h1:/oI2+1shJiTGAMgl6/RgJr36Eo1jzrRcAWbcXO2usCA= github.com/ckaznocha/intrange v0.1.2/go.mod h1:RWffCw/vKBwHeOEwWdCikAtY0q4gGt8VhJZEEA5n+RE= github.com/clbanning/mxj v1.8.4/go.mod h1:BVjHeAH+rl9rs6f+QIpeRl0tfu10SXn1pUSa5PVGJng= -github.com/cloudflare/circl v1.3.3/go.mod h1:5XYMA4rFBvNIrhs50XuiBJ15vF2pZn4nnUKZrLbUZFA= github.com/cloudflare/circl v1.3.7/go.mod h1:sRTcRWXGLrKw6yIGJ+l7amYJFfAXbZG0kBSc8r4zxgA= -github.com/cncf/udpa/go v0.0.0-20220112060539-c52dc94e7fbe/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI= -github.com/cncf/xds/go v0.0.0-20240423153145-555b57ec207b/go.mod h1:W+zGtBO5Y1IgJhy4+A9GOqVhqLpfZi+vwmdNXUehLA8= github.com/cncf/xds/go v0.0.0-20240723142845-024c85f92f20/go.mod h1:W+zGtBO5Y1IgJhy4+A9GOqVhqLpfZi+vwmdNXUehLA8= -github.com/cockroachdb/datadriven v1.0.2/go.mod h1:a9RdTaap04u637JoCzcUoIcDmvwSUtcUFtT/C3kJlTU= -github.com/cockroachdb/pebble v0.0.0-20220817183557-09c6e030a677/go.mod h1:890yq1fUb9b6dGNwssgeUO5vQV9qfXnCPxAJhBQfXw0= -github.com/cockroachdb/pebble v0.0.0-20230525220056-bb4fc9527b3b/go.mod h1:TkdVsGYRqtULUppt2RbC+YaKtTHnHoWa2apfFrSKABw= -github.com/cockroachdb/pebble v1.1.0/go.mod h1:sEHm5NOXxyiAoKWhoFxT8xMgd/f3RA6qUqQ1BXKrh2E= -github.com/cockroachdb/pebble v1.1.1/go.mod h1:4exszw1r40423ZsmkG/09AFEG83I0uDgfujJdbL6kYU= github.com/cockroachdb/sentry-go v0.6.1-cockroachdb.2/go.mod h1:8BT+cPK6xvFOcRlk0R8eg+OTkcqI6baNH4xAkpiYVvQ= github.com/codegangsta/inject v0.0.0-20150114235600-33e0aa1cb7c0/go.mod h1:4Zcjuz89kmFXt9morQgcfYZAYZ5n8WHjt81YYWIwtTM= -github.com/containerd/console v1.0.3/go.mod h1:7LqA/THxQ86k76b8c/EMSiaJ3h1eZkMkXar0TQ1gf3U= -github.com/containerd/containerd v1.6.8/go.mod h1:By6p5KqPK0/7/CgO/A6t/Gz+CUYUu2zf1hUaaymVXB0= -github.com/containerd/typeurl v1.0.2/go.mod h1:9trJWW2sRlGub4wZJRTW83VtbOLS6hwcDZXTn6oPz9s= -github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk= github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= -github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= -github.com/coreos/go-systemd v0.0.0-20190620071333-e64a0ec8b42a/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= -github.com/coreos/go-systemd/v22 v22.3.2/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= -github.com/coreos/go-systemd/v22 v22.3.3-0.20220203105225-a9a7ef127534/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= -github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= -github.com/cosmos/cosmos-db v1.0.0/go.mod h1:iBvi1TtqaedwLdcrZVYRSSCb6eSy61NLj4UNmdIgs0U= -github.com/cosmos/cosmos-proto v1.0.0-beta.1/go.mod h1:8k2GNZghi5sDRFw/scPL8gMSowT1vDA+5ouxL8GjaUE= -github.com/cosmos/cosmos-proto v1.0.0-beta.3/go.mod h1:t8IASdLaAq+bbHbjq4p960BvcTqtwuAxid3b/2rOD6I= -github.com/cosmos/cosmos-proto v1.0.0-beta.4/go.mod h1:oeB+FyVzG3XrQJbJng0EnV8Vljfk9XvTIpGILNU/9Co= -github.com/cosmos/cosmos-sdk/db v1.0.0-beta.1.0.20220726092710-f848e4300a8a/go.mod h1:c8IO23vgNxueCCJlSI9awQtcxsvc+buzaeThB85qfBU= -github.com/cosmos/gogoproto v1.4.1/go.mod h1:Ac9lzL4vFpBMcptJROQ6dQ4M3pOEK5Z/l0Q9p+LoCr4= -github.com/cosmos/gogoproto v1.4.4/go.mod h1:/yl6/nLwsZcZ2JY3OrqjRqvqCG9InUMcXRfRjQiF9DU= -github.com/cosmos/gogoproto v1.4.10/go.mod h1:3aAZzeRWpAwr+SS/LLkICX2/kDFyaYVzckBDzygIxek= -github.com/cosmos/gogoproto v1.4.11/go.mod h1:/g39Mh8m17X8Q/GDEs5zYTSNaNnInBSohtaxzQnYq1Y= -github.com/cosmos/gogoproto v1.5.0/go.mod h1:iUM31aofn3ymidYG6bUR5ZFrk+Om8p5s754eMUcyp8I= -github.com/cosmos/ibc-apps/modules/async-icq/v8 v8.0.0/go.mod h1:D3Q380FpWRFtmUQWLosPxachi6w24Og2t5u/Tww5wtY= -github.com/cosmos/ibc-go/modules/capability v1.0.0 h1:r/l++byFtn7jHYa09zlAdSeevo8ci1mVZNO9+V0xsLE= -github.com/cosmos/ibc-go/modules/capability v1.0.0/go.mod h1:D81ZxzjZAe0ZO5ambnvn1qedsFQ8lOwtqicG6liLBco= -github.com/cosmos/ibc-go/v7 v7.3.0 h1:QtGeVMi/3JeLWuvEuC60sBHpAF40Oenx/y+bP8+wRRw= -github.com/cosmos/ibc-go/v7 v7.3.0/go.mod h1:mUmaHFXpXrEdcxfdXyau+utZf14pGKVUiXwYftRZZfQ= -github.com/cosmos/ibc-go/v8 v8.0.0 h1:QKipnr/NGwc+9L7NZipURvmSIu+nw9jOIWTJuDBqOhg= -github.com/cosmos/ibc-go/v8 v8.0.0/go.mod h1:C6IiJom0F3cIQCD5fKwVPDrDK9j/xTu563AWuOmXois= -github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= -github.com/cpuguy83/go-md2man/v2 v2.0.3/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/creachadair/command v0.1.12/go.mod h1:YKwUE49nAi8qxLl8jCQ0GMPvwdxmIBkJW3LqxgZ7ljk= -github.com/creachadair/taskgroup v0.3.2/go.mod h1:wieWwecHVzsidg2CsUnFinW1faVN4+kq+TDlRJQ0Wbk= -github.com/creack/pty v1.1.11/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= -github.com/cristalhq/acmd v0.8.1/go.mod h1:LG5oa43pE/BbxtfMoImHCQN++0Su7dzipdgBjMCBVDQ= -github.com/cristalhq/acmd v0.12.0/go.mod h1:LG5oa43pE/BbxtfMoImHCQN++0Su7dzipdgBjMCBVDQ= github.com/curioswitch/go-reassign v0.2.0/go.mod h1:x6OpXuWvgfQaMGks2BZybTngWjT84hqJfKoO8Tt/Roc= -github.com/cyphar/filepath-securejoin v0.2.3/go.mod h1:aPGpWjXOXUn2NCNjFvBE6aRxGGx79pTxQpKOJNYHHl4= github.com/cyphar/filepath-securejoin v0.2.4/go.mod h1:aPGpWjXOXUn2NCNjFvBE6aRxGGx79pTxQpKOJNYHHl4= -github.com/daixiang0/gci v0.8.1/go.mod h1:EpVfrztufwVgQRXjnX4zuNinEpLj5OmMjtu/+MB0V0c= -github.com/daixiang0/gci v0.10.1/go.mod h1:xtHP9N7AHdNvtRNfcx9gwTDfw7FRJx4bZUsiEfiNNAI= github.com/daixiang0/gci v0.13.4/go.mod h1:12etP2OniiIdP4q+kjUGrC/rUagga7ODbqsom5Eo5Yk= -github.com/davecgh/go-spew v0.0.0-20161028175848-04cdfd42973b/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/davecgh/go-spew v0.0.0-20171005155431-ecdeabc65495/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/decred/dcrd/dcrec/secp256k1/v4 v4.0.1/go.mod h1:hyedUtir6IdtD/7lIxGeCxkaw7y45JueMRL4DIyJDKs= -github.com/decred/dcrd/lru v1.0.0/go.mod h1:mxKOwFd7lFjN2GZYsiz/ecgqR6kkYAl+0pz0tEMk218= -github.com/denis-tingaikin/go-header v0.4.3/go.mod h1:0wOCWuN71D5qIgE2nz9KrKmuYBAC2Mra5RassOIQ2/c= github.com/denis-tingaikin/go-header v0.5.0/go.mod h1:mMenU5bWrok6Wl2UsZjy+1okegmwQ3UgWl4V1D8gjlY= -github.com/dgraph-io/ristretto v0.0.3/go.mod h1:KPxhHT9ZxKefz+PCeOGsrHpl1qZ7i70dGTu2u+Ahh6E= -github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f/go.mod h1:cuUVRXasLTGF7a8hSLbxyZXjz+1KgoB3wDUb6vlszIc= -github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no= -github.com/djherbis/atime v1.1.0/go.mod h1:28OF6Y8s3NQWwacXc5eZTsEsiMzp7LF8MbXE+XJPdBE= github.com/docker/cli v23.0.1+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= github.com/docker/distribution v2.8.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= -github.com/docker/docker v20.10.19+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= github.com/docker/docker v23.0.1+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= github.com/docker/docker-credential-helpers v0.7.0/go.mod h1:rETQfLdHNT3foU5kuNkFR1R1V12OJRRO5lzt2D1b5X0= -github.com/docker/go-units v0.4.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= -github.com/dvsekhvalnov/jose2go v1.5.0/go.mod h1:QsHjhyTlD/lAVqn/NSbVZmSCGeDehTB/mPZadG+mhXU= github.com/eknkc/amber v0.0.0-20171010120322-cdade1c07385/go.mod h1:0vRUJqYpeSZifjYj7uP3BG/gKcuzL9xWVV/Y+cK33KM= -github.com/emicklei/dot v1.4.2/go.mod h1:DeV7GvQtIw4h2u73RKBkkFdvVAz0D9fzeJrgPW6gy/s= github.com/emirpasic/gods v1.18.1/go.mod h1:8tpGGwCnJ5H4r6BWwaV6OrWmMoPhUl5jm/FMNAnJvWQ= -github.com/envoyproxy/go-control-plane v0.12.0/go.mod h1:ZBTaoJ23lqITozF0M6G4/IragXCQKCnYbmlmtHvwRG0= github.com/envoyproxy/go-control-plane v0.13.0/go.mod h1:GRaKG3dwvFoTg4nj7aXdZnvMg4d7nvT/wl9WgVXn3Q8= -github.com/envoyproxy/protoc-gen-validate v0.0.14/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= -github.com/envoyproxy/protoc-gen-validate v1.0.4/go.mod h1:qys6tmnRsYrQqIhm2bvKZH4Blx/1gTIZ2UKVY1M+Yew= github.com/envoyproxy/protoc-gen-validate v1.1.0/go.mod h1:sXRDRVmzEbkM7CVcM06s9shE/m23dg3wzjl0UWqJ2q4= github.com/esimonov/ifshort v1.0.4/go.mod h1:Pe8zjlRrJ80+q2CxHLfEOfTwxCZ4O+MuhcHcfgNWTk0= -github.com/ettle/strcase v0.1.1/go.mod h1:hzDLsPC7/lwKyBOywSHEP89nt2pDgdy+No1NBA9o9VY= github.com/ettle/strcase v0.2.0/go.mod h1:DajmHElDSaX76ITe3/VHVyMin4LWSJN5Z909Wp+ED1A= -github.com/facebookgo/ensure v0.0.0-20200202191622-63f1cf65ac4c/go.mod h1:Yg+htXGokKKdzcwhuNDwVvN+uBxDGXJ7G/VN1d8fa64= -github.com/facebookgo/stack v0.0.0-20160209184415-751773369052/go.mod h1:UbMTZqLaRiH3MsBH8va0n7s1pQYcu3uTb8G4tygF4Zg= -github.com/facebookgo/subset v0.0.0-20200203212716-c811ad88dec4/go.mod h1:5tD+neXqOorC30/tWg0LCSkrqj/AR6gu8yY8/fpw1q0= -github.com/fatih/color v1.9.0/go.mod h1:eQcE1qtQxscV5RaZvpXrrb8Drkc3/DdQ+uUYCNjL+zU= -github.com/fatih/color v1.10.0/go.mod h1:ELkj/draVOlAH/xkhN6mQ50Qd0MPOk5AAr3maGEBuJM= -github.com/fatih/color v1.14.1/go.mod h1:2oHN61fhTpgcxD3TSWCgKDiH1+x4OiDVVGH8WlgGZGg= -github.com/fatih/color v1.16.0/go.mod h1:fL2Sau1YI5c0pdGEVCbKQbLXB6edEj1ZgiY4NijnWvE= github.com/fatih/structs v1.1.0/go.mod h1:9NiDSp5zOcgEDl+j00MP/WkGVPOlPRLejGD8Ga6PJ7M= github.com/fatih/structtag v1.2.0/go.mod h1:mBJUNpUnHmRKrKlQQlmCrh5PuhftFbNv8Ys4/aAZl94= github.com/felixge/fgprof v0.9.3/go.mod h1:RdbpDgzqYVh/T9fPELJyV7EYJuHB55UTEULNun8eiPw= -github.com/felixge/httpsnoop v1.0.3/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= -github.com/firefart/nonamedreturns v1.0.4/go.mod h1:TDhe/tjI1BXo48CmYbUduTV7BdIga8MAO/xbKdcVsGI= github.com/firefart/nonamedreturns v1.0.5/go.mod h1:gHJjDqhGM4WyPt639SOZs+G89Ko7QKH5R5BhnO6xJhw= github.com/flosch/pongo2/v4 v4.0.2/go.mod h1:B5ObFANs/36VwxxlgKpdchIJHMvHB562PW+BWPhwZD8= -github.com/fogleman/gg v1.2.1-0.20190220221249-0403632d5b90/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k= -github.com/fogleman/gg v1.3.0/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k= -github.com/frankban/quicktest v1.11.3/go.mod h1:wRf/ReqHper53s+kmmSZizM8NamnL3IM0I9ntUbOk+k= -github.com/frankban/quicktest v1.14.4/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0= -github.com/fsnotify/fsnotify v1.5.4/go.mod h1:OVB6XrOHzAwXMpEM7uPOzcehqUV2UqJxmVXmkdnm1bU= -github.com/fullstorydev/grpcurl v1.6.0/go.mod h1:ZQ+ayqbKMJNhzLmbpCiurTVlaK2M/3nqZCxaQ2Ze/sM= github.com/fzipp/gocyclo v0.6.0/go.mod h1:rXPyn8fnlpa0R2csP/31uerbiVBugk5whMdlyaLkLoA= -github.com/getsentry/sentry-go v0.18.0/go.mod h1:Kgon4Mby+FJ7ZWHFUAZgVaIa8sxHtnRJRLTXZr51aKQ= -github.com/getsentry/sentry-go v0.23.0/go.mod h1:lc76E2QywIyW8WuBnwl8Lc4bkmQH4+w1gwTf25trprY= github.com/ghemawat/stream v0.0.0-20171120220530-696b145b53b9/go.mod h1:106OIgooyS7OzLDOpUGgm9fA3bQENb/cFSyyBmMoJDs= github.com/ghostiam/protogetter v0.3.6/go.mod h1:7lpeDnEJ1ZjL/YtyoN99ljO4z0pd3H0d18/t2dPBxHw= -github.com/go-chi/chi/v5 v5.0.7/go.mod h1:DslCQbL2OYiznFReuXYUmQ2hGd1aDpCnlMNITLSKoi8= github.com/go-chi/chi/v5 v5.0.8/go.mod h1:DslCQbL2OYiznFReuXYUmQ2hGd1aDpCnlMNITLSKoi8= -github.com/go-critic/go-critic v0.6.5/go.mod h1:ezfP/Lh7MA6dBNn4c6ab5ALv3sKnZVLx37tr00uuaOY= -github.com/go-critic/go-critic v0.7.0/go.mod h1:moYzd7GdVXE2C2hYTwd7h0CPcqlUeclsyBRwMa38v64= github.com/go-critic/go-critic v0.11.4/go.mod h1:2QAdo4iuLik5S9YG0rT4wcZ8QxwHYkrr6/2MWAiv/vc= -github.com/go-fonts/dejavu v0.1.0/go.mod h1:4Wt4I4OU2Nq9asgDCteaAaWZOV24E+0/Pwo0gppep4g= -github.com/go-fonts/latin-modern v0.2.0/go.mod h1:rQVLdDMK+mK1xscDwsqM5J8U2jrRa3T0ecnM9pNujks= -github.com/go-fonts/liberation v0.1.1/go.mod h1:K6qoJYypsmfVjWg8KOVDQhLc8UDgIK2HYqyqAO9z7GY= -github.com/go-fonts/liberation v0.2.0/go.mod h1:K6qoJYypsmfVjWg8KOVDQhLc8UDgIK2HYqyqAO9z7GY= -github.com/go-fonts/stix v0.1.0/go.mod h1:w/c1f0ldAUlJmLBvlbkvVXLAD+tAMqobIIQpmnUIzUY= github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376/go.mod h1:an3vInlBmSxCcxctByoQdvwPiA7DTK7jaaFDBTtu0ic= github.com/go-git/go-billy/v5 v5.5.0/go.mod h1:hmexnoNsr2SJU1Ju67OaNz5ASJY3+sHgFRpCtpDCKow= github.com/go-git/go-git/v5 v5.11.0/go.mod h1:6GFcX2P3NM7FPBfpePbpLd21XxsgdAt+lKqXmCUiUCY= -github.com/go-kit/log v0.2.0/go.mod h1:NwTd00d/i8cPZ3xOwwiv2PO5MOcx78fFErGNcVmBjv0= -github.com/go-latex/latex v0.0.0-20210118124228-b3d85cf34e07/go.mod h1:CO1AlKB2CSIqUrmQPqA0gdRIlnLEY0gK5JGjh37zN5U= -github.com/go-latex/latex v0.0.0-20210823091927-c0d11ff05a81/go.mod h1:SX0U8uGpxhq9o2S/CELCSUxEWWAuoCUcVCQWv7G2OCk= -github.com/go-logfmt/logfmt v0.5.1/go.mod h1:WYhtIu8zTZfxdn5+rREduYbwxfcBr/Vr6KEVveWlfTs= -github.com/go-logr/logr v1.2.3/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= -github.com/go-logr/logr v1.2.4/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= -github.com/go-logr/logr v1.4.1/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-martini/martini v0.0.0-20170121215854-22fa46961aab/go.mod h1:/P9AEU963A2AYjv4d1V5eVL1CQbEJq6aCNHDDjibzu8= -github.com/go-ole/go-ole v1.2.6/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0= -github.com/go-pdf/fpdf v0.5.0/go.mod h1:HzcnA+A23uwogo0tp9yU+l3V+KXhiESpt1PMayhOh5M= -github.com/go-playground/assert/v2 v2.0.1/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4= -github.com/go-playground/locales v0.14.0/go.mod h1:sawfccIbzZTqEDETgFXqTho0QybSa7l++s0DH+LDiLs= -github.com/go-playground/universal-translator v0.18.0/go.mod h1:UvRDBj+xPUEGrFYl+lu/H90nyDXpg0fqeB/AQUGNTVA= -github.com/go-playground/validator/v10 v10.11.1/go.mod h1:i+3WkQ1FvaUjjxh1kSvIA4dMGDBiPU55YFDl0WbKdWU= -github.com/go-redis/redis v6.15.8+incompatible/go.mod h1:NAIEuMOZ/fxfXJIrKDQDz8wamY7mA7PouImQ2Jvg6kA= -github.com/go-redis/redis/v8 v8.11.5/go.mod h1:gREzHqY1hg6oD9ngVRbLStwAWKhA0FEgq8Jd4h5lpwo= -github.com/go-sql-driver/mysql v1.4.1/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w= -github.com/go-sql-driver/mysql v1.5.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= -github.com/go-sql-driver/mysql v1.6.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= -github.com/go-sql-driver/mysql v1.7.1/go.mod h1:OXbVy3sEdcQ2Doequ6Z5BW6fXNQTmx+9S1MCJN5yJMI= -github.com/go-toolsmith/astcast v1.0.0/go.mod h1:mt2OdQTeAQcY4DQgPSArJjHCcOwlX+Wl/kwN+LbLGQ4= github.com/go-toolsmith/astcast v1.1.0/go.mod h1:qdcuFWeGGS2xX5bLM/c3U9lewg7+Zu4mr+xPwZIB4ZU= -github.com/go-toolsmith/astcopy v1.0.2/go.mod h1:4TcEdbElGc9twQEYpVo/aieIXfHhiuLh4aLAck6dO7Y= github.com/go-toolsmith/astcopy v1.1.0/go.mod h1:hXM6gan18VA1T/daUEHCFcYiW8Ai1tIwIzHY6srfEAw= -github.com/go-toolsmith/astequal v1.0.0/go.mod h1:H+xSiq0+LtiDC11+h1G32h7Of5O3CYFJ99GVbS5lDKY= -github.com/go-toolsmith/astequal v1.0.2/go.mod h1:9Ai4UglvtR+4up+bAD4+hCj7iTo4m/OXVTSLnCyTAx4= -github.com/go-toolsmith/astequal v1.0.3/go.mod h1:9Ai4UglvtR+4up+bAD4+hCj7iTo4m/OXVTSLnCyTAx4= -github.com/go-toolsmith/astequal v1.1.0/go.mod h1:sedf7VIdCL22LD8qIvv7Nn9MuWJruQA/ysswh64lffQ= github.com/go-toolsmith/astequal v1.2.0/go.mod h1:c8NZ3+kSFtFY/8lPso4v8LuJjdJiUFVnSuU3s0qrrDY= -github.com/go-toolsmith/astfmt v1.0.0/go.mod h1:cnWmsOAuq4jJY6Ct5YWlVLmcmLMn1JUPuQIHCY7CJDw= github.com/go-toolsmith/astfmt v1.1.0/go.mod h1:OrcLlRwu0CuiIBp/8b5PYF9ktGVZUjlNMV634mhwuQ4= -github.com/go-toolsmith/astp v1.0.0/go.mod h1:RSyrtpVlfTFGDYRbrjyWP1pYu//tSFcvdYrA8meBmLI= github.com/go-toolsmith/astp v1.1.0/go.mod h1:0T1xFGz9hicKs8Z5MfAqSUitoUYS30pDMsRVIDHs8CA= -github.com/go-toolsmith/pkgload v1.0.2-0.20220101231613-e814995d17c5/go.mod h1:3NAwwmD4uY/yggRxoEjk/S00MIV3A+H7rrE3i87eYxM= -github.com/go-toolsmith/pkgload v1.2.2/go.mod h1:R2hxLNRKuAsiXCo2i5J6ZQPhnPMOVtU+f0arbFPWCus= -github.com/go-toolsmith/strparse v1.0.0/go.mod h1:YI2nUKP9YGZnL/L1/DLFBfixrcjslWct4wyljWhSRy8= github.com/go-toolsmith/strparse v1.1.0/go.mod h1:7ksGy58fsaQkGQlY8WVoBFNyEPMGuJin1rfoPS4lBSQ= -github.com/go-toolsmith/typep v1.0.2/go.mod h1:JSQCQMUPdRlMZFswiq3TGpNp1GMktqkR2Ns5AIQkATU= github.com/go-toolsmith/typep v1.1.0/go.mod h1:fVIw+7zjdsMxDA3ITWnH1yOiw1rnTQKCsF/sk2H/qig= github.com/go-viper/mapstructure/v2 v2.0.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= -github.com/go-xmlfmt/xmlfmt v0.0.0-20191208150333-d5b6f63a941b/go.mod h1:aUCEOzzezBEjDBbFBoSiya/gduyIiWYRP6CnSFIV8AM= github.com/go-xmlfmt/xmlfmt v1.1.2/go.mod h1:aUCEOzzezBEjDBbFBoSiya/gduyIiWYRP6CnSFIV8AM= github.com/go-zookeeper/zk v1.0.2/go.mod h1:nOB03cncLtlp4t+UAkGSV+9beXP/akpekBwL+UX1Qcw= github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJAkT8= -github.com/goccy/go-json v0.9.11/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= -github.com/godbus/dbus/v5 v5.0.6/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= github.com/gofrs/flock v0.8.1/go.mod h1:F1TvTiK9OcQqauNUHlbJvyl9Qa1QvF/gOUDKA14jxHU= -github.com/gofrs/uuid v4.3.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= github.com/gofrs/uuid v4.4.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= github.com/gofrs/uuid/v5 v5.0.0/go.mod h1:CDOjlDMVAtN56jqyRUZh58JT31Tiw7/oQyEXZV+9bD8= -github.com/gogo/googleapis v0.0.0-20180223154316-0cd9801be74a/go.mod h1:gf4bu3Q80BeJ6H1S1vYPm8/ELATdvryBaNFGgqEef3s= -github.com/gogo/protobuf v1.3.0/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o= github.com/gogo/status v1.1.0/go.mod h1:BFv9nrluPLmrS0EmGVvLaPNmRosr9KapBYd5/hpY1WM= -github.com/golang-jwt/jwt v3.2.2+incompatible/go.mod h1:8pz2t5EyA70fFQQSrl6XZXzqecmYZeUEB8OUGHkxJ+I= github.com/golang-jwt/jwt/v4 v4.0.0/go.mod h1:/xlHOz8bRuivTWchD4jCa+NbatV+wEUSzwAxVc6locg= -github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k= -github.com/golang/glog v1.1.2/go.mod h1:zR+okUeTbrL6EL3xHUDxZuEtGv04p5shwip1+mL/rLQ= -github.com/golang/glog v1.2.0/go.mod h1:6AhwSGph0fcJtXVM/PEHPqZlFeoLxhs7/t5UDAwmO+w= -github.com/golang/glog v1.2.1/go.mod h1:6AhwSGph0fcJtXVM/PEHPqZlFeoLxhs7/t5UDAwmO+w= -github.com/golang/glog v1.2.2/go.mod h1:6AhwSGph0fcJtXVM/PEHPqZlFeoLxhs7/t5UDAwmO+w= -github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/protobuf v1.1.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= github.com/golangci/check v0.0.0-20180506172741-cfe4005ccda2/go.mod h1:k9Qvh+8juN+UKMCS/3jFtGICgW8O96FVaZsaxdzDkR4= github.com/golangci/dupl v0.0.0-20180902072040-3e9179ac440a/go.mod h1:ryS0uhF+x9jgbj/N71xsEqODy9BN81/GonCZiOzirOk= github.com/golangci/go-misc v0.0.0-20220329215616-d24fe342adfe/go.mod h1:gjqyPShc/m8pEMpk0a3SeagVb0kaqvhscv+i9jI5ZhQ= -github.com/golangci/gofmt v0.0.0-20220901101216-f2edd75033f2/go.mod h1:9wOXstvyDRshQ9LggQuzBCGysxs3b6Uo/1MvYCR2NMs= github.com/golangci/gofmt v0.0.0-20231018234816-f50ced29576e/go.mod h1:Pm5KhLPA8gSnQwrQ6ukebRcapGb/BG9iUkdaiCcGHJM= -github.com/golangci/golangci-lint v1.50.1/go.mod h1:AQjHBopYS//oB8xs0y0M/dtxdKHkdhl0RvmjUct0/4w= -github.com/golangci/golangci-lint v1.52.0/go.mod h1:wlTh+d/oVlgZC2yCe6nlxrxNAnuhEQC0Zdygoh72Uak= github.com/golangci/golangci-lint v1.59.1/go.mod h1:jX5Oif4C7P0j9++YB2MMJmoNrb01NJ8ITqKWNLewThg= github.com/golangci/lint-1 v0.0.0-20191013205115-297bf364a8e0/go.mod h1:66R6K6P6VWk9I95jvqGxkqJxVWGFy9XlDwLwVz1RCFg= github.com/golangci/maligned v0.0.0-20180506175553-b1d89398deca/go.mod h1:tvlJhZqDe4LMs4ZHD0oMUlt9G2LWuDGoisJTBzLMV9o= -github.com/golangci/misspell v0.3.5/go.mod h1:dEbvlSfYbMQDtrpRMQU675gSDLDNa8sCPPChZ7PhiVA= -github.com/golangci/misspell v0.4.0/go.mod h1:W6O/bwV6lGDxUCChm2ykw9NQdd5bYd1Xkjo88UcWyJc= github.com/golangci/misspell v0.6.0/go.mod h1:keMNyY6R9isGaSAu+4Q8NMBwMPkh15Gtc8UCVoDtAWo= -github.com/golangci/modinfo v0.3.3/go.mod h1:wytF1M5xl9u0ij8YSvhkEVPP3M5Mc7XLl1pxH3B2aUM= github.com/golangci/modinfo v0.3.4/go.mod h1:wytF1M5xl9u0ij8YSvhkEVPP3M5Mc7XLl1pxH3B2aUM= github.com/golangci/plugin-module-register v0.1.1/go.mod h1:TTpqoB6KkwOJMV8u7+NyXMrkwwESJLOkfl9TxR1DGFc= -github.com/golangci/revgrep v0.0.0-20220804021717-745bb2f7c2e6/go.mod h1:0AKcRCkMoKvUvlf89F6O7H2LYdhr1zBh736mBItOdRs= github.com/golangci/revgrep v0.5.3/go.mod h1:U4R/s9dlXZsg8uJmaR1GrloUr14D7qDl8gi2iPXJH8k= -github.com/golangci/unconvert v0.0.0-20180507085042-28b1c447d1f4/go.mod h1:Izgrg8RkN3rCIMLGE9CyYmU9pY2Jer6DgANEnZ/L/cQ= github.com/golangci/unconvert v0.0.0-20240309020433-c5143eacb3ed/go.mod h1:XLXN8bNw4CGRPaqgl3bv/lhz7bsGPh4/xSaMTbo2vkQ= -github.com/gonum/blas v0.0.0-20181208220705-f22b278b28ac/go.mod h1:P32wAyui1PQ58Oce/KYkOqQv8cVw1zAapXOl+dRFGbc= -github.com/gonum/floats v0.0.0-20181209220543-c233463c7e82/go.mod h1:PxC8OnwL11+aosOB5+iEPoV3picfs8tUpkVd0pDo+Kg= -github.com/gonum/internal v0.0.0-20181124074243-f884aa714029/go.mod h1:Pu4dmpkhSyOzRwuXkOgAvijx4o+4YMUJJo9OvPYMkks= -github.com/gonum/lapack v0.0.0-20181123203213-e4cdc5a0bff9/go.mod h1:XA3DeT6rxh2EAE789SSiSJNqxPaC0aE9J8NTOI0Jo/A= -github.com/gonum/matrix v0.0.0-20181209220409-c518dec07be9/go.mod h1:0EXg4mc1CNP0HCqCz+K4ts155PXIlUywf0wqN+GfPZw= -github.com/google/certificate-transparency-go v1.0.21/go.mod h1:QeJfpSbVSfYc7RgB3gJFj9cbuQMMchQxrWXz8Ruopmg= -github.com/google/certificate-transparency-go v1.1.1/go.mod h1:FDKqPvSXawb2ecErVRrD+nfy23RCzyl7eqVCEmlT1Zs= -github.com/google/flatbuffers v23.5.26+incompatible/go.mod h1:1AeVuKshWv4vARoZatz6mlQ0JxURH0Kv5+zNeJKJCa8= -github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8= +github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU= github.com/google/go-containerregistry v0.13.0/go.mod h1:J9FQ+eSS4a1aC2GNZxvNpbWhgp0487v+cgiilB4FqDo= github.com/google/go-pkcs11 v0.2.1-0.20230907215043-c6f79328ddf9/go.mod h1:6eQoGcuNJpa7jnd5pMGdkSaQpNDYvPlXWMcjXXThLlY= -github.com/google/go-querystring v1.1.0/go.mod h1:Kcdr2DB4koayq7X8pmAG4sNG59So17icRSOU623lUBU= -github.com/google/pprof v0.0.0-20200507031123-427632fa3b1c/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20211214055906-6f57359322fd/go.mod h1:KgnwoLYCZ8IQu3XUZ8Nc/bM9CCZFOyjUNOSygVozoDg= -github.com/google/pprof v0.0.0-20230228050547-1710fef4ab10/go.mod h1:79YE0hCXdHag9sBkw2o+N/YnZtTkXi0UT9Nnixa5eYk= -github.com/google/pprof v0.0.0-20240424215950-a892ee059fd6/go.mod h1:kf6iHlnVGwgKolg33glAes7Yg/8iWP8ukqeldJSO7jw= -github.com/google/pprof v0.0.0-20240827171923-fa2c70bbbfe5/go.mod h1:vavhavw2zAxS5dIdcRluK6cSGGPlZynqzFM8NdvU144= -github.com/google/safehtml v0.0.2/go.mod h1:L4KWwDsUJdECRAEpZoBn3O64bQaywRscowZjJAzjHnU= -github.com/google/trillian v1.3.11/go.mod h1:0tPraVHrSDkA3BO6vKX67zgLXs6SsOAbHEivX+9mPgw= -github.com/google/uuid v0.0.0-20161128191214-064e2069ce9c/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/google/uuid v1.4.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/googleapis/gax-go v0.0.0-20161107002406-da06d194a00e h1:CYRpN206UTHUinz3VJoLaBdy1gEGeJNsqT0mvswDcMw= -github.com/googleapis/gax-go v0.0.0-20161107002406-da06d194a00e/go.mod h1:SFVmujtThgffbyetf+mdk2eWhX2bMyUtNHzFKcPA9HY= -github.com/googleapis/gax-go/v2 v2.12.0/go.mod h1:y+aIqrI5eb1YGMVJfuV3185Ts/D7qKpsEkdD5+I6QGU= -github.com/googleapis/gax-go/v2 v2.12.2/go.mod h1:61M8vcyyXR2kqKFxKrfA22jaA8JGF7Dc8App1U3H6jc= -github.com/googleapis/gax-go/v2 v2.12.3/go.mod h1:AKloxT6GtNbaLm8QTNSidHUVsHYcBHwWRvkNFJUQcS4= github.com/googleapis/google-cloud-go-testing v0.0.0-20210719221736-1c9a4c676720/go.mod h1:dvDLG8qkwmyD9a/MJJN3XJcT3xFxOKAvTZGvuZmac9g= -github.com/gookit/color v1.5.4/go.mod h1:pZJOeOS8DM43rXbp4AZo1n9zCU2qjpcRko0b6/QJi9w= -github.com/gordonklaus/ineffassign v0.0.0-20200309095847-7953dde2c7bf/go.mod h1:cuNKsD1zp2v6XfE/orVX2QE1LC+i254ceGcVeDT3pTU= -github.com/gordonklaus/ineffassign v0.0.0-20210914165742-4cc7213b9bc8/go.mod h1:Qcp2HIAYhR7mNUVSIxZww3Guk4it82ghYcEXIAk+QT0= -github.com/gordonklaus/ineffassign v0.0.0-20230107090616-13ace0543b28/go.mod h1:Qcp2HIAYhR7mNUVSIxZww3Guk4it82ghYcEXIAk+QT0= github.com/gordonklaus/ineffassign v0.1.0/go.mod h1:Qcp2HIAYhR7mNUVSIxZww3Guk4it82ghYcEXIAk+QT0= -github.com/gorhill/cronexpr v0.0.0-20180427100037-88b0669f7d75/go.mod h1:g2644b03hfBX9Ov0ZBDgXXens4rxSxmqFBbhvKv2yVA= github.com/gorilla/css v1.0.0/go.mod h1:Dn721qIggHpt4+EFCcTLTU/vk5ySda2ReITrtgBl60c= -github.com/gorilla/securecookie v1.1.1/go.mod h1:ra0sb63/xPlUeL+yeDciTfxMRAA+MP+HVt/4epWDjd4= -github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= -github.com/gostaticanalysis/analysisutil v0.0.0-20190318220348-4088753ea4d3/go.mod h1:eEOZF4jCKGi+aprrirO9e7WKB3beBRtWgqGunKl6pKE= -github.com/gostaticanalysis/analysisutil v0.0.3/go.mod h1:eEOZF4jCKGi+aprrirO9e7WKB3beBRtWgqGunKl6pKE= -github.com/gostaticanalysis/analysisutil v0.1.0/go.mod h1:dMhHRU9KTiDcuLGdy87/2gTR8WruwYZrKdRq9m1O6uw= github.com/gostaticanalysis/analysisutil v0.7.1/go.mod h1:v21E3hY37WKMGSnbsw2S/ojApNWb6C1//mXO48CXbVc= -github.com/gostaticanalysis/comment v1.3.0/go.mod h1:xMicKDx7XRXYdVwY9f9wQpDJVnqWxw9wCauCMKp+IBI= -github.com/gostaticanalysis/comment v1.4.1/go.mod h1:ih6ZxzTHLdadaiSnF5WY3dxUoXfXAlTaRzuaNDlSado= github.com/gostaticanalysis/comment v1.4.2/go.mod h1:KLUTGDv6HOCotCH8h2erHKmpci2ZoR8VPu34YA2uzdM= github.com/gostaticanalysis/forcetypeassert v0.1.0/go.mod h1:qZEedyP/sY1lTGV1uJ3VhWZ2mqag3IkWsDHVbplHXak= github.com/gostaticanalysis/nilerr v0.1.1/go.mod h1:wZYb6YI5YAxxq0i1+VJbY0s2YONW0HU0GPE3+5PWN4A= -github.com/gostaticanalysis/testutil v0.3.1-0.20210208050101-bfb5c8eec0e4/go.mod h1:D+FIZ+7OahH3ePw/izIEeH5I06eKs1IKI4Xr64/Am3M= -github.com/gostaticanalysis/testutil v0.4.0/go.mod h1:bLIoPefWXrRi/ssLFWX1dx7Repi5x3CuviD3dgAZaBU= github.com/gotestyourself/gotestyourself v2.2.0+incompatible/go.mod h1:zZKM6oeNM8k+FRljX1mnzVYeS8wiGgQyvST1/GafPbY= -github.com/gregjones/httpcache v0.0.0-20190611155906-901d90724c79/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA= -github.com/grpc-ecosystem/go-grpc-middleware v1.0.0/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= -github.com/grpc-ecosystem/grpc-gateway v1.9.0/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= -github.com/grpc-ecosystem/grpc-gateway v1.12.1/go.mod h1:8XEsbTttt/W+VvjtQhLACqCisSPWTxCZ7sBRjU6iH9c= -github.com/grpc-ecosystem/grpc-gateway/v2 v2.11.3/go.mod h1:o//XUCC/F+yRGJoPO/VU0GSB0f8Nhgmxx0VIRUvaC0w= github.com/guptarohit/asciigraph v0.5.5/go.mod h1:dYl5wwK4gNsnFf9Zp+l06rFiDZ5YtXM6x7SRWZ3KGag= github.com/hashicorp/consul/api v1.28.2/go.mod h1:KyzqzgMEya+IZPcD65YFoOVAgPpbfERu4I/tzG6/ueE= github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= -github.com/hashicorp/go-getter v1.7.1/go.mod h1:W7TalhMmbPmsSMdNjD0ZskARur/9GJ17cfHTRtXV744= -github.com/hashicorp/go-multierror v1.1.0/go.mod h1:spPvp8C1qA32ftKqdAHm4hHTbPw+vmowP0z+KUhOZdA= github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM= github.com/hashicorp/go-rootcerts v1.0.2/go.mod h1:pqUvnprVnM5bf7AOirdbb01K4ccR319Vf4pU3K5EGc8= -github.com/hashicorp/go-version v1.2.1/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= -github.com/hashicorp/golang-lru v0.5.4/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= -github.com/hashicorp/mdns v1.0.4/go.mod h1:mtBihi+LeNXGtG8L9dX59gAEa12BDtBQSp4v/YAJqrc= -github.com/hashicorp/memberlist v0.5.0/go.mod h1:yvyXLpo0QaGE59Y7hDTsTzDD25JYBZ4mHgHUZ8lrOI0= github.com/hashicorp/serf v0.10.1/go.mod h1:yL2t6BqATOLGc5HF7qbFkTfXoPIY0WZdWHfEvMqbG+4= github.com/hexops/gotextdiff v1.0.3/go.mod h1:pSWU5MAI3yDq+fZBTazCSJysOMbxWL1BSow5/V2vxeg= -github.com/huandu/xstrings v1.0.0/go.mod h1:4qWG/gcEcfX4z/mBDHJ++3ReCw9ibxbsNJbcucJdbSo= -github.com/huandu/xstrings v1.2.0/go.mod h1:DvyZB1rfVYsBIigL8HwpZgxHwXozlTgGqn63UyNX5k4= github.com/huandu/xstrings v1.4.0/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE= github.com/hudl/fargo v1.4.0/go.mod h1:9Ai6uvFy5fQNq6VPKtg+Ceq1+eTY4nKUlR2JElEOcDo= github.com/hydrogen18/memlistener v1.0.0/go.mod h1:qEIFzExnS6016fRpRfxrExeVn2gbClQA99gQhnIcdhE= -github.com/iancoleman/strcase v0.2.0/go.mod h1:iwCmte+B7n89clKwxIoIXy/HfoL7AsD47ZCWhYzw7ho= -github.com/ianlancetaylor/demangle v0.0.0-20210905161508-09a460cdf81d/go.mod h1:aYm2/VgdVmcIU8iMfdMvDMsRAQjcfZSKFby6HOFvi/w= github.com/ianlancetaylor/demangle v0.0.0-20240312041847-bd984b5ce465/go.mod h1:gx7rwoVhcfuVKG5uya9Hs3Sxj7EIvldVofAWIUtGouw= -github.com/imdario/mergo v0.3.4/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= -github.com/imdario/mergo v0.3.8/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= -github.com/imkira/go-interpol v1.1.0/go.mod h1:z0h2/2T3XF8kyEPpRgJ3kmNv+C43p+I/CoI+jC3w2iA= github.com/influxdata/influxdb1-client v0.0.0-20200827194710-b269163b24ab/go.mod h1:qj24IKcXYK6Iy9ceXlo3Tc+vtHo9lIhSX5JddghvEPo= github.com/informalsystems/tm-load-test v1.3.0/go.mod h1:OQ5AQ9TbT5hKWBNIwsMjn6Bf4O0U4b1kRc+0qZlQJKw= -github.com/iris-contrib/go.uuid v2.0.0+incompatible/go.mod h1:iz2lgM/1UnEf1kP0L/+fafWORmlnuysV2EMP8MW+qe0= -github.com/iris-contrib/httpexpect/v2 v2.12.1/go.mod h1:7+RB6W5oNClX7PTwJgJnsQP3ZuUUYB3u61KCqeSgZ88= github.com/iris-contrib/schema v0.0.6/go.mod h1:iYszG0IOsuIsfzjymw1kMzTL8YQcCWlm65f3wX8J5iA= -github.com/jackc/pgpassfile v1.0.0/go.mod h1:CEx0iS5ambNFdcRtxPj5JhEz+xB6uRky5eyVu/W2HEg= -github.com/jackc/pgservicefile v0.0.0-20221227161230-091c0ba34f0a/go.mod h1:5TJZWKEWniPve33vlWYSoGYefn3gLQRzjfDlhSJ9ZKM= -github.com/jackc/pgx/v5 v5.4.3/go.mod h1:Ig06C2Vu0t5qXC60W8sqIthScaEnFvojjj9dSljmHRA= -github.com/jackc/puddle/v2 v2.2.1/go.mod h1:vriiEXHvEE654aYKXXjOvZM39qJ0q+azkZFrfEOc3H4= github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99/go.mod h1:1lJo3i6rXxKeerYnT8Nvf0QmHCRC1n8sfWVwXF2Frvo= -github.com/jdxcode/netrc v0.0.0-20210204082910-926c7f70242a/go.mod h1:Zi/ZFkEqFHTm7qkjyNJjaWH4LQA9LQhGJyF0lTYGpxw= github.com/jdxcode/netrc v0.0.0-20221124155335-4616370d1a84/go.mod h1:Zi/ZFkEqFHTm7qkjyNJjaWH4LQA9LQhGJyF0lTYGpxw= -github.com/jessevdk/go-flags v0.0.0-20141203071132-1679536dcc89/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= -github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= -github.com/jgautheron/goconst v1.5.1/go.mod h1:aAosetZ5zaeC/2EfMeRswtxUFBpe2Hr7HzkgX4fanO4= github.com/jgautheron/goconst v1.7.1/go.mod h1:aAosetZ5zaeC/2EfMeRswtxUFBpe2Hr7HzkgX4fanO4= -github.com/jhump/gopoet v0.0.0-20190322174617-17282ff210b3/go.mod h1:me9yfT6IJSlOL3FCfrg+L6yzUEZ+5jW6WHt4Sk+UPUI= -github.com/jhump/gopoet v0.1.0/go.mod h1:me9yfT6IJSlOL3FCfrg+L6yzUEZ+5jW6WHt4Sk+UPUI= -github.com/jhump/goprotoc v0.5.0/go.mod h1:VrbvcYrQOrTi3i0Vf+m+oqQWk9l72mjkJCYo7UvLHRQ= -github.com/jhump/protocompile v0.0.0-20220216033700-d705409f108f/go.mod h1:qr2b5kx4HbFS7/g4uYO5qv9ei8303JMsC7ESbYiqr2Q= -github.com/jhump/protoreflect v1.6.1/go.mod h1:RZQ/lnuN+zqeRVpQigTwO6o0AJUkxbnSnpuG7toUTG4= -github.com/jhump/protoreflect v1.11.0/go.mod h1:U7aMIjN0NWq9swDP7xDdoMfRHb35uiuTd3Z9nFXJf5E= -github.com/jhump/protoreflect v1.12.1-0.20220721211354-060cc04fc18b/go.mod h1:JytZfP5d0r8pVNLZvai7U/MCuTWITgrI4tTg7puQFKI= github.com/jingyugao/rowserrcheck v1.1.1/go.mod h1:4yvlZSDb3IyDTUZJUmpZfm2Hwok+Dtp+nu2qOq+er9c= github.com/jinzhu/copier v0.3.5/go.mod h1:DfbEm0FYsaqBcKcFuvmOZb218JkPGtvSHsKg8S8hyyg= github.com/jirfag/go-printf-func-name v0.0.0-20200119135958-7558a9eaa5af/go.mod h1:HEWGJkRDzjJY2sqdDwxccsGicWEf9BQOZsq2tV+xzM0= github.com/jjti/go-spancheck v0.6.1/go.mod h1:vF1QkOO159prdo6mHRxak2CpzDpHAfKiPUDP/NeRnX8= -github.com/jmoiron/sqlx v1.2.0/go.mod h1:1FEQNm3xlJgrMD+FBdI9+xvCksHtbpVBBw5dYhBSsks= -github.com/jmoiron/sqlx v1.3.5/go.mod h1:nRVWtLre0KfCLJvgxzCsLVMogSvQ1zNJtpYr2Ccp0mQ= -github.com/jonboulle/clockwork v0.2.0/go.mod h1:Pkfl5aHPm1nk2H9h0bjmnJD/BcgbGXUBGnn1kMkgxc8= github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= -github.com/josharian/txtarfs v0.0.0-20210218200122-0702f000015a/go.mod h1:izVPOvVRsHiKkeGCT6tYBNWyDVuzj9wAaBb5R9qamfw= -github.com/jrick/logrotate v1.0.0/go.mod h1:LNinyqDIJnpAur+b8yyulnQw/wDuN1+BYKlTRt3OuAQ= -github.com/json-iterator/go v1.1.11/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= -github.com/juju/ratelimit v1.0.1/go.mod h1:qapgC/Gy+xNh9UxzV13HGGl/6UXNN+ct+vwSgWNm/qk= github.com/julz/importas v0.1.0/go.mod h1:oSFU2R4XK/P7kNBrnL/FEQlDGN1/6WoxXEjSSXO0DV0= -github.com/jung-kurt/gofpdf v1.0.0/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes= -github.com/jung-kurt/gofpdf v1.0.3-0.20190309125859-24315acbbda5/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes= github.com/junk1tm/musttag v0.5.0/go.mod h1:PcR7BA+oREQYvHwgjIDmw3exJeds5JzRcvEJTfjrA0M= -github.com/k0kubun/colorstring v0.0.0-20150214042306-9440f1994b88/go.mod h1:3w7q1U84EfirKl04SVQ/s7nPm1ZPhiXd34z40TNz36k= github.com/karamaru-alpha/copyloopvar v1.1.0/go.mod h1:u7CIfztblY0jZLOQZgH3oYsJzpC2A7S6u/lfgSXHy0k= github.com/kataras/blocks v0.0.7/go.mod h1:UJIU97CluDo0f+zEjbnbkeMRlvYORtmc1304EeyXf4I= github.com/kataras/golog v0.1.8/go.mod h1:rGPAin4hYROfk1qT9wZP6VY2rsb4zzc37QpdPjdkqVw= github.com/kataras/iris/v12 v12.2.0/go.mod h1:BLzBpEunc41GbE68OUaQlqX4jzi791mx5HU04uPb90Y= -github.com/kataras/jwt v0.1.8/go.mod h1:Q5j2IkcIHnfwy+oNY3TVWuEBJNw0ADgCcXK9CaZwV4o= -github.com/kataras/neffos v0.0.21/go.mod h1:FeGka8lu8cjD2H+0OpBvW8c6xXawy3fj5VX6xcIJ1Fg= github.com/kataras/pio v0.0.11/go.mod h1:38hH6SWH6m4DKSYmRhlrCJ5WItwWgCVrTNU62XZyUvI= github.com/kataras/sitemap v0.0.6/go.mod h1:dW4dOCNs896OR1HmG+dMLdT7JjDk7mYBzoIRwuj5jA4= github.com/kataras/tunnel v0.0.4/go.mod h1:9FkU4LaeifdMWqZu7o20ojmW4B7hdhv2CMLwfnHGpYw= github.com/kevinburke/ssh_config v1.2.0/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF4nAY/ojJ6r6mM= -github.com/kisielk/errcheck v1.6.2/go.mod h1:nXw/i/MfnvRHqXa7XXmQMUB0oNFGuBrNI8d8NLy0LPw= -github.com/kisielk/errcheck v1.6.3/go.mod h1:nXw/i/MfnvRHqXa7XXmQMUB0oNFGuBrNI8d8NLy0LPw= github.com/kisielk/errcheck v1.7.0/go.mod h1:1kLL+jV4e+CFfueBmI1dSK2ADDyQnlrnrY/FqKluHJQ= -github.com/kkHAIKE/contextcheck v1.1.3/go.mod h1:PG/cwd6c0705/LM0KTr1acO2gORUxkSVWyLJOFW5qoo= -github.com/kkHAIKE/contextcheck v1.1.4/go.mod h1:1+i/gWqokIa+dm31mqGLZhZJ7Uh44DJGZVmr6QRBNJg= github.com/kkHAIKE/contextcheck v1.1.5/go.mod h1:O930cpht4xb1YQpK+1+AgoM3mFsvxr7uyFptcnWTYUA= -github.com/kkdai/bstream v0.0.0-20161212061736-f391b8402d23/go.mod h1:J+Gs4SYgM6CZQHDETBtE9HaSEkGmuNXF86RwHhHUvq4= -github.com/klauspost/compress v1.13.4/go.mod h1:8dP1Hq4DHOhN9w426knH3Rhby4rFm6D8eO+e+Dq5Gzg= -github.com/klauspost/compress v1.13.5/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk= -github.com/klauspost/compress v1.15.0/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk= -github.com/klauspost/compress v1.15.9/go.mod h1:PhcZ0MbTNciWF3rruxRgKxI5NkcHHrHUDtV4Yw2GlzU= -github.com/klauspost/compress v1.15.15/go.mod h1:ZcK2JAFqKOpnBlxcLsJzYfrS9X1akm9fHZNnD9+Vo/4= -github.com/klauspost/compress v1.16.0/go.mod h1:ntbaceVETuRiXiv4DpjP66DpAtAGkEQskQzEyD//IeE= -github.com/klauspost/compress v1.16.5/go.mod h1:ntbaceVETuRiXiv4DpjP66DpAtAGkEQskQzEyD//IeE= -github.com/klauspost/compress v1.17.0/go.mod h1:ntbaceVETuRiXiv4DpjP66DpAtAGkEQskQzEyD//IeE= github.com/klauspost/pgzip v1.2.5/go.mod h1:Ch1tH69qFZu15pkjo5kYi6mth2Zzwzt50oCQKQE9RUs= -github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg= github.com/kulti/thelper v0.6.3/go.mod h1:DsqKShOvP40epevkFrvIwkCMNYxMeTNjdWL4dqWHZ6I= -github.com/kunwardeep/paralleltest v1.0.6/go.mod h1:Y0Y0XISdZM5IKm3TREQMZ6iteqn1YuwCsJO/0kL9Zes= github.com/kunwardeep/paralleltest v1.0.10/go.mod h1:2C7s65hONVqY7Q5Efj5aLzRCNLjw2h4eMc9EcypGjcY= -github.com/kyoh86/exportloopref v0.1.8/go.mod h1:1tUcJeiioIs7VWe5gcOObrux3lb66+sBqGZrRkMwPgg= github.com/kyoh86/exportloopref v0.1.11/go.mod h1:qkV4UF1zGl6EkF1ox8L5t9SwyeBAZ3qLMd6up458uqA= github.com/labstack/echo/v4 v4.10.0/go.mod h1:S/T/5fy/GigaXnHTkh0ZGe4LpkkQysvRjFMSUTkDRNQ= github.com/labstack/gommon v0.4.0/go.mod h1:uW6kP17uPlLJsD3ijUYn3/M5bAxtlZhMI6m3MFxTMTM= github.com/lasiar/canonicalheader v1.1.1/go.mod h1:cXkb3Dlk6XXy+8MVQnF23CYKWlyA7kfQhSw2CcZtZb0= -github.com/ldez/gomoddirectives v0.2.3/go.mod h1:cpgBogWITnCfRq2qGoDkKMEVSaarhdBr6g8G04uz6d0= github.com/ldez/gomoddirectives v0.2.4/go.mod h1:oWu9i62VcQDYp9EQ0ONTfqLNh+mDLWWDO+SO0qSQw5g= -github.com/ldez/tagliatelle v0.3.1/go.mod h1:8s6WJQwEYHbKZDsp/LjArytKOG8qaMrKQQ3mFukHs88= -github.com/ldez/tagliatelle v0.4.0/go.mod h1:mNtTfrHy2haaBAw+VT7IBV6VXBThS7TCreYWbBcJ87I= github.com/ldez/tagliatelle v0.5.0/go.mod h1:rj1HmWiL1MiKQuOONhd09iySTEkUuE/8+5jtPYz9xa4= -github.com/leonklingele/grouper v1.1.0/go.mod h1:uk3I3uDfi9B6PeUjsCKi6ndcf63Uy7snXgR4yDYQVDY= -github.com/leonklingele/grouper v1.1.1/go.mod h1:uk3I3uDfi9B6PeUjsCKi6ndcf63Uy7snXgR4yDYQVDY= github.com/leonklingele/grouper v1.1.2/go.mod h1:6D0M/HVkhs2yRKRFZUoGjeDy7EZTfFBE9gl4kjmIGkA= -github.com/letsencrypt/pkcs11key/v4 v4.0.0/go.mod h1:EFUvBDay26dErnNb70Nd0/VW3tJiIbETBPTl9ATXQag= -github.com/lib/pq v1.0.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= -github.com/lib/pq v1.2.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= -github.com/lib/pq v1.8.0/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= -github.com/lib/pq v1.9.0/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= -github.com/lib/pq v1.10.7/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= -github.com/libp2p/go-buffer-pool v0.1.0 h1:oK4mSFcQz7cTQIfqbe4MIj9gLW+mnanjyFtc6cdF0Y8= github.com/libp2p/go-buffer-pool v0.1.0/go.mod h1:N+vh8gMqimBzdKkSMVuydVDq+UV5QTWy5HSiZacSbPg= -github.com/linxGnu/grocksdb v1.7.16/go.mod h1:JkS7pl5qWpGpuVb3bPqTz8nC12X3YtPZT+Xq7+QfQo4= -github.com/linxGnu/grocksdb v1.8.6/go.mod h1:xZCIb5Muw+nhbDK4Y5UJuOrin5MceOuiXkVUR7vp4WY= -github.com/linxGnu/grocksdb v1.8.12/go.mod h1:xZCIb5Muw+nhbDK4Y5UJuOrin5MceOuiXkVUR7vp4WY= github.com/lufeee/execinquery v1.2.1/go.mod h1:EC7DrEKView09ocscGHC+apXMIaorh4xqSxS/dy8SbM= -github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0/go.mod h1:zJYVVT2jmtg6P3p1VtQj7WsuWi/y4VnjVBn7F8KPB3I= -github.com/lyft/protoc-gen-star/v2 v2.0.3/go.mod h1:amey7yeodaJhXSbf/TlLvWiqQfLOSpEk//mLlc+axEk= -github.com/lyft/protoc-gen-star/v2 v2.0.4-0.20230330145011-496ad1ac90a4/go.mod h1:amey7yeodaJhXSbf/TlLvWiqQfLOSpEk//mLlc+axEk= github.com/macabu/inamedparam v0.1.3/go.mod h1:93FLICAIk/quk7eaPPQvbzihUdn/QkGDwIZEoLtpH6I= github.com/mailgun/raymond/v2 v2.0.48/go.mod h1:lsgvL50kgt1ylcFJYZiULi5fjPBkkhNfj4KA0W54Z18= github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= github.com/maratori/testableexamples v1.0.0/go.mod h1:4rhjL1n20TUTT4vdh3RDqSizKLyXp7K2u6HgraZCGzE= -github.com/maratori/testpackage v1.1.0/go.mod h1:PeAhzU8qkCwdGEMTEupsHJNlQu2gZopMC6RjbhmHeDc= github.com/maratori/testpackage v1.1.1/go.mod h1:s4gRK/ym6AMrqpOa/kEbQTV4Q4jb7WeLZzVhVVVOQMc= -github.com/matoous/godox v0.0.0-20210227103229-6504466cf951/go.mod h1:1BELzlh859Sh1c6+90blK8lbYy0kwQf1bYlBhBysy1s= github.com/matoous/godox v0.0.0-20230222163458-006bad1f9d26/go.mod h1:1BELzlh859Sh1c6+90blK8lbYy0kwQf1bYlBhBysy1s= -github.com/matryer/is v1.4.0/go.mod h1:8I/i5uYgLzgsgEloJE1U6xx5HkBQpAZvepWuujKwMRU= -github.com/matryer/try v0.0.0-20161228173917-9ac251b645a2/go.mod h1:0KeJpeMD6o+O4hW7qJOT7vyQPKrWmj26uf5wMc/IiIs= -github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= -github.com/mattn/go-colorable v0.1.6/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= -github.com/mattn/go-colorable v0.1.8/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= -github.com/mattn/go-colorable v0.1.11/go.mod h1:u5H1YNBxpqRaxsYJYSkiCWKzEfiAb1Gb520KVy5xxl4= -github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= -github.com/mattn/go-isatty v0.0.10/go.mod h1:qgIWMr58cqv1PHHyhnkY9lrL7etaEgOFcMEpPG5Rm84= -github.com/mattn/go-isatty v0.0.11/go.mod h1:PhnuNfih5lzO57/f3n+odYbM4JtupLOxQOAqxQCu2WE= -github.com/mattn/go-runewidth v0.0.6/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI= github.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI= -github.com/mattn/go-sqlite3 v1.9.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc= -github.com/mattn/go-sqlite3 v1.14.5/go.mod h1:WVKg1VTActs4Qso6iwGbiFih2UIHo0ENGwNd0Lj+XmI= -github.com/mattn/go-sqlite3 v1.14.6/go.mod h1:NyWgC/yNuGj7Q9rpYnZvas74GogHl5/Z4A/KQRfk6bU= -github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= -github.com/matttproud/golang_protobuf_extensions v1.0.4 h1:mmDVorXM7PCGKw94cs5zkfA9PSy5pEvNWRP0ET0TIVo= github.com/matttproud/golang_protobuf_extensions v1.0.4/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= -github.com/matttproud/golang_protobuf_extensions/v2 v2.0.0 h1:jWpvCLoY8Z/e3VKvlsiIGKtc+UG6U5vzxaoagmhXfyg= github.com/matttproud/golang_protobuf_extensions/v2 v2.0.0/go.mod h1:QUyp042oQthUoa9bqDv0ER0wrtXnBruoNd7aNjkbP+k= github.com/mbilski/exhaustivestruct v1.2.0/go.mod h1:OeTBVxQWoEmB2J2JCHmXWPJ0aksxSUOUy+nvtVEfzXc= -github.com/mediocregopher/radix/v3 v3.8.1/go.mod h1:8FL3F6UQRXHXIBSPUs5h0RybMF8i4n7wVopoX3x7Bv8= -github.com/mgechev/dots v0.0.0-20210922191527-e955255bf517/go.mod h1:KQ7+USdGKfpPjXk4Ga+5XxQM4Lm4e3gAogrreFAYpOg= -github.com/mgechev/revive v1.2.4/go.mod h1:iAWlQishqCuj4yhV24FTnKSXGpbAA+0SckXB8GQMX/Q= -github.com/mgechev/revive v1.3.1/go.mod h1:YlD6TTWl2B8A103R9KWJSPVI9DrEf+oqr15q21Ld+5I= github.com/mgechev/revive v1.3.7/go.mod h1:RJ16jUbF0OWC3co/+XTxmFNgEpUPwnnA0BRllX2aDNA= github.com/microcosm-cc/bluemonday v1.0.23/go.mod h1:mN70sk7UkkF8TUr2IGBpNN0jAgStuPzlK76QuruE/z4= -github.com/miekg/dns v1.1.26/go.mod h1:bPDLeHnStXmXAq1m/Ch/hvfNHr14JKNPMBo3VZKjuso= -github.com/miekg/dns v1.1.35/go.mod h1:KNUDUusw/aVsxyTYZM1oqvCicbwhgbNgztCETuNZ7xM= -github.com/miekg/dns v1.1.41/go.mod h1:p6aan82bvRIyn+zDIv9xYNUpwa73JcSh9BKwknJysuI= github.com/miekg/dns v1.1.43/go.mod h1:+evo5L0630/F6ca/Z9+GAqzhjGyn8/c+TBaOyfEl0V4= -github.com/miekg/pkcs11 v1.0.2/go.mod h1:XsNlhZGX73bx86s2hdc/FuaLm2CPZJemRLMA+WTFxgs= -github.com/miekg/pkcs11 v1.0.3/go.mod h1:XsNlhZGX73bx86s2hdc/FuaLm2CPZJemRLMA+WTFxgs= -github.com/mitchellh/cli v1.1.0/go.mod h1:xcISNoH86gajksDmfB23e/pu+B+GeFRMYmoHXxx3xhI= -github.com/mitchellh/copystructure v1.0.0/go.mod h1:SNtv71yrdKgLRyLFxmLdkAbkKEFWgYaq1OVrnRcwhnw= -github.com/mitchellh/go-ps v1.0.0/go.mod h1:J4lOc8z8yJs6vUwklHw2XEIiT4z4C40KtWVN3nvg8Pg= -github.com/mitchellh/go-wordwrap v1.0.1/go.mod h1:R62XHJLzvMFRBbcrT7m7WgmE1eOyTSsCt+hzestvNj0= -github.com/mitchellh/reflectwalk v1.0.0/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= -github.com/mitchellh/reflectwalk v1.0.1/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= -github.com/moby/buildkit v0.10.4/go.mod h1:Yajz9vt1Zw5q9Pp4pdb3TCSUXJBIroIQGQ3TTs/sLug= -github.com/moby/sys/mountinfo v0.5.0/go.mod h1:3bMD3Rg+zkqx8MRYPi7Pyb0Ie97QEBmdxbhnCLlSvSU= -github.com/moby/term v0.0.0-20220808134915-39b0c02b01ae/go.mod h1:E2VnQOmVuvZB6UYnnDB0qG5Nq/1tD9acaOpo6xmt0Kw= github.com/moby/term v0.0.0-20221205130635-1aeaba878587/go.mod h1:8FzsFHVUBGZdbDsJw/ot+X+d5HLUbvklYLJ9uGfcI3Y= -github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826/go.mod h1:TaXosZuwdSHYgviHp1DAtfrULt5eUgsSMsZf+YrPgl8= -github.com/moricho/tparallel v0.2.1/go.mod h1:fXEIZxG2vdfl0ZF8b42f5a78EhjjD5mX8qUplsoSU4k= -github.com/moricho/tparallel v0.3.0/go.mod h1:leENX2cUv7Sv2qDgdi0D0fCftN8fRC67Bcn8pqzeYNI= github.com/moricho/tparallel v0.3.1/go.mod h1:leENX2cUv7Sv2qDgdi0D0fCftN8fRC67Bcn8pqzeYNI= github.com/morikuni/aec v1.0.0/go.mod h1:BbKIizmSmc5MMPqRYbxO4ZU0S0+P200+tUnFx7PXmsc= -github.com/mozilla/scribe v0.0.0-20180711195314-fb71baf557c1/go.mod h1:FIczTrinKo8VaLxe6PWTPEXRXDIHz2QAwiaBaP5/4a8= -github.com/mozilla/tls-observatory v0.0.0-20210609171429-7bc42856d2e5/go.mod h1:FUqVoUPHSEdDR0MnFM3Dh8AU0pZHLXUD127SAJGER/s= -github.com/mrunalp/fileutils v0.5.0/go.mod h1:M1WthSahJixYnrXQl/DFQuteStB1weuxD2QJNHXfbSQ= -github.com/mwitkow/go-proto-validators v0.0.0-20180403085117-0950a7990007/go.mod h1:m2XC9Qq0AlmmVksL6FktJCdTYyLk7V3fKyp0sl1yWQo= -github.com/mwitkow/go-proto-validators v0.2.0/go.mod h1:ZfA1hW+UH/2ZHOWvQ3HnQaU0DtnpXu850MZiy+YUgcc= github.com/nakabonne/nestif v0.3.1/go.mod h1:9EtoZochLn5iUprVDmDjqGKPofoUEBL8U4Ngq6aY7OE= github.com/nats-io/jwt/v2 v2.0.3/go.mod h1:VRP+deawSXyhNjXmxPCHskrR6Mq50BqpEI5SEcNiGlY= -github.com/nats-io/jwt/v2 v2.3.0/go.mod h1:0tqz9Hlu6bCBFLWAASKhE5vUA4c24L9KPUUgvwumE/k= github.com/nats-io/nats-server/v2 v2.5.0/go.mod h1:Kj86UtrXAL6LwYRA6H4RqzkHhK0Vcv2ZnKD5WbQ1t3g= github.com/nats-io/nats.go v1.34.0/go.mod h1:Ubdu4Nh9exXdSz0RVWRFBbRfrbSxOYd26oF0wkWclB8= github.com/nats-io/nkeys v0.4.7/go.mod h1:kqXRgRDPlGy7nGaEDMuYzmiJCIAAWDK0IMBtDmGD0nc= github.com/nbutton23/zxcvbn-go v0.0.0-20210217022336-fa2cb2858354/go.mod h1:KSVJerMDfblTH7p5MZaTt+8zaT2iEk3AkVb9PQdZuE8= -github.com/nishanths/exhaustive v0.8.3/go.mod h1:qj+zJJUgJ76tR92+25+03oYUhzF4R7/2Wk7fGTfCHmg= -github.com/nishanths/exhaustive v0.9.5/go.mod h1:IbwrGdVMizvDcIxPYGVdQn5BqWJaOwpCvg4RGb8r/TA= github.com/nishanths/exhaustive v0.12.0/go.mod h1:mEZ95wPIZW+x8kC4TgC+9YCUgiST7ecevsVDTgc2obs= -github.com/nishanths/predeclared v0.0.0-20190419143655-18a43bb90ffc/go.mod h1:62PewwiQTlm/7Rj+cxVYqZvDIUc+JjZq6GHAC1fsObQ= github.com/nishanths/predeclared v0.2.2/go.mod h1:RROzoN6TnGQupbC+lqggsOlcgysk3LMK/HI84Mp280c= -github.com/nunnatsa/ginkgolinter v0.9.0/go.mod h1:FHaMLURXP7qImeH6bvxWJUpyH+2tuqe5j4rW1gxJRmI= github.com/nunnatsa/ginkgolinter v0.16.2/go.mod h1:4tWRinDN1FeJgU+iJANW/kz7xKN5nYRAOfJDQUS9dOQ= -github.com/oasisprotocol/curve25519-voi v0.0.0-20220708102147-0a8a51822cae h1:FatpGJD2jmJfhZiFDElaC0QhZUDQnxUeAwTGkfAHN3I= -github.com/oasisprotocol/curve25519-voi v0.0.0-20220708102147-0a8a51822cae/go.mod h1:hVoHR2EVESiICEMbg137etN/Lx+lSrHPTD39Z/uE+2s= -github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= -github.com/olekukonko/tablewriter v0.0.1/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo= -github.com/olekukonko/tablewriter v0.0.2/go.mod h1:rSAaSIOAGT9odnlyGlUfAJaoc5w2fSBUmeGDbRWPxyQ= github.com/olekukonko/tablewriter v0.0.5/go.mod h1:hPp6KlRPjbx+hW8ykQs1w3UBbZlj6HuIJcUGPhkA7kY= -github.com/onsi/ginkgo v1.10.3/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= -github.com/onsi/ginkgo/v2 v2.17.3/go.mod h1:nP2DPOQoNsQmsVyv5rDA8JkXQoCs6goXIvr/PRJ1eCc= -github.com/onsi/ginkgo/v2 v2.19.0/go.mod h1:rlwLi9PilAFJ8jCg9UE1QP6VBpd6/xj3SRC0d6TU0To= -github.com/onsi/ginkgo/v2 v2.20.1/go.mod h1:lG9ey2Z29hR41WMVthyJBGUBcBhGOtoPF2VFMvBXFCI= -github.com/onsi/gomega v1.4.1/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA= -github.com/onsi/gomega v1.33.1/go.mod h1:U4R44UsT+9eLIaYRB2a5qajjtQYn0hauxvRm16AVYg0= -github.com/onsi/gomega v1.34.1 h1:EUMJIKUjM8sKjYbtxQI9A4z2o+rruxnzNvpknOXie6k= -github.com/onsi/gomega v1.34.1/go.mod h1:kU1QgUvBDLXBJq618Xvm2LUX6rSAfRaFRTcdOeDLwwY= -github.com/opencontainers/runtime-spec v1.0.3-0.20210326190908-1c3f411f0417/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= -github.com/opencontainers/selinux v1.10.0/go.mod h1:2i0OySw99QjzBBQByd1Gr9gSjvuho1lHsJxIJ3gGbJI= github.com/opentracing/opentracing-go v1.2.0/go.mod h1:GxEUsuufX4nBwe+T+Wl9TAgYrxe9dPLANfrWvHYVTgc= github.com/openzipkin/zipkin-go v0.2.5/go.mod h1:KpXfKdgRDnnhsxw4pNIH9Md5lyFqKUa4YDFlwRYAMyE= -github.com/osmosis-labs/fee-abstraction/v8 v8.0.2 h1:z8GfKxGqkEB66rO2iDNJ6/IA62ZZlyitOeOvzE11LiY= -github.com/osmosis-labs/fee-abstraction/v8 v8.0.2/go.mod h1:nNhh1fdDIXVK7xY/ji4qRNCkPEzgPrlJ1FD/ox3U+Oo= -github.com/otiai10/copy v1.2.0/go.mod h1:rrF5dJ5F0t/EWSYODDu4j9/vEeYHMkc8jt0zJChqQWw= -github.com/otiai10/copy v1.14.0/go.mod h1:ECfuL02W+/FkTWZWgQqXPWZgW9oeKCSQ5qVfSc4qc4w= -github.com/otiai10/curr v0.0.0-20150429015615-9b4961190c95/go.mod h1:9qAhocn7zKJG+0mI8eUu6xqkFDYS2kb2saOteoSB3cE= -github.com/otiai10/curr v1.0.0/go.mod h1:LskTG5wDwr8Rs+nNQ+1LlxRjAtTZZjtJW4rMXl6j4vs= -github.com/otiai10/mint v1.3.0/go.mod h1:F5AjcsTsWUqX+Na9fpHb52P8pcRX2CI6A3ctIT91xUo= -github.com/otiai10/mint v1.3.1/go.mod h1:/yxELlJQ0ufhjUwhshSj+wFjZ78CnZ48/1wtmBH1OTc= -github.com/otiai10/mint v1.5.1/go.mod h1:MJm72SBthJjz8qhefc4z1PYEieWmy8Bku7CjcAqyUSM= github.com/pelletier/go-toml v1.2.0 h1:T5zMGML61Wp+FlcbWjRDT7yAxhJNAiPPLOFECq181zc= -github.com/pelletier/go-toml v1.9.5 h1:4yBQzkHv+7BHq2PQUZF3Mx0IYxG7LsP222s7Agd3ve8= -github.com/pelletier/go-toml v1.9.5/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= -github.com/pelletier/go-toml/v2 v2.0.2/go.mod h1:MovirKjgVRESsAvNZlAjtFwV867yGuwRkXbG66OzopI= -github.com/pelletier/go-toml/v2 v2.0.5/go.mod h1:OMHamSCAODeSsVrwwvcJOaoN0LIUIaFVNZzmWyNfXas= -github.com/pelletier/go-toml/v2 v2.1.0/go.mod h1:tJU2Z3ZkXwnxa4DPO899bsyIoywizdUvyaeZurnPPDc= github.com/performancecopilot/speed/v4 v4.0.0/go.mod h1:qxrSyuDGrTOWfV+uKRFhfxw6h/4HXRGUiZiufxo49BM= -github.com/peterbourgon/diskv v2.0.1+incompatible/go.mod h1:uqqh8zWWbv1HBMNONnaR/tNboyR3/BZd58JJSHlUSCU= -github.com/phayes/checkstyle v0.0.0-20170904204023-bfd46e6a821d/go.mod h1:3OzsM7FXDQlpCiw2j81fOmAwQLnZnLGXVKUzeKQXIAw= -github.com/phpdave11/gofpdf v1.4.2/go.mod h1:zpO6xFn9yxo3YLyMvW8HcKWVdbNqgIfOOp2dXMnm1mY= -github.com/phpdave11/gofpdi v1.0.12/go.mod h1:vBmVV0Do6hSBHC8uKUQ71JGW+ZGQq74llk/7bXwjDoI= -github.com/phpdave11/gofpdi v1.0.13/go.mod h1:vBmVV0Do6hSBHC8uKUQ71JGW+ZGQq74llk/7bXwjDoI= -github.com/pierrec/lz4/v4 v4.1.18/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4= github.com/pjbgf/sha1cd v0.3.0/go.mod h1:nZ1rrWOcGJ5uZgEEVL1VUM9iRQiZvWdbZjkKyFzPPsI= github.com/pkg/browser v0.0.0-20210911075715-681adbf594b8/go.mod h1:HKlIX3XHQyzLZPlr7++PzdhaXEj94dEiJgZDTsxEqUI= -github.com/pkg/profile v1.6.0/go.mod h1:qBsxPvzyUincmltOk6iyRVxHYg4adc0OFOv72ZdLa18= github.com/pkg/profile v1.7.0/go.mod h1:8Uer0jas47ZQMJ7VD+OHknK4YDY07LPUC6dEvqDjvNo= -github.com/pkg/sftp v1.10.1/go.mod h1:lYOWFsE0bwd1+KfKJaKeuokY15vzFx25BLbzYYoAxZI= github.com/pkg/sftp v1.13.6/go.mod h1:tz1ryNURKu77RL+GuCzmoJYxQczL3wLNNpPWagdg4Qk= github.com/planetscale/vtprotobuf v0.6.1-0.20240319094008-0393e58bdf10/go.mod h1:t/avpk3KcrXxUnYOhZhMXJlSEyie6gQbtLq5NM3loB8= -github.com/pmezard/go-difflib v0.0.0-20151028094244-d8ed2627bdf0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/pointlander/compress v1.1.1-0.20190518213731-ff44bd196cc3/go.mod h1:q5NXNGzqj5uPnVuhGkZfmgHqNUhf15VLi6L9kW0VEc0= -github.com/pointlander/jetset v1.0.1-0.20190518214125-eee7eff80bd4/go.mod h1:RdR1j20Aj5pB6+fw6Y9Ur7lMHpegTEjY1vc19hEZL40= -github.com/pointlander/peg v1.0.1/go.mod h1:5hsGDQR2oZI4QoWz0/Kdg3VSVEC31iJw/b7WjqCBGRI= -github.com/polyfloyd/go-errorlint v1.0.5/go.mod h1:APVvOesVSAnne5SClsPxPdfvZTVDojXh1/G3qb5wjGI= -github.com/polyfloyd/go-errorlint v1.4.5/go.mod h1:sIZEbFoDOCnTYYZoVkjc4hTnM459tuWA9H/EkdXwsKk= github.com/polyfloyd/go-errorlint v1.5.2/go.mod h1:sH1QC1pxxi0fFecsVIzBmxtrgd9IF/SkJpA6wqyKAJs= -github.com/posener/complete v1.2.3/go.mod h1:WZIdtGGp+qx0sLrYKtIRAruyNpv6hFCicSgv7Sy7s/s= -github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c/go.mod h1:OmDBASR4679mdNQnz2pUhc2G8CO2JrUAVFDRBDP/hJE= -github.com/prometheus/client_golang v0.9.3/go.mod h1:/TN21ttK/J9q6uSwhBd54HahCDft0ttaMvbicHlPoso= -github.com/prometheus/client_golang v1.11.0/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0= -github.com/prometheus/client_golang v1.12.0/go.mod h1:3Z9XVyYiZYEO+YQWt3RD2R3jrbd179Rt297l4aS6nDY= -github.com/prometheus/client_golang v1.12.1/go.mod h1:3Z9XVyYiZYEO+YQWt3RD2R3jrbd179Rt297l4aS6nDY= -github.com/prometheus/client_golang v1.12.2/go.mod h1:3Z9XVyYiZYEO+YQWt3RD2R3jrbd179Rt297l4aS6nDY= -github.com/prometheus/client_golang v1.16.0/go.mod h1:Zsulrv/L9oM40tJ7T815tM89lFEugiJ9HzIqaAx4LKc= -github.com/prometheus/client_golang v1.19.1/go.mod h1:mP78NwGzrVks5S2H6ab8+ZZGJLZUq1hoULYBAYBw1Ho= -github.com/prometheus/client_model v0.2.1-0.20210607210712-147c58e9608a/go.mod h1:LDGWKZIo7rky3hgvBe+caln+Dr3dPggB5dvjtD7w9+w= -github.com/prometheus/client_model v0.4.0/go.mod h1:oMQmHW1/JoDwqLtg57MGgP/Fb1CJEYF2imWWhWtMkYU= -github.com/prometheus/client_model v0.4.1-0.20230718164431-9a2bf3000d16/go.mod h1:oMQmHW1/JoDwqLtg57MGgP/Fb1CJEYF2imWWhWtMkYU= -github.com/prometheus/common v0.0.0-20181113130724-41aa239b4cce/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= -github.com/prometheus/common v0.4.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= -github.com/prometheus/common v0.26.0/go.mod h1:M7rCNAaPfAosfx8veZJCuw84e35h3Cfd9VFqTh1DIvc= -github.com/prometheus/common v0.32.1/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= -github.com/prometheus/common v0.34.0/go.mod h1:gB3sOl7P0TvJabZpLY5uQMpUqRCPPCyRLCZYc7JZTNE= -github.com/prometheus/common v0.37.0/go.mod h1:phzohg0JFMnBEFGxTDbfu3QyL5GI8gTQJFhYO5B3mfA= -github.com/prometheus/common v0.44.0/go.mod h1:ofAIvZbQ1e/nugmZGz4/qCb9Ap1VoSTIO7x0VV9VvuY= -github.com/prometheus/procfs v0.0.0-20190507164030-5867b95ac084/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= -github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= -github.com/prometheus/procfs v0.7.3/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= -github.com/prometheus/procfs v0.8.0/go.mod h1:z7EfXMXOkbkqb9IINtpCn86r/to3BnA0uaxHdg830/4= -github.com/prometheus/procfs v0.10.1/go.mod h1:nwNm2aOCAYw8uTR/9bWRREkZFxAUcWzPHWJq+XBB/FM= -github.com/prometheus/procfs v0.11.1/go.mod h1:eesXgaPo1q7lBpVMoMy0ZOFTth9hBn4W/y0/p/ScXhY= -github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= -github.com/pseudomuto/protoc-gen-doc v1.3.2/go.mod h1:y5+P6n3iGrbKG+9O04V5ld71in3v/bX88wUwgt+U8EA= -github.com/pseudomuto/protokit v0.2.0/go.mod h1:2PdH30hxVHsup8KpBTOXTBeMVhJZVio3Q8ViKSAXT0Q= -github.com/quasilyte/go-ruleguard v0.3.1-0.20210203134552-1b5a410e1cc8/go.mod h1:KsAh3x0e7Fkpgs+Q9pNLS5XpFSvYCEVl5gP9Pp1xp30= -github.com/quasilyte/go-ruleguard v0.3.18/go.mod h1:lOIzcYlgxrQ2sGJ735EHXmf/e9MJ516j16K/Ifcttvs= -github.com/quasilyte/go-ruleguard v0.4.0/go.mod h1:Eu76Z/R8IXtViWUIHkE3p8gdH3/PKk1eh3YGfaEof10= github.com/quasilyte/go-ruleguard v0.4.2/go.mod h1:GJLgqsLeo4qgavUoL8JeGFNS7qcisx3awV/w9eWTmNI= -github.com/quasilyte/go-ruleguard/dsl v0.3.0/go.mod h1:KeCP03KrjuSO0H1kTuZQCWlQPulDV6YMIXmpQss17rU= -github.com/quasilyte/go-ruleguard/dsl v0.3.21/go.mod h1:KeCP03KrjuSO0H1kTuZQCWlQPulDV6YMIXmpQss17rU= github.com/quasilyte/go-ruleguard/dsl v0.3.22/go.mod h1:KeCP03KrjuSO0H1kTuZQCWlQPulDV6YMIXmpQss17rU= -github.com/quasilyte/go-ruleguard/rules v0.0.0-20201231183845-9e62ed36efe1/go.mod h1:7JTjp89EGyU1d6XfBiXihJNG37wB2VRkd125Q1u7Plc= -github.com/quasilyte/go-ruleguard/rules v0.0.0-20211022131956-028d6511ab71/go.mod h1:4cgAphtvu7Ftv7vOT2ZOYhC6CvBxZixcasr8qIOTA50= -github.com/quasilyte/gogrep v0.0.0-20220828223005-86e4605de09f/go.mod h1:Cm9lpz9NZjEoL1tgZ2OgeUKPIxL1meE7eo60Z6Sk+Ng= github.com/quasilyte/gogrep v0.5.0/go.mod h1:Cm9lpz9NZjEoL1tgZ2OgeUKPIxL1meE7eo60Z6Sk+Ng= -github.com/quasilyte/regex/syntax v0.0.0-20200407221936-30656e2c4a95/go.mod h1:rlzQ04UMyJXu/aOvhd8qT+hvDrFpiwqp8MRXDY9szc0= github.com/quasilyte/regex/syntax v0.0.0-20210819130434-b3f0c404a727/go.mod h1:rlzQ04UMyJXu/aOvhd8qT+hvDrFpiwqp8MRXDY9szc0= github.com/quasilyte/stdinfo v0.0.0-20220114132959-f7386bf02567/go.mod h1:DWNGW8A4Y+GyBgPuaQJuWiy0XYftx4Xm/y5Jqk9I6VQ= -github.com/regen-network/protobuf v1.3.3-alpha.regen.1 h1:OHEc+q5iIAXpqiqFKeLpu5NwTIkVXUs48vFMwzqpqY4= -github.com/regen-network/protobuf v1.3.3-alpha.regen.1/go.mod h1:2DjTFR1HhMQhiWC5sZ4OhQ3+NtdbZ6oBDKQwq5Ou+FI= -github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= -github.com/rogpeppe/go-internal v1.11.0/go.mod h1:ddIwULY96R17DhadqLgMfk9H9tvdUzkipdSkR5nkCZA= github.com/rogpeppe/go-internal v1.14.1 h1:UQB4HGPB6osV0SQTLymcB4TgvyWu6ZyliaW0tI/otEQ= -github.com/rs/cors v1.8.2/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU= -github.com/rs/xid v1.3.0/go.mod h1:trrq9SKmegXys3aeAKXMUTdJsYXVwGY3RLcfgqegfbg= -github.com/rs/xid v1.4.0/go.mod h1:trrq9SKmegXys3aeAKXMUTdJsYXVwGY3RLcfgqegfbg= -github.com/rs/zerolog v1.27.0/go.mod h1:7frBqO0oezxmnO7GF86FY++uy8I0Tk/If5ni1G9Qc0U= -github.com/rs/zerolog v1.29.0/go.mod h1:NILgTygv/Uej1ra5XxGf82ZFSLk58MFGAUS2o6usyD0= -github.com/ruudk/golang-pdf417 v0.0.0-20181029194003-1af4ab5afa58/go.mod h1:6lfFZQK844Gfx8o5WFuvpxWRwnSoipWe/p622j1v06w= -github.com/ruudk/golang-pdf417 v0.0.0-20201230142125-a7e3863a1245/go.mod h1:pQAZKsJ8yyVxGRWYNEm9oFB8ieLgKFnamEyDmSA0BRk= -github.com/ryancurrah/gomodguard v1.2.4/go.mod h1:+Kem4VjWwvFpUJRJSwa16s1tBJe+vbv02+naTow2f6M= -github.com/ryancurrah/gomodguard v1.3.0/go.mod h1:ggBxb3luypPEzqVtq33ee7YSN35V28XeGnid8dnni50= +github.com/rogpeppe/go-internal v1.14.1/go.mod h1:MaRKkUm5W0goXpeCfT7UZI6fk/L7L7so1lCWt35ZSgc= github.com/ryancurrah/gomodguard v1.3.2/go.mod h1:LqdemiFomEjcxOqirbQCb3JFvSxH2JUYMerTFd3sF2o= -github.com/ryanrolds/sqlclosecheck v0.3.0/go.mod h1:1gREqxyTGR3lVtpngyFo3hZAgk0KCtEdgEkHwDbigdA= -github.com/ryanrolds/sqlclosecheck v0.4.0/go.mod h1:TBRRjzL31JONc9i4XMinicuo+s+E8yKZ5FN8X3G6CKQ= github.com/ryanrolds/sqlclosecheck v0.5.1/go.mod h1:2g3dUjoS6AL4huFdv6wn55WpLIDjY7ZgUR4J8HOO/XQ= github.com/sagikazarmark/crypt v0.19.0/go.mod h1:c6vimRziqqERhtSe0MhIvzE1w54FrCHtrXb5NH/ja78= -github.com/sanity-io/litter v1.5.5/go.mod h1:9gzJgR2i4ZpjZHsKvUXIRQVk7P+yM3e+jAF7bU2UI5U= -github.com/sanposhiho/wastedassign/v2 v2.0.6/go.mod h1:KyZ0MWTwxxBmfwn33zh3k1dmsbF2ud9pAAGfoLfjhtI= github.com/sanposhiho/wastedassign/v2 v2.0.7/go.mod h1:KyZ0MWTwxxBmfwn33zh3k1dmsbF2ud9pAAGfoLfjhtI= github.com/santhosh-tekuri/jsonschema/v5 v5.3.1/go.mod h1:uToXkOrWAZ6/Oc07xWQrPOhJotwFIyu2bBVN41fcDUY= github.com/sashamelentyev/interfacebloat v1.1.0/go.mod h1:+Y9yU5YdTkrNvoX0xHc84dxiN1iBi9+G8zZIhPVoNjQ= -github.com/sashamelentyev/usestdlibvars v1.20.0/go.mod h1:0GaP+ecfZMXShS0A94CJn6aEuPRILv8h/VuWI9n1ygg= -github.com/sashamelentyev/usestdlibvars v1.23.0/go.mod h1:YPwr/Y1LATzHI93CqoPUN/2BzGQ/6N/cl/KwgR0B/aU= github.com/sashamelentyev/usestdlibvars v1.26.0/go.mod h1:9nl0jgOfHKWNFS43Ojw0i7aRoS4j6EBye3YBhmAIRF8= github.com/satori/go.uuid v1.2.0/go.mod h1:dA0hQrYB0VpLJoorglMZABFdXlWrHn1NEOzdhQKdks0= github.com/schollz/closestmatch v2.1.0+incompatible/go.mod h1:RtP1ddjLong6gTkbtmuhtR2uUrrJOpYzYRvbcPAid+g= -github.com/seccomp/libseccomp-golang v0.9.2-0.20220502022130-f33da4d89646/go.mod h1:JA8cRccbGaA1s33RQf7Y1+q9gHmZX1yB/z9WDN1C6fg= -github.com/securego/gosec/v2 v2.13.1/go.mod h1:EO1sImBMBWFjOTFzMWfTRrZW6M15gm60ljzrmy/wtHo= -github.com/securego/gosec/v2 v2.15.0/go.mod h1:VOjTrZOkUtSDt2QLSJmQBMWnvwiQPEjg0l+5juIqGk8= github.com/securego/gosec/v2 v2.20.1-0.20240525090044-5f0084eb01a9/go.mod h1:dg7lPlu/xK/Ut9SedURCoZbVCR4yC7fM65DtH9/CDHs= -github.com/sergi/go-diff v1.1.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM= github.com/sergi/go-diff v1.2.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM= github.com/shazow/go-diff v0.0.0-20160112020656-b6b7b6733b8c/go.mod h1:/PevMnwAxekIXwN8qQyfc5gl2NlkB3CQlkizAbOkeBs= -github.com/shirou/gopsutil/v3 v3.23.2/go.mod h1:gv0aQw33GLo3pG8SiWKiQrbDzbRY1K80RyZJ7V4Th1M= -github.com/shirou/gopsutil/v3 v3.24.5/go.mod h1:bsoOS1aStSs9ErQ1WWfxllSeS1K5D+U30r2NfcubMVk= -github.com/shoenig/go-m1cpu v0.1.6/go.mod h1:1JJMcUBvfNwpq05QDQVAnx3gUHr9IYF7GNg9SUEw2VQ= -github.com/shurcooL/go v0.0.0-20180423040247-9e1955d9fb6e/go.mod h1:TDJrrUr11Vxrven61rcy3hJMUqaf/CLWYhHNPmT14Lk= -github.com/shurcooL/go-goon v0.0.0-20170922171312-37c2f522c041/go.mod h1:N5mDOmsrJOB+vfqUK+7DmDyjhSLIIBnXo9lvZJj3MWQ= -github.com/sirupsen/logrus v1.8.1/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= -github.com/sirupsen/logrus v1.9.0/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= -github.com/sivchari/containedctx v1.0.2/go.mod h1:PwZOeqm4/DLoJOqMSIJs3aKqXRX4YO+uXww087KZ7Bw= github.com/sivchari/containedctx v1.0.3/go.mod h1:c1RDvCbnJLtH4lLcYD/GqwiBSSf4F5Qk0xld2rBqzJ4= github.com/sivchari/nosnakecase v1.7.0/go.mod h1:CwDzrzPea40/GB6uynrNLiorAlgFRvRbFSgJx2Gs+QY= -github.com/sivchari/tenv v1.7.0/go.mod h1:64yStXKSOxDfX47NlhVwND4dHwfZDdbp2Lyl018Icvg= github.com/sivchari/tenv v1.7.1/go.mod h1:64yStXKSOxDfX47NlhVwND4dHwfZDdbp2Lyl018Icvg= github.com/skeema/knownhosts v1.2.1/go.mod h1:xYbVRSPxqBZFrdmDyMmsOs+uX1UZC3nTN3ThzgDxUwo= -github.com/skip-mev/feemarket v1.0.0-sdk47.0.20240822213759-ad21c7e69228 h1:kisdp40JLS4O6gyeZRBjhsSQTUT+KLsayengRk7kdwA= -github.com/skip-mev/feemarket v1.0.0-sdk47.0.20240822213759-ad21c7e69228/go.mod h1:BBEQhAfJQtphzT6qG1emUO9h9AfKC52eKy3o9GcPNoc= github.com/snikch/goodman v0.0.0-20171125024755-10e37e294daa/go.mod h1:oJyF+mSPHbB5mVY2iO9KV3pTt/QbIkGaO8gQ2WrDbP4= -github.com/sonatard/noctx v0.0.1/go.mod h1:9D2D/EoULe8Yy2joDHJj7bv3sZoq9AaSb8B4lqBjiZI= github.com/sonatard/noctx v0.0.2/go.mod h1:kzFz+CzWSjQ2OzIm46uJZoXuBpa2+0y3T36U18dWqIo= -github.com/sourcegraph/go-diff v0.6.1/go.mod h1:iBszgVvyxdc8SFZ7gm69go2KDdt3ag071iBaWPF6cjs= github.com/sourcegraph/go-diff v0.7.0/go.mod h1:iBszgVvyxdc8SFZ7gm69go2KDdt3ag071iBaWPF6cjs= -github.com/spf13/afero v1.4.0/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z93I= -github.com/spf13/afero v1.8.2/go.mod h1:CtAatgMJh6bJEIs48Ay/FOnkljP3WeGUG0MC1RfAqwo= -github.com/spf13/afero v1.9.3/go.mod h1:iUV7ddyEEZPO5gA3zD4fJt6iStLlL+Lg4m2cihcDf8Y= -github.com/spf13/cast v1.5.1/go.mod h1:b9PdjNptOpzXr7Rq1q9gJML/2cdGQAo69NKzQ10KN48= -github.com/spf13/cast v1.6.0/go.mod h1:ancEpBxwJDODSW/UG4rDrAqiKolqNNh2DX3mk86cAdo= -github.com/spf13/cobra v1.0.0/go.mod h1:/6GTrnGXV9HjY+aR4k0oJ5tcvakLuG6EuKReYlHNrgE= -github.com/spf13/cobra v1.6.0/go.mod h1:IOw/AERYS7UzyrGinqmz6HLUo219MORXGxhbaJUqzrY= -github.com/spf13/cobra v1.7.0/go.mod h1:uLxZILRyS/50WlhOIKD7W6V5bgeIt+4sICxh6uRMrb0= -github.com/spf13/cobra v1.8.0/go.mod h1:WXLWApfZ71AjXPya3WOlMsY9yMs7YeiHhFVlvLyhcho= -github.com/spf13/jwalterweatherman v1.1.0 h1:ue6voC5bR5F8YxI5S67j9i582FU4Qvo2bmqnqMYADFk= -github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo= -github.com/spf13/viper v1.4.0/go.mod h1:PTJ7Z/lr49W6bUbkmS1V3by4uWynFiR9p7+dSq/yZzE= -github.com/spf13/viper v1.12.0/go.mod h1:b6COn30jlNxbm/V2IqWiNWkJ+vZNiMNksliPCiuKtSI= -github.com/spf13/viper v1.13.0/go.mod h1:Icm2xNL3/8uyh/wFuB1jI7TiTNKp8632Nwegu+zgdYw= -github.com/spf13/viper v1.15.0/go.mod h1:fFcTBJxvhhzSJiZy8n+PeW6t8l+KeT/uTARa0jHOQLA= -github.com/spf13/viper v1.18.1/go.mod h1:EKmWIqdnk5lOcmR72yw6hS+8OPYcwD0jteitLMVB+yk= github.com/ssgreg/nlreturn/v2 v2.2.1/go.mod h1:E/iiPB78hV7Szg2YfRgyIrk1AD6JVMTRkkxBiELzh2I= github.com/stbenjam/no-sprintf-host-port v0.1.1/go.mod h1:TLhvtIvONRzdmkFiio4O8LHsN9N74I+PhRquPsxpL0I= github.com/streadway/amqp v1.0.0/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw= github.com/streadway/handy v0.0.0-20200128134331-0f66f006fb2e/go.mod h1:qNTQ5P5JnDBl6z3cMAg/SywNDC5ABu5ApDIw6lUbRmI= -github.com/stretchr/objx v0.3.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE= -github.com/stretchr/testify v0.0.0-20170130113145-4d4bfba8f1d1/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= -github.com/stretchr/testify v1.1.4/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= -github.com/stretchr/testify v1.7.5/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= -github.com/subosito/gotenv v1.4.0/go.mod h1:mZd6rFysKEcUhUHXJk0C/08wAgyDBFuwEYL7vWWGaGo= -github.com/subosito/gotenv v1.4.2/go.mod h1:ayKnFf/c6rvx/2iiLrJUk1e6plDbT3edrFNGqEflhK0= -github.com/syndtr/gocapability v0.0.0-20200815063812-42c35b437635/go.mod h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww= github.com/t-yuki/gocover-cobertura v0.0.0-20180217150009-aaee18c8195c/go.mod h1:SbErYREK7xXdsRiigaQiQkI9McGRzYMvlKYaP3Nimdk= -github.com/tdakkota/asciicheck v0.1.1/go.mod h1:yHp0ai0Z9gUljN3o0xMhYJnH/IcvkdTBOX2fmJ93JEM= github.com/tdakkota/asciicheck v0.2.0/go.mod h1:Qb7Y9EgjCLJGup51gDHFzbI08/gbGhL/UVhYIPWG2rg= github.com/tdewolff/minify/v2 v2.12.4/go.mod h1:h+SRvSIX3kwgwTFOpSckvSxgax3uy8kZTSF1Ojrr3bk= github.com/tdewolff/parse/v2 v2.6.4/go.mod h1:woz0cgbLwFdtbjJu8PIKxhW05KplTFQkOdX78o+Jgrs= -github.com/tdewolff/test v1.0.7/go.mod h1:6DAvZliBAAnD7rhVgwaM7DE5/d9NMOAJ09SqYqeK4QE= -github.com/tecbot/gorocksdb v0.0.0-20191217155057-f0fad39f321c/go.mod h1:ahpPrc7HpcfEWDQRZEmnXMzHY03mLDYMCxeDzy46i+8= -github.com/tenntenn/modver v1.0.1/go.mod h1:bePIyQPb7UeioSRkw3Q0XeMhYZSMx9B8ePqg6SAMGH0= -github.com/tenntenn/text/transform v0.0.0-20200319021203-7eef512accb3/go.mod h1:ON8b8w4BN/kE1EOhwT0o+d62W65a6aPw1nouo9LMgyY= -github.com/tetafro/godot v1.4.11/go.mod h1:LR3CJpxDVGlYOWn3ZZg1PgNZdTUvzsZWu8xaEohUpn8= github.com/tetafro/godot v1.4.16/go.mod h1:2oVxTBSftRTh4+MVfUaUXR6bn2GDXCaMcOG4Dk3rfio= -github.com/timakin/bodyclose v0.0.0-20210704033933-f49887972144/go.mod h1:Qimiffbc6q9tBWlVV6x0P9sat/ao1xEkREYPPj9hphk= -github.com/timakin/bodyclose v0.0.0-20221125081123-e39cf3fc478e/go.mod h1:27bSVNWSBOHm+qRp1T9qzaIpsWEP6TbUnei/43HK+PQ= github.com/timakin/bodyclose v0.0.0-20230421092635-574207250966/go.mod h1:27bSVNWSBOHm+qRp1T9qzaIpsWEP6TbUnei/43HK+PQ= -github.com/timonwong/loggercheck v0.9.3/go.mod h1:wUqnk9yAOIKtGA39l1KLE9Iz0QiTocu/YZoOf+OzFdw= github.com/timonwong/loggercheck v0.9.4/go.mod h1:caz4zlPcgvpEkXgVnAJGowHAMW2NwHaNlpS8xDbVhTg= -github.com/tklauser/go-sysconf v0.3.11/go.mod h1:GqXfhXY3kiPa0nAXPDIQIWzJbMCB7AmcWpGR8lSZfqI= -github.com/tklauser/go-sysconf v0.3.12/go.mod h1:Ho14jnntGE1fpdOqQEEaiKRpvIavV0hSfmBq8nJbHYI= -github.com/tklauser/numcpus v0.6.0/go.mod h1:FEZLMke0lhOUG6w2JadTzp0a+Nl8PF/GFkQ5UVIcaL4= -github.com/tklauser/numcpus v0.6.1/go.mod h1:1XfjsgE2zo8GVw7POkMbHENHzVg3GzmoZ9fESEdAacY= -github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= -github.com/tmc/grpc-websocket-proxy v0.0.0-20200427203606-3cfed13b9966/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= -github.com/tomarrell/wrapcheck/v2 v2.7.0/go.mod h1:ao7l5p0aOlUNJKI0qVwB4Yjlqutd0IvAB9Rdwyilxvg= -github.com/tomarrell/wrapcheck/v2 v2.8.1/go.mod h1:/n2Q3NZ4XFT50ho6Hbxg+RV1uyo2Uow/Vdm9NQcl5SE= github.com/tomarrell/wrapcheck/v2 v2.8.3/go.mod h1:g9vNIyhb5/9TQgumxQyOEqDHsmGYcGsVMOx/xGkqdMo= -github.com/tomasen/realip v0.0.0-20180522021738-f0c99a92ddce/go.mod h1:o8v6yHRoik09Xen7gje4m9ERNah1d1PPsVq1VEx9vE4= github.com/tommy-muehle/go-mnd/v2 v2.5.1/go.mod h1:WsUAkMJMYww6l/ufffCD3m+P7LEvr8TnZn9lwVDlgzw= -github.com/ugorji/go v1.1.4/go.mod h1:uQMGLiO92mf5W77hV/PUCpI3pbzQx3CRekS0kk+RGrc= -github.com/ugorji/go v1.2.7/go.mod h1:nF9osbDWLy6bDVv/Rtoh6QgnvNDpmCalQV5urGCCS6M= -github.com/ugorji/go/codec v1.2.7/go.mod h1:WGN1fab3R1fzQlVQTkfxVtIBhWDRqOviHU95kRgeqEY= -github.com/ultraware/funlen v0.0.3/go.mod h1:Dp4UiAus7Wdb9KUZsYWZEWiRzGuM2kXM1lPbfaF6xhA= github.com/ultraware/funlen v0.1.0/go.mod h1:XJqmOQja6DpxarLj6Jj1U7JuoS8PvL4nEqDaQhy22p4= -github.com/ultraware/whitespace v0.0.5/go.mod h1:aVMh/gQve5Maj9hQ/hg+F75lr/X5A89uZnzAmWSineA= github.com/ultraware/whitespace v0.1.1/go.mod h1:XcP1RLD81eV4BW8UhQlpaR+SDc2givTvyI8a586WjW8= github.com/urfave/negroni v1.0.0/go.mod h1:Meg73S6kFm/4PpbYdq35yYWoCZ9mS/YSx+lKnmiohz4= -github.com/uudashr/gocognit v1.0.6/go.mod h1:nAIUuVBnYU7pcninia3BHOvQkpQCeO76Uscky5BOwcY= github.com/uudashr/gocognit v1.1.2/go.mod h1:aAVdLURqcanke8h3vg35BC++eseDm66Z7KmchI5et4k= github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc= -github.com/valyala/fasthttp v1.30.0/go.mod h1:2rsYD01CKFrjjsvFxx75KlEUNpWNBY9JWD3K/7o2Cus= github.com/valyala/fasthttp v1.40.0/go.mod h1:t/G+3rLek+CyY9bnIE+YlMRddxVAAGjhxndDB4i4C0I= -github.com/valyala/fasttemplate v1.2.1/go.mod h1:KHLXt3tVN2HBp8eijSv/kGJopbvo7S+qRAEEKiv+SiQ= github.com/valyala/fasttemplate v1.2.2/go.mod h1:KHLXt3tVN2HBp8eijSv/kGJopbvo7S+qRAEEKiv+SiQ= -github.com/valyala/quicktemplate v1.7.0/go.mod h1:sqKJnoaOF88V07vkO+9FL8fb9uZg/VPSJnLYn+LmLk8= -github.com/valyala/tcplisten v1.0.0/go.mod h1:T0xQ8SeCZGxckz9qRXTfG43PvQ/mcWh7FwZEA7Ioqkc= -github.com/vektra/mockery/v2 v2.14.0/go.mod h1:bnD1T8tExSgPD1ripLkDbr60JA9VtQeu12P3wgLZd7M= -github.com/vektra/mockery/v2 v2.23.1/go.mod h1:Zh3Kv1ckKs6FokhlVLcCu6UTyzfS3M8mpROz1lBNp+w= github.com/vektra/mockery/v2 v2.43.2/go.mod h1:XNTE9RIu3deGAGQRVjP1VZxGpQNm0YedZx4oDs3prr8= -github.com/viki-org/dnscache v0.0.0-20130720023526-c70c1f23c5d8/go.mod h1:dniwbG03GafCjFohMDmz6Zc6oCuiqgH6tGNyXTkHzXE= -github.com/vishvananda/netlink v1.1.0/go.mod h1:cTgwzPIzzgDAYoQrMm0EdrjRUBkTqKYppBueQtXaqoE= -github.com/vishvananda/netns v0.0.0-20191106174202-0a2b9b5464df/go.mod h1:JP3t17pCcGlemwknint6hfoeCVQrEMVwxRLRjXpq+BU= github.com/vmihailenco/msgpack/v5 v5.3.5/go.mod h1:7xyJ9e+0+9SaZT0Wt1RGleJXzli6Q/V5KbhBonMG9jc= github.com/vmihailenco/tagparser/v2 v2.0.0/go.mod h1:Wri+At7QHww0WTrCBeu4J6bNtoV6mEfg5OIWRZA9qds= github.com/xanzy/ssh-agent v0.3.3/go.mod h1:6dzNDKs0J9rVPHPhaGCukekBHKqfl+L3KghI1Bc68Uw= -github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU= -github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415/go.mod h1:GwrjFmJcFw6At/Gs6z4yjiIwzuJ1/+UwLxMQDVQXShQ= -github.com/xeipuuv/gojsonschema v1.2.0/go.mod h1:anYRn/JVcOK2ZgGU+IjEV4nwlhoK5sQluxsYJ78Id3Y= github.com/xen0n/gosmopolitan v1.2.2/go.mod h1:7XX7Mj61uLYrj0qmeN0zi7XDon9JRAEhYQqAPLVNTeg= github.com/xhit/go-str2duration/v2 v2.1.0/go.mod h1:ohY8p+0f07DiV6Em5LKB0s2YpLtXVyJfNt1+BlmyAsU= -github.com/xo/terminfo v0.0.0-20210125001918-ca9a967f8778/go.mod h1:2MuV+tbUrU1zIOPMxZ5EncGwgmMJsa+9ucAQZXxsObs= github.com/yagipy/maintidx v1.0.0/go.mod h1:0qNf/I/CCZXSMhsRsrEPDZ+DkekpKLXAJfsTACwgXLk= -github.com/yalp/jsonpath v0.0.0-20180802001716-5cc68e5049a0/go.mod h1:/LWChgwKmvncFJFHJ7Gvn9wZArjbV5/FppcK2fKk/tI= -github.com/yeya24/promlinter v0.2.0/go.mod h1:u54lkmBOZrpEbQQ6gox2zWKKLKu2SGe+2KOiextY+IA= github.com/yeya24/promlinter v0.3.0/go.mod h1:cDfJQQYv9uYciW60QT0eeHlFodotkYZlL+YcPQN+mW4= github.com/ykadowak/zerologlint v0.1.5/go.mod h1:KaUskqF3e/v59oPmdq1U1DnKcuHokl2/K1U4pmIELKg= github.com/yosssi/ace v0.0.5/go.mod h1:ALfIzm2vT7t5ZE7uoIZqF3TQ7SAOyupFZnkrF5id+K0= -github.com/yudai/gojsondiff v1.0.0/go.mod h1:AY32+k2cwILAkW1fbgxQ5mUmMiZFgLIV+FBNExI05xg= -github.com/yudai/golcs v0.0.0-20170316035057-ecda9a501e82/go.mod h1:lgjkn3NuSvDfVJdfcVVdX+jpBxNmX4rDAzaS45IcYoM= -github.com/yudai/pp v2.0.1+incompatible/go.mod h1:PuxR/8QJ7cyCkFp/aUDS+JY727OFEZkTdatxwunjIkc= -github.com/yuin/goldmark v1.4.1/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= -github.com/yusufpapurcu/wmi v1.2.2/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0= -github.com/yusufpapurcu/wmi v1.2.4/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0= -github.com/zeebo/xxh3 v1.0.2/go.mod h1:5NWz9Sef7zIDm2JHfFlcQvNekmcEl9ekUZQQKCYaDcA= -gitlab.com/bosi/decorder v0.2.3/go.mod h1:9K1RB5+VPNQYtXtTDAzd2OEftsZb1oV0IrJrzChSdGE= gitlab.com/bosi/decorder v0.4.2/go.mod h1:muuhHoaJkA9QLcYHq4Mj8FJUwDZ+EirSHRiaTcTf6T8= go-simpler.org/musttag v0.12.2/go.mod h1:uN1DVIasMTQKk6XSik7yrJoEysGtR2GRqvWnI9S7TYM= go-simpler.org/sloglint v0.7.1/go.mod h1:OlaVDRh/FKKd4X4sIMbsz8st97vomydceL146Fthh/c= -go.einride.tech/aip v0.66.0/go.mod h1:qAhMsfT7plxBX+Oy7Huol6YUvZ0ZzdUz26yZsQwfl1M= -go.einride.tech/aip v0.67.1/go.mod h1:ZGX4/zKw8dcgzdLsrvpOOGxfxI2QSk12SlP7d6c0/XI= -go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= -go.etcd.io/bbolt v1.3.4/go.mod h1:G5EMThwa9y8QZGBClrRx5EY+Yw9kAhnjy3bSjsnlVTQ= -go.etcd.io/bbolt v1.3.6/go.mod h1:qXsaaIqmgQH0T+OPdb99Bf+PKfBBQVAdyD6TY9G8XM4= -go.etcd.io/etcd v0.0.0-20200513171258-e048e166ab9c/go.mod h1:xCI7ZzBfRuGgBXyXO6yfWfDmlWd35khcWpUa4L0xI/k= go.etcd.io/etcd/api/v3 v3.5.12/go.mod h1:Ot+o0SWSyT6uHhA56al1oCED0JImsRiU9Dc26+C2a+4= go.etcd.io/etcd/client/pkg/v3 v3.5.12/go.mod h1:seTzl2d9APP8R5Y2hFL3NVlD6qC/dOT+3kvrqPyTas4= go.etcd.io/etcd/client/v2 v2.305.12/go.mod h1:aQ/yhsxMu+Oht1FOupSr60oBvcS9cKXHrzBpDsPTf9E= go.etcd.io/etcd/client/v3 v3.5.12/go.mod h1:tSbBCakoWmmddL+BKVAJHa9km+O/E+bumDe9mSbPiqw= go.etcd.io/gofail v0.1.0/go.mod h1:VZBCXYGZhHAinaBiiqYvuDynvahNsAyLFwB3kEHKz1M= -go.mozilla.org/mozlog v0.0.0-20170222151521-4bb13139d403/go.mod h1:jHoPAGnDrCy6kaI2tAze5Prf0Nr0w/oNkROt2lw3n3o= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.36.3/go.mod h1:Dts42MGkzZne2yCru741+bFiTMWkIj/LLRizad7b9tw= -go.opentelemetry.io/otel v1.11.0/go.mod h1:H2KtuEphyMvlhZ+F7tg9GRhAOe60moNx61Ex+WmiKkk= -go.opentelemetry.io/otel v1.19.0/go.mod h1:i0QyjOq3UPoTzff0PJB2N66fb4S0+rSbSB15/oyH9fY= -go.opentelemetry.io/otel/metric v1.19.0/go.mod h1:L5rUsV9kM1IxCj1MmSdS+JQAcVm319EUrDVLrt7jqt8= -go.opentelemetry.io/otel/sdk v1.14.0/go.mod h1:bwIC5TjrNG6QDCHNWvW4HLHtUQ4I+VQDsnjhvyZCALM= -go.opentelemetry.io/otel/sdk v1.22.0/go.mod h1:iu7luyVGYovrRpe2fmj3CVKouQNdTOkxtLzPvPz1DOc= -go.opentelemetry.io/otel/trace v1.11.0/go.mod h1:nyYjis9jy0gytE9LXGU+/m1sHTKbRY0fX0hulNNDP1U= -go.opentelemetry.io/otel/trace v1.19.0/go.mod h1:mfaSyvGyEJEI0nyV2I4qhNQnbBOUUmYZpYojqMnX2vo= -go.opentelemetry.io/proto/otlp v1.0.0/go.mod h1:Sy6pihPLfYHkr3NkUbEhGHFhINUSI/v80hjKIs5JXpM= -go.uber.org/atomic v1.9.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= go.uber.org/atomic v1.10.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0= go.uber.org/automaxprocs v1.5.3/go.mod h1:eRbA25aqJrxAbsLO0xy5jVwPt7FQnRgjW+efnwa1WM0= -go.uber.org/goleak v1.1.11/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ= -go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= -go.uber.org/multierr v1.4.0/go.mod h1:VgVr7evmIr6uPjLBxg28wmKNXyqE9akIJ5XnfpiKl+4= -go.uber.org/multierr v1.8.0/go.mod h1:7EAYxJLBy9rStEaz58O2t4Uvip6FSURkq8/ppBp95ak= -go.uber.org/multierr v1.9.0/go.mod h1:X2jQV1h+kxSjClGpnseKVIxpmcjrj7MNnI0bnlfKTVQ= -go.uber.org/zap v1.21.0/go.mod h1:wjWOCqI0f2ZZrJF/UufIOkiC8ii6tm1iqIsLo76RfJw= -go.uber.org/zap v1.22.0/go.mod h1:H4siCOZOrAolnUPJEkfaSjDqyP+BDS0DdDWzwcgt3+U= -go.uber.org/zap v1.23.0/go.mod h1:D+nX8jyLsMHMYrln8A0rJjFt/T/9/bGgIhAqxv5URuY= go.uber.org/zap v1.24.0/go.mod h1:2kMP+WWQ8aoFoedH3T2sq6iJ2yDWpHbP0f6MQbS9Gkg= -golang.org/x/crypto v0.0.0-20170930174604-9419663f5a44/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20180501155221-613d6eafa307/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190923035154-9ee001bba392/go.mod h1:/lpIB1dKB+9EgE3H3cr1v9wB50oz8l4C4h62xy7jSTY= -golang.org/x/crypto v0.0.0-20201221181555-eec23a3978ad/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= -golang.org/x/crypto v0.0.0-20210513164829-c07d793c2f9a/go.mod h1:P+XmwS30IXTQdn5tA2iutPOUgjI07+tq3H3K9MVA1s8= -golang.org/x/crypto v0.0.0-20211215153901-e495a2d5b3d3/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/crypto v0.0.0-20220214200702-86341886e292/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/crypto v0.0.0-20220321153916-2c7772ba3064/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/crypto v0.3.1-0.20221117191849-2c476679df9a/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4= -golang.org/x/crypto v0.4.0/go.mod h1:3quD/ATkf6oY+rnes5c3ExXTbLc8mueNue5/DoinL80= -golang.org/x/crypto v0.12.0/go.mod h1:NF0Gs7EO5K4qLn+Ylc+fih8BSTeIjAP05siRnAh98yw= -golang.org/x/crypto v0.16.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4= -golang.org/x/crypto v0.17.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4= -golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU= -golang.org/x/crypto v0.21.0/go.mod h1:0BP7YvVV9gBbVKyeTG0Gyn+gZm94bibOW5BjDEYAOMs= -golang.org/x/crypto v0.22.0/go.mod h1:vr6Su+7cTlO45qkww3VDJlzDn0ctJvRgYbC2NvXHt+M= -golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8= -golang.org/x/crypto v0.24.0/go.mod h1:Z1PMYSOR5nyMcyAVAIQSKCDwalqy85Aqn1x3Ws4L5DM= -golang.org/x/crypto v0.26.0/go.mod h1:GY7jblb9wI+FOo5y8/S2oY4zWP07AkOJ4+jxCqdqn54= -golang.org/x/crypto v0.31.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ssk= -golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20190125153040-c74c464bbbf2/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20191002040644-a1355ae1e2c3/go.mod h1:NOZ3BPKG0ec/BKJQgnvsSFpcKLM5xXVWnvZS97DWHgE= -golang.org/x/exp v0.0.0-20230626212559-97b1e661b5df/go.mod h1:FXUEEKJgO7OQYeo8N01OfiKP8RXMtf6e8aTskBGqWdc= -golang.org/x/exp v0.0.0-20230811145659-89c5cff77bcb/go.mod h1:FXUEEKJgO7OQYeo8N01OfiKP8RXMtf6e8aTskBGqWdc= -golang.org/x/exp v0.0.0-20231006140011-7918f672742d/go.mod h1:ldy0pHrwJyGW56pPQzzkH36rKxoZW1tw7ZJpeKx+hdo= -golang.org/x/exp v0.0.0-20240404231335-c0f41cb1a7a0/go.mod h1:/lliqkxwWAhPjf5oSOIJup2XcqJaw8RGS6k3TGEc7GI= -golang.org/x/exp/typeparams v0.0.0-20220428152302-39d4317da171/go.mod h1:AbB0pIl9nAr9wVwH+Z2ZpaocVmF5I4GyWCDIsVjR0bk= -golang.org/x/exp/typeparams v0.0.0-20220827204233-334a2380cb91/go.mod h1:AbB0pIl9nAr9wVwH+Z2ZpaocVmF5I4GyWCDIsVjR0bk= -golang.org/x/exp/typeparams v0.0.0-20221208152030-732eee02a75a/go.mod h1:AbB0pIl9nAr9wVwH+Z2ZpaocVmF5I4GyWCDIsVjR0bk= -golang.org/x/exp/typeparams v0.0.0-20230203172020-98cc5a0785f9/go.mod h1:AbB0pIl9nAr9wVwH+Z2ZpaocVmF5I4GyWCDIsVjR0bk= -golang.org/x/exp/typeparams v0.0.0-20230307190834-24139beb5833/go.mod h1:AbB0pIl9nAr9wVwH+Z2ZpaocVmF5I4GyWCDIsVjR0bk= -golang.org/x/exp/typeparams v0.0.0-20240213143201-ec583247a57a/go.mod h1:AbB0pIl9nAr9wVwH+Z2ZpaocVmF5I4GyWCDIsVjR0bk= golang.org/x/exp/typeparams v0.0.0-20240314144324-c7f7c6466f7f/go.mod h1:AbB0pIl9nAr9wVwH+Z2ZpaocVmF5I4GyWCDIsVjR0bk= -golang.org/x/image v0.0.0-20180708004352-c73c2afc3b81/go.mod h1:ux5Hcp/YLpHSI86hEcLt0YII63i6oz57MZXIpbrjZUs= -golang.org/x/image v0.0.0-20190910094157-69e4b8554b2a/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= -golang.org/x/image v0.0.0-20200119044424-58c23975cae1/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= -golang.org/x/image v0.0.0-20200430140353-33d19683fad8/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= -golang.org/x/image v0.0.0-20200618115811-c13761719519/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= -golang.org/x/image v0.0.0-20201208152932-35266b937fa6/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= -golang.org/x/image v0.0.0-20210216034530-4410531fe030/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= -golang.org/x/image v0.0.0-20210607152325-775e3b0c77b9/go.mod h1:023OzeP/+EPmXeapQh35lcL3II3LrY8Ic+EFFKVhULM= -golang.org/x/image v0.0.0-20210628002857-a66eb6448b8d/go.mod h1:023OzeP/+EPmXeapQh35lcL3II3LrY8Ic+EFFKVhULM= -golang.org/x/mod v0.5.1/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro= -golang.org/x/mod v0.6.0-dev.0.20220106191415-9b9b3d81d5e3/go.mod h1:3p9vT2HGsQu2K1YbXdKPJLVgG5VJdoTa1poYQBtP1AY= -golang.org/x/mod v0.7.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= -golang.org/x/mod v0.9.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= -golang.org/x/mod v0.10.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= -golang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= -golang.org/x/mod v0.14.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= -golang.org/x/mod v0.15.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= -golang.org/x/mod v0.16.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= -golang.org/x/mod v0.17.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= -golang.org/x/mod v0.18.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= -golang.org/x/mod v0.19.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= -golang.org/x/net v0.0.0-20180719180050-a680a1efc54d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190327091125-710a502c58a2/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190522155817-f3200d17e092/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= -golang.org/x/net v0.0.0-20190923162816-aa69164e4478/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20191002035440-2ec189313ef0/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20210410081132-afb366fc7cd1/go.mod h1:9tjilg8BloeKEkVJvy7fQ90B1CfIiPueXVOjqfkSzI8= -golang.org/x/net v0.0.0-20210510120150-4163338589ed/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY= -golang.org/x/net v0.3.0/go.mod h1:MBQ8lrhLObU/6UmLb4fmbmk5OcyYmqtbGd/9yIeKjEE= -golang.org/x/net v0.4.0/go.mod h1:MBQ8lrhLObU/6UmLb4fmbmk5OcyYmqtbGd/9yIeKjEE= -golang.org/x/net v0.9.0/go.mod h1:d48xBJpPfHeWQsugry2m+kC02ZBRGRgulfHnEXEuWns= -golang.org/x/net v0.17.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE= -golang.org/x/net v0.18.0/go.mod h1:/czyP5RqHAH4odGYxBJ1qz0+CE5WZ+2j1YgoEo8F2jQ= -golang.org/x/net v0.19.0/go.mod h1:CfAk/cbD4CthTvqiEl8NpboMuiuOYsAr/7NOjZJtv1U= -golang.org/x/net v0.20.0/go.mod h1:z8BVo6PvndSri0LbOE3hAn0apkU+1YvI6E70E9jsnvY= -golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44= -golang.org/x/net v0.22.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg= -golang.org/x/net v0.23.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg= -golang.org/x/net v0.24.0/go.mod h1:2Q7sJY5mzlzWjKtYUEXSlBWCdyaioyXzRB2RtU8KVE8= -golang.org/x/net v0.25.0/go.mod h1:JkAGAh7GEvH74S6FOH42FLoXpXbE/aqXSrIQjXgsiwM= -golang.org/x/net v0.26.0/go.mod h1:5YKkiSynbBIh3p6iOc/vibscux0x38BZDkn8sCUPxHE= -golang.org/x/net v0.27.0/go.mod h1:dDi0PyhWNoiUOrAS8uXv/vnScO4wnHQO4mj9fn/RytE= -golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= -golang.org/x/net v0.29.0/go.mod h1:gLkgy8jTGERgjzMic6DS9+SP0ajcu6Xu3Orq/SpETg0= -golang.org/x/net v0.32.0/go.mod h1:CwU0IoeOlnQQWJ6ioyFrfRuomB8GKF6KbYXZVyeXNfs= -golang.org/x/oauth2 v0.0.0-20170207211851-4464e7848382/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= -golang.org/x/oauth2 v0.8.0/go.mod h1:yr7u4HXZRm1R1kBWqr/xKNqewf0plRYoB7sla+BCIXE= -golang.org/x/oauth2 v0.12.0/go.mod h1:A74bZ3aGXgCY0qaIC9Ahg6Lglin4AMAco8cIv9baba4= -golang.org/x/oauth2 v0.13.0/go.mod h1:/JMhi4ZRXAf4HG9LiNmxvk+45+96RUlVThiH8FzNBn0= -golang.org/x/oauth2 v0.15.0/go.mod h1:q48ptWNTY5XWf+JNten23lcvHpLJ0ZSxF5ttTHKVCAM= -golang.org/x/oauth2 v0.17.0/go.mod h1:OzPDGQiuQMguemayvdylqddI7qcD9lnSDb+1FiwQ5HA= -golang.org/x/oauth2 v0.18.0/go.mod h1:Wf7knwG0MPoWIMMBgFlEaSUDaKskp0dCfrlJRJXbBi8= -golang.org/x/oauth2 v0.19.0/go.mod h1:vYi7skDa1x015PmRRYZ7+s1cWyPgrPiSYRe4rnsexc8= -golang.org/x/oauth2 v0.21.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= golang.org/x/perf v0.0.0-20230113213139-801c7ef9e5c5/go.mod h1:UBKtEnL8aqnd+0JHqZ+2qoMDwtuy6cYhhKNoHLBiTQc= -golang.org/x/sync v0.0.0-20190412183630-56d357773e84/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20220819030929-7fc1605a5dde/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y= -golang.org/x/sync v0.4.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y= -golang.org/x/sync v0.5.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= -golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= -golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= -golang.org/x/sync v0.8.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= -golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190606203320-7fc4e5ec1444/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190922100055-0a153f010e69/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190924154521-2837fb4f24fe/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191008105621-543471e840be/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191115151921-52ab43148777/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200923182605-d9f96fdee20d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20201204225414-ed752295db88/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210303074136-134d130e1a04/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210304124612-50617c2ba197/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210603081109-ebe580a85c40/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210616045830-e2b7044e8c71/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210906170528-6f6e22806c34/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211007075335-d3039528d8ac/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211019181941-9d821ace8654/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211103235746-7861aae1554b/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211105183446-c75c47738b0c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211116061358-0a5406a5449c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220114195835-da31bd327af9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220204135822-1c1b9b1eba6a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220325203850-36772127a21f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220702020025-31831981b65f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.7.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.14.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.15.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.16.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.19.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.21.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.22.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.23.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.25.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/telemetry v0.0.0-20240521205824-bda55230c457/go.mod h1:pRgIJT+bRLFKnoM1ldnzKoxTIn14Yxz928LQRYYgIN0= -golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= -golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc= -golang.org/x/term v0.3.0/go.mod h1:q750SLmJuPmVoN1blW3UFBPREJfb1KmY3vwxfr+nFDA= -golang.org/x/term v0.15.0/go.mod h1:BDl952bC7+uMoWR75FIrCDx79TPU9oHkTZ9yRbYOrX0= -golang.org/x/term v0.23.0/go.mod h1:DgV24QBUrK6jhZXl+20l6UWznPlwAHm1Q1mGHtydmSk= -golang.org/x/term v0.27.0/go.mod h1:iMsnZpn0cago0GOrHO2+Y7u7JPn5AylBrcoWkElMTSM= -golang.org/x/text v0.5.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -golang.org/x/text v0.12.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= -golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= -golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= -golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= -golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= -golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= -golang.org/x/text v0.18.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= -golang.org/x/time v0.0.0-20200416051211-89c76fbcd5d1/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/tools v0.0.0-20180525024113-a5b4c53f6e8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190206041539-40960b6deb8e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190307163923-6a08e3108db3/go.mod h1:25r3+/G6/xytQM8iWZKq3Hn0kr0rgFKPUNVEL/dr3z4= -golang.org/x/tools v0.0.0-20190311215038-5c2858a9cfe5/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190321232350-e250d351ecad/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190322203728-c1a832b0ad89/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190624222133-a101b041ded4/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190907020128-2ca718005c18/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20190910044552-dd2b5c81c578/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20190916130336-e45ffcd953cc/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20190927191325-030b2cf1153e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191010075000-0337d82405ff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191216052735-49a3e744a425/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200117220505-0cba7a3a9ee9/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200324003944-a576cf524670/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= -golang.org/x/tools v0.0.0-20200329025819-fd4102a86c65/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= -golang.org/x/tools v0.0.0-20200414032229-332987a829c3/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200426102838-f3a5411a4c3b/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200622203043-20e05c1c8ffa/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200624225443-88f3c62a19ff/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200625211823-6506e20df31f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200626171337-aa94e735be7f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200630154851-b2d8b0336632/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200706234117-b22de6825cf7/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-20200724022722-7017fd6b1305/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-20200812195022-5ae4c3c160a0/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-20200820010801-b793a1359eac/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-20200831203904-5a2aa26beb65/go.mod h1:Cj7w3i3Rnn0Xh82ur9kSqwfTHTeVxaDqrfMjpcNT6bE= -golang.org/x/tools v0.0.0-20201001104356-43ebab892c4c/go.mod h1:z6u4i615ZeAfBE4XtMziQW1fSVJXACjjbWkB/mvPzlU= -golang.org/x/tools v0.0.0-20201002184944-ecd9fd270d5d/go.mod h1:z6u4i615ZeAfBE4XtMziQW1fSVJXACjjbWkB/mvPzlU= -golang.org/x/tools v0.0.0-20201023174141-c8cfbd0f21e6/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20201230224404-63754364767c/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.1.1-0.20210205202024-ef80cdb6ec6d/go.mod h1:9bzcO0MWcOuT0tm1iBGzDVPshzfwoVvREIui8C+MHqU= -golang.org/x/tools v0.1.1-0.20210302220138-2ac05c832e1a/go.mod h1:9bzcO0MWcOuT0tm1iBGzDVPshzfwoVvREIui8C+MHqU= -golang.org/x/tools v0.1.9-0.20211228192929-ee1ca4ffc4da/go.mod h1:nABZi5QlRsZVlzPpHl034qft6wpY4eDcsTt5AaioBiU= -golang.org/x/tools v0.1.9/go.mod h1:nABZi5QlRsZVlzPpHl034qft6wpY4eDcsTt5AaioBiU= -golang.org/x/tools v0.1.10/go.mod h1:Uh6Zz+xoGYZom868N8YTex3t7RhtHDBrE8Gzo9bV56E= -golang.org/x/tools v0.1.11/go.mod h1:SgwaegtQh8clINPpECJMqnxLv9I09HLqnW3RMqW0CA4= -golang.org/x/tools v0.3.0/go.mod h1:/rWhSS2+zyEVwoJf8YAX6L2f0ntZ7Kn/mGgAWcipA5k= -golang.org/x/tools v0.4.0/go.mod h1:UE5sM2OK9E/d67R0ANs2xJizIymRP5gJU295PvKXxjQ= -golang.org/x/tools v0.5.0/go.mod h1:N+Kgy78s5I24c24dU8OfWNEotWjutIs8SnJvn5IDq+k= -golang.org/x/tools v0.7.0/go.mod h1:4pg6aUX35JBAogB10C9AtvVL+qowtN4pT3CGSQex14s= -golang.org/x/tools v0.8.0/go.mod h1:JxBZ99ISMI5ViVkT1tr6tdNmXeTrcpVSD3vZ1RsRdN4= -golang.org/x/tools v0.9.3/go.mod h1:owI94Op576fPu3cIGQeHs3joujW/2Oc6MtlxbF5dfNc= -golang.org/x/tools v0.12.0/go.mod h1:Sc0INKfu04TlqNoRA1hgpFZbhYXHPr4V5DzpSBTPqQM= -golang.org/x/tools v0.12.1-0.20230825192346-2191a27a6dc5/go.mod h1:Sc0INKfu04TlqNoRA1hgpFZbhYXHPr4V5DzpSBTPqQM= -golang.org/x/tools v0.13.0/go.mod h1:HvlwmtVNQAhOuCjW7xxvovg8wbNq7LwfXh/k7wXUl58= -golang.org/x/tools v0.15.0/go.mod h1:hpksKq4dtpQWS1uQ61JkdqWM3LscIS6Slf+VVkm+wQk= -golang.org/x/tools v0.17.0/go.mod h1:xsh6VxdV005rRVaS6SSAf9oiAqljS7UZUacMZ8Bnsps= -golang.org/x/tools v0.18.0/go.mod h1:GL7B4CwcLLeo59yx/9UWWuNOW1n3VZ4f5axWfML7Lcg= -golang.org/x/tools v0.19.0/go.mod h1:qoJWxmGSIBmAeriMx19ogtrEPrGtDbPK634QFIcLAhc= -golang.org/x/tools v0.20.0/go.mod h1:WvitBU7JJf6A4jOdg4S1tviW9bhUxkgeCui/0JHctQg= -golang.org/x/tools v0.21.0/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= -golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= -golang.org/x/tools v0.22.0/go.mod h1:aCwcsjqvq7Yqt6TNyX7QMU2enbQ/Gt0bo6krSeEri+c= -golang.org/x/tools v0.23.0/go.mod h1:pnu6ufv6vQkll6szChhK3C3L/ruaIv5eBeztNG8wtsI= -golang.org/x/tools v0.24.0/go.mod h1:YhNqVBIfWHdzvTLs0d8LCuMhkKUgSUKldakyV7W/WDQ= -gonum.org/v1/gonum v0.0.0-20180816165407-929014505bf4/go.mod h1:Y+Yx5eoAFn32cQvJDxZx5Dpnq+c3wtXuadVZAcxbbBo= -gonum.org/v1/gonum v0.8.2/go.mod h1:oe/vMfY3deqTw+1EZJhuvEW2iwGF1bW9wwu7XCu0+v0= -gonum.org/v1/gonum v0.9.3/go.mod h1:TZumC3NeyVQskjXqmyWt4S3bINhy7B4eYwW69EbyX+0= gonum.org/v1/gonum v0.12.0/go.mod h1:73TDxJfAAHeA8Mk9mf8NlIppyhQNo5GLTcYeqgo2lvY= -gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw= -gonum.org/v1/plot v0.0.0-20190515093506-e2840ee46a6b/go.mod h1:Wt8AAjI+ypCyYX3nZBvf6cAIx93T+c/OS2HFAYskSZc= -gonum.org/v1/plot v0.9.0/go.mod h1:3Pcqqmp6RHvJI72kgb8fThyUnav364FOsdDo2aGW5lY= -gonum.org/v1/plot v0.10.0/go.mod h1:JWIHJ7U20drSQb/aDpTetJzfC1KlAPldJLpkSy88dvQ= -google.golang.org/api v0.0.0-20170206182103-3d017632ea10/go.mod h1:4mhQ8q/RsB7i+udVvVy5NUi08OU8ZlA0gRVgrF7VFY0= -google.golang.org/api v0.10.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= -google.golang.org/api v0.149.0/go.mod h1:Mwn1B7JTXrzXtnvmzQE2BD6bYZQ8DShKZDZbeN9I7qI= -google.golang.org/api v0.152.0/go.mod h1:3qNJX5eOmhiWYc67jRA/3GsDw97UFb5ivv7Y2PrriAY= -google.golang.org/api v0.169.0/go.mod h1:gpNOiMA2tZ4mf5R9Iwf4rK/Dcz0fbdIgWYWVoxmsyLg= -google.golang.org/api v0.171.0/go.mod h1:Hnq5AHm4OTMt2BUVjael2CWZFD6vksJdWCWiUAmjC9o= -google.golang.org/api v0.176.1/go.mod h1:j2MaSDYcvYV1lkZ1+SMW4IeF90SrEyFA+tluDYWRrFg= -google.golang.org/api v0.177.0/go.mod h1:srbhue4MLjkjbkux5p3dw/ocYOSZTaIEvf7bCOnFQDw= -google.golang.org/api v0.178.0/go.mod h1:84/k2v8DFpDRebpGcooklv/lais3MEfqpaBLA12gl2U= -google.golang.org/api v0.183.0/go.mod h1:q43adC5/pHoSZTx5h2mSmdF7NcyfW9JuDyIOJAgS9ZQ= -google.golang.org/api v0.184.0/go.mod h1:CeDTtUEiYENAf8PPG5VZW2yNp2VM3VWbCeTioAZBTBA= -google.golang.org/appengine v1.6.2/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= -google.golang.org/appengine v1.6.8 h1:IhEN5q69dyKagZPYMSdIjS2HqprW324FRQZJcGqPAsM= google.golang.org/appengine v1.6.8/go.mod h1:1jJ3jBArFh5pcgW8gCtRJnepW8FzD1V44FJffLiz/Ds= -google.golang.org/genproto v0.0.0-20170818010345-ee236bd376b0/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= -google.golang.org/genproto v0.0.0-20180518175338-11a468237815/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= -google.golang.org/genproto v0.0.0-20181107211654-5fc9ac540362/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= -google.golang.org/genproto v0.0.0-20190927181202-20e1ac93f88c/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8= -google.golang.org/genproto v0.0.0-20200324203455-a04cca1dde73/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200626011028-ee7919e894b5/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20200707001353-8e8330bf89df/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20230202175211-008b39050e57/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= -google.golang.org/genproto v0.0.0-20230306155012-7f2fa6fef1f4/go.mod h1:NWraEVixdDnqcqQ30jipen1STv2r/n24Wb7twVTGR4s= -google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1/go.mod h1:nKE/iIaLqn2bQwXBg8f1g2Ylh6r5MN5CmZvuzZCgsCU= -google.golang.org/genproto v0.0.0-20231002182017-d307bd883b97/go.mod h1:t1VqOqqvce95G3hIDCT5FeO3YUc6Q4Oe24L/+rNMxRk= -google.golang.org/genproto v0.0.0-20231106174013-bbf56f31fb17/go.mod h1:J7XzRzVy1+IPwWHZUzoD0IccYZIrXILAQpc+Qy9CMhY= -google.golang.org/genproto v0.0.0-20240213162025-012b6fc9bca9/go.mod h1:mqHbVIp48Muh7Ywss/AD6I5kNVKZMmAa/QEW58Gxp2s= -google.golang.org/genproto v0.0.0-20240528184218-531527333157/go.mod h1:ubQlAQnzejB8uZzszhrTCU2Fyp6Vi7ZE5nn0c3W8+qQ= -google.golang.org/genproto v0.0.0-20240617180043-68d350f18fd4/go.mod h1:EvuUDCulqGgV80RvP1BHuom+smhX4qtlhnNatHuroGQ= -google.golang.org/genproto/googleapis/api v0.0.0-20230920204549-e6e6cdab5c13/go.mod h1:RdyHbowztCGQySiCvQPgWQWgWhGnouTdCflKoDBt32U= -google.golang.org/genproto/googleapis/api v0.0.0-20231106174013-bbf56f31fb17/go.mod h1:0xJLfVdJqpAPl8tDg1ujOCGzx6LFLttXT5NhllGOXY4= -google.golang.org/genproto/googleapis/api v0.0.0-20231212172506-995d672761c0/go.mod h1:CAny0tYF+0/9rmDB9fahA9YLzX3+AEVl1qXbv5hhj6c= -google.golang.org/genproto/googleapis/api v0.0.0-20240311132316-a219d84964c2/go.mod h1:O1cOfN1Cy6QEYr7VxtjOyP5AdAuR0aJ/MYZaaof623Y= -google.golang.org/genproto/googleapis/api v0.0.0-20240318140521-94a12d6c2237/go.mod h1:Z5Iiy3jtmioajWHDGFk7CeugTyHtPvMHA4UTmUkyalE= -google.golang.org/genproto/googleapis/api v0.0.0-20240325203815-454cdb8f5daa/go.mod h1:K4kfzHtI0kqWA79gecJarFtDn/Mls+GxQcg3Zox91Ac= -google.golang.org/genproto/googleapis/api v0.0.0-20240415180920-8c6c420018be/go.mod h1:dvdCTIoAGbkWbcIKBniID56/7XHTt6WfxXNMxuziJ+w= -google.golang.org/genproto/googleapis/api v0.0.0-20240429193739-8cf5692501f6/go.mod h1:10yRODfgim2/T8csjQsMPgZOMvtytXKTDRzH6HRGzRw= -google.golang.org/genproto/googleapis/api v0.0.0-20240506185236-b8a5c65736ae/go.mod h1:FfiGhwUm6CJviekPrc0oJ+7h29e+DmWU6UtjX0ZvI7Y= -google.golang.org/genproto/googleapis/api v0.0.0-20240513163218-0867130af1f8/go.mod h1:vPrPUTsDCYxXWjP7clS81mZ6/803D8K4iM9Ma27VKas= -google.golang.org/genproto/googleapis/api v0.0.0-20240528184218-531527333157/go.mod h1:99sLkeliLXfdj2J75X3Ho+rrVCaJze0uwN7zDDkjPVU= -google.golang.org/genproto/googleapis/api v0.0.0-20240604185151-ef581f913117/go.mod h1:OimBR/bc1wPO9iV4NC2bpyjy3VnAwZh5EBPQdtaE5oo= -google.golang.org/genproto/googleapis/api v0.0.0-20240617180043-68d350f18fd4/go.mod h1:px9SlOOZBg1wM1zdnr8jEL4CNGUBZ+ZKYtNPApNQc4c= -google.golang.org/genproto/googleapis/api v0.0.0-20240624140628-dc46fd24d27d/go.mod h1:Od4k8V1LQSizPRUK4OzZ7TBE/20k+jPczUDAEyvn69Y= -google.golang.org/genproto/googleapis/bytestream v0.0.0-20240429193739-8cf5692501f6/go.mod h1:ULqtoQMxDLNRfW+pJbKA68wtIy1OiYjdIsJs3PMpzh8= google.golang.org/genproto/googleapis/bytestream v0.0.0-20240617180043-68d350f18fd4/go.mod h1:/oe3+SiHAwz6s+M25PyTygWm3lnrhmGqIuIfkoUocqk= -google.golang.org/genproto/googleapis/rpc v0.0.0-20230525234030-28d5490b6b19/go.mod h1:66JfowdXAEgad5O9NnYcsNPLCPZJD++2L9X0PCMODrA= -google.golang.org/genproto/googleapis/rpc v0.0.0-20230822172742-b8732ec3820d/go.mod h1:+Bk1OCOj40wS2hwAMA+aCW9ypzm63QTBBHp6lQ3p+9M= -google.golang.org/genproto/googleapis/rpc v0.0.0-20231009173412-8bfb1ae86b6c/go.mod h1:4cYg8o5yUbm77w8ZX00LhMVNl/YVBFJRYWDc0uYWMs0= -google.golang.org/genproto/googleapis/rpc v0.0.0-20231106174013-bbf56f31fb17/go.mod h1:oQ5rr10WTTMvP4A36n8JpR1OrO1BEiV4f78CneXZxkA= -google.golang.org/genproto/googleapis/rpc v0.0.0-20231120223509-83a465c0220f/go.mod h1:L9KNLi232K1/xB6f7AlSX692koaRnKaWSR0stBki0Yc= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240108191215-35c7eff3a6b1/go.mod h1:daQN87bsDqDoe316QbbvX60nMoJQa4r6Ds0ZuoAe5yA= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240123012728-ef4313101c80/go.mod h1:PAREbraiVEVGVdTZsVWjSbbTtSyGbAgIIvni8a8CD5s= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240304161311-37d4d3c04a78/go.mod h1:UCOku4NytXMJuLQE5VuqA5lX3PcHCBo8pxNyvkf4xBs= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240314234333-6e1732d8331c/go.mod h1:WtryC6hu0hhx87FDGxWCDptyssuo68sk10vYjF+T9fY= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240325203815-454cdb8f5daa/go.mod h1:WtryC6hu0hhx87FDGxWCDptyssuo68sk10vYjF+T9fY= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240415180920-8c6c420018be/go.mod h1:WtryC6hu0hhx87FDGxWCDptyssuo68sk10vYjF+T9fY= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240429193739-8cf5692501f6/go.mod h1:WtryC6hu0hhx87FDGxWCDptyssuo68sk10vYjF+T9fY= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240513163218-0867130af1f8/go.mod h1:I7Y+G38R2bu5j1aLzfFmQfTcU/WnFuqDwLZAbvKTKpM= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240528184218-531527333157/go.mod h1:EfXuqaE1J41VCDicxHzUDm+8rk+7ZdXzHV0IhO/I6s0= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117/go.mod h1:EfXuqaE1J41VCDicxHzUDm+8rk+7ZdXzHV0IhO/I6s0= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240610135401-a8a62080eff3/go.mod h1:EfXuqaE1J41VCDicxHzUDm+8rk+7ZdXzHV0IhO/I6s0= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240617180043-68d350f18fd4/go.mod h1:Ue6ibwXGpU+dqIcODieyLOcgj7z8+IcskoNIgZxtrFY= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240624140628-dc46fd24d27d/go.mod h1:Ue6ibwXGpU+dqIcODieyLOcgj7z8+IcskoNIgZxtrFY= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240730163845-b1a4ccb954bf/go.mod h1:Ue6ibwXGpU+dqIcODieyLOcgj7z8+IcskoNIgZxtrFY= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= -google.golang.org/grpc v0.0.0-20170208002647-2a6bf6142e96/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= -google.golang.org/grpc v1.8.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= -google.golang.org/grpc v1.12.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= -google.golang.org/grpc v1.24.0/go.mod h1:XDChyiUovWa60DnaeDeZmSW86xtLtjtZbwvSiRnRtcA= -google.golang.org/grpc v1.29.0/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk= -google.golang.org/grpc v1.53.0/go.mod h1:OnIrk0ipVdj4N5d9IUoFUx72/VlD7+jUsHwZgwSMQpw= -google.golang.org/grpc v1.55.0/go.mod h1:iYEXKGkEBhg1PjZQvoYEVPTDkHo1/bjTnfwTeGONTY8= -google.golang.org/grpc v1.56.3/go.mod h1:I9bI3vqKfayGqPUAwGdOSu7kt6oIJLixfffKrpXqQ9s= -google.golang.org/grpc v1.57.0/go.mod h1:Sd+9RMTACXwmub0zcNY2c4arhtrbBYD1AUHI/dt16Mo= -google.golang.org/grpc v1.58.3/go.mod h1:tgX3ZQDlNJGU96V6yHh1T/JeoBQ2TXdr43YbYSsCJk0= -google.golang.org/grpc v1.59.0/go.mod h1:aUPDwccQo6OTjy7Hct4AfBPD1GptF4fyUjIkQ9YtF98= -google.golang.org/grpc v1.60.0/go.mod h1:OlCHIeLYqSSsLi6i49B5QGdzaMZK9+M7LXN2FKz4eGM= -google.golang.org/grpc v1.60.1/go.mod h1:OlCHIeLYqSSsLi6i49B5QGdzaMZK9+M7LXN2FKz4eGM= -google.golang.org/grpc v1.61.0/go.mod h1:VUbo7IFqmF1QtCAstipjG0GIoq49KvMe9+h1jFLBNJs= -google.golang.org/grpc v1.62.1/go.mod h1:IWTG0VlJLCh1SkC58F7np9ka9mx/WNkjl4PGJaiq+QE= -google.golang.org/grpc v1.63.2/go.mod h1:WAX/8DgncnokcFUldAxq7GeB5DXHDbMF+lLvDomNkRA= -google.golang.org/grpc v1.64.0/go.mod h1:oxjF8E3FBnjp+/gVFYdWacaLDx9na1aqy9oovLpxQYg= -google.golang.org/grpc v1.64.1/go.mod h1:hiQF4LFZelK2WKaP6W0L92zGHtiQdZxk8CrSdvyjeP0= -google.golang.org/protobuf v1.27.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.28.2-0.20230222093303-bc1253ad3743/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= -google.golang.org/protobuf v1.29.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= -google.golang.org/protobuf v1.31.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= -google.golang.org/protobuf v1.32.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= -google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= -google.golang.org/protobuf v1.34.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= -google.golang.org/protobuf v1.34.1/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= -gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/cheggaaa/pb.v1 v1.0.28/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qStrOgw= -gopkg.in/ini.v1 v1.66.6/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= -gopkg.in/yaml.v2 v2.2.6/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v3 v3.0.0/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gotest.tools v2.2.0+incompatible h1:VsBPFP1AI068pPrMxtb/S8Zkgf9xEmTLJjfM+P5UIEo= gotest.tools v2.2.0+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81HFBacw= -gotest.tools/v3 v3.0.2/go.mod h1:3SzNCllyD9/Y+b5r9JIKQ474KzkZyqLqEfYqMsX94Bk= -gotest.tools/v3 v3.2.0/go.mod h1:Mcr9QNxkg0uMvy/YElmo4SpXgJKWgQvYrT7Kw5RzJ1A= -honnef.co/go/tools v0.3.3/go.mod h1:jzwdWgg7Jdq75wlfblQxO4neNaFFSvgc1tD5Wv8U0Yw= -honnef.co/go/tools v0.4.3/go.mod h1:36ZgoUOrqOk1GxwHhyryEkq8FQWkUO2xGuSMhUCcdvA= honnef.co/go/tools v0.4.7/go.mod h1:+rnGS1THNh8zMwnd2oVOTL9QF6vmfyG6ZXBULae2uc0= -moul.io/http2curl/v2 v2.3.0/go.mod h1:RW4hyBjTWSYDOxapodpNEtX0g5Eb16sxklBqmd2RHcE= -mvdan.cc/gofumpt v0.4.0/go.mod h1:PljLOHDeZqgS8opHRKLzp2It2VBuSdteAgqUfzMTxlQ= mvdan.cc/gofumpt v0.6.0/go.mod h1:4L0wf+kgIPZtcCWXynNS2e6bhmj73umwnuXSZarixzA= mvdan.cc/interfacer v0.0.0-20180901003855-c20040233aed/go.mod h1:Xkxe497xwlCKkIaQYRfC7CSLworTXY9RMqwhhCm+8Nc= mvdan.cc/lint v0.0.0-20170908181259-adc824a0674b/go.mod h1:2odslEg/xrtNQqCYg2/jCoyKnw3vv5biOc3JnIcYfL4= -mvdan.cc/unparam v0.0.0-20220706161116-678bad134442/go.mod h1:F/Cxw/6mVrNKqrR2YjFf5CaW0Bw4RL8RfbEf4GRggJk= -mvdan.cc/unparam v0.0.0-20221223090309-7455f1af531d/go.mod h1:IeHQjmn6TOD+e4Z3RFiZMMsLVL+A96Nvptar8Fj71is= mvdan.cc/unparam v0.0.0-20240528143540-8a5130ca722f/go.mod h1:RSLa7mKKCNeTTMHBw5Hsy2rfJmd6O2ivt9Dw9ZqCQpQ= diff --git a/post/expected_keepers.go b/post/expected_keepers.go index b0cefbfa9..bd060dd9f 100644 --- a/post/expected_keepers.go +++ b/post/expected_keepers.go @@ -15,11 +15,11 @@ import ( //go:generate mockery --name AccountKeeper --filename mock_account_keeper.go type AccountKeeper interface { GetParams(ctx context.Context) (params authtypes.Params) - GetAccount(ctx context.Context, addr sdk.AccAddress) authtypes.AccountI - SetAccount(ctx context.Context, acc authtypes.AccountI) + GetAccount(ctx context.Context, addr sdk.AccAddress) sdk.AccountI + SetAccount(ctx context.Context, acc sdk.AccountI) GetModuleAddress(moduleName string) sdk.AccAddress - GetModuleAccount(ctx context.Context, name string) authtypes.ModuleAccountI - NewAccountWithAddress(ctx context.Context, addr sdk.AccAddress) authtypes.AccountI + GetModuleAccount(ctx context.Context, name string) sdk.ModuleAccountI + NewAccountWithAddress(ctx context.Context, addr sdk.AccAddress) sdk.AccountI } // BankKeeper defines the contract needed for supply related APIs. diff --git a/post/tax.go b/post/tax.go index 043d0d5d3..fa0488791 100644 --- a/post/tax.go +++ b/post/tax.go @@ -253,7 +253,7 @@ func (td TaxDecorator) isTaxable(ctx sdk.Context, sdkTx sdk.Tx) (rewards sdk.Coi } // getFeePayer returns the fee payer and checks if a fee grant exists -func (td TaxDecorator) getFeePayer(ctx sdk.Context, feeTx sdk.FeeTx, tax sdk.Coins, msgs []sdk.Msg) (types.AccountI, error) { +func (td TaxDecorator) getFeePayer(ctx sdk.Context, feeTx sdk.FeeTx, tax sdk.Coins, msgs []sdk.Msg) (sdk.AccountI, error) { feePayer := feeTx.FeePayer() feeGranter := feeTx.FeeGranter() deductFrom := feePayer @@ -296,7 +296,7 @@ func (td TaxDecorator) validateTax(tax sdk.Coins, simulate bool) error { } // deductTaxFromFeePayer deducts fees from the account -func (td TaxDecorator) deductTaxFromFeePayer(ctx sdk.Context, acc types.AccountI, fees sdk.Coins) error { +func (td TaxDecorator) deductTaxFromFeePayer(ctx sdk.Context, acc sdk.AccountI, fees sdk.Coins) error { // ensure module account has been set if addr := td.accountKeeper.GetModuleAddress(didtypes.ModuleName); addr == nil { return fmt.Errorf("cheqd fee collector module account (%s) has not been set", didtypes.ModuleName) diff --git a/proto/cheqd/did/v2/fee.proto b/proto/cheqd/did/v2/fee.proto index 9cda411c9..b5337bbe3 100644 --- a/proto/cheqd/did/v2/fee.proto +++ b/proto/cheqd/did/v2/fee.proto @@ -1,6 +1,7 @@ syntax = "proto3"; package cheqd.did.v2; +import "amino/amino.proto"; import "cosmos/base/v1beta1/coin.proto"; import "cosmos_proto/cosmos.proto"; import "gogoproto/gogo.proto"; @@ -30,7 +31,8 @@ message FeeParams { // Default: 0.5 (50%) string burn_factor = 4 [ (cosmos_proto.scalar) = "cosmos.Dec", - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", + (amino.dont_omitempty) = true, (gogoproto.nullable) = false ]; } diff --git a/proto/cheqd/did/v2/query.proto b/proto/cheqd/did/v2/query.proto index f2e54ff9e..bfbadc416 100644 --- a/proto/cheqd/did/v2/query.proto +++ b/proto/cheqd/did/v2/query.proto @@ -2,8 +2,11 @@ syntax = "proto3"; package cheqd.did.v2; +import "amino/amino.proto"; import "cheqd/did/v2/diddoc.proto"; +import "cheqd/did/v2/fee.proto"; import "cosmos/base/query/v1beta1/pagination.proto"; +import "gogoproto/gogo.proto"; import "google/api/annotations.proto"; option go_package = "github.com/cheqd/cheqd-node/x/did/types"; @@ -24,6 +27,10 @@ service Query { rpc AllDidDocVersionsMetadata(QueryAllDidDocVersionsMetadataRequest) returns (QueryAllDidDocVersionsMetadataResponse) { option (google.api.http) = {get: "/cheqd/did/v2/{id}/versions"}; } + // Params queries params of the did module. + rpc Params(QueryParamsRequest) returns (QueryParamsResponse) { + option (google.api.http).get = "/cheqd/did/v2/params"; + } } // QueryDidDocRequest is the request type for the Query/DidDoc method @@ -100,3 +107,15 @@ message QueryAllDidDocVersionsMetadataResponse { // pagination defines the pagination in the response. cosmos.base.query.v1beta1.PageResponse pagination = 2; } + +// QueryParamsRequest is the request type for the Query/Params RPC method. +message QueryParamsRequest {} + +// QueryParamsResponse is the response type for the Query/Params RPC method. +message QueryParamsResponse { + // params defines the parameters of the module. + FeeParams params = 1 [ + (gogoproto.nullable) = false, + (amino.dont_omitempty) = true + ]; +} diff --git a/proto/cheqd/did/v2/tx.proto b/proto/cheqd/did/v2/tx.proto index d69918069..bf87dfd0e 100644 --- a/proto/cheqd/did/v2/tx.proto +++ b/proto/cheqd/did/v2/tx.proto @@ -2,18 +2,19 @@ syntax = "proto3"; package cheqd.did.v2; -import "cheqd/did/v2/diddoc.proto"; -import "cosmos/msg/v1/msg.proto"; import "amino/amino.proto"; +import "cheqd/did/v2/diddoc.proto"; +import "cheqd/did/v2/fee.proto"; import "cosmos/base/v1beta1/coin.proto"; +import "cosmos/msg/v1/msg.proto"; import "cosmos_proto/cosmos.proto"; import "gogoproto/gogo.proto"; - option go_package = "github.com/cheqd/cheqd-node/x/did/types"; // Msg defines the Cosmos SDK Msg service for the cheqd.did.v2 module. service Msg { + option (cosmos.msg.v1.service) = true; // CreateDidDoc defines a method for creating a new DID document rpc CreateDidDoc(MsgCreateDidDoc) returns (MsgCreateDidDocResponse); @@ -25,9 +26,10 @@ service Msg { rpc Burn(MsgBurn) returns (MsgBurnResponse); - // Mint defines a method to mint tokens to the given address. rpc Mint(MsgMint) returns (MsgMintResponse); + + rpc UpdateParams(MsgUpdateParams) returns (MsgUpdateParamsResponse); } // MsgCreateDidDoc defines the Msg/CreateDidDoc request type. @@ -224,13 +226,13 @@ message MsgDeactivateDidDocResponse { // MsgBurn represents a message to burn coins from the message signer account message MsgBurn { option (cosmos.msg.v1.signer) = "from_address"; - - option (gogoproto.equal) = false; + + option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; - string from_address = 1 [(cosmos_proto.scalar) = "cosmos.AddressString"]; + string from_address = 1 [(cosmos_proto.scalar) = "cosmos.AddressString"]; repeated cosmos.base.v1beta1.Coin amount = 2 [ - (gogoproto.nullable) = false, - (amino.dont_omitempty) = true, + (gogoproto.nullable) = false, + (amino.dont_omitempty) = true, (gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.Coins" ]; } @@ -243,13 +245,35 @@ message MsgBurnResponse {} message MsgMint { option (cosmos.msg.v1.signer) = "authority"; - string authority = 1 [ (gogoproto.moretags) = "yaml:\"authority\"" ]; - string to_address = 2 [(cosmos_proto.scalar) = "cosmos.AddressString"]; + string authority = 1 [(gogoproto.moretags) = "yaml:\"authority\""]; + string to_address = 2 [(cosmos_proto.scalar) = "cosmos.AddressString"]; repeated cosmos.base.v1beta1.Coin amount = 3 [ - (gogoproto.nullable) = false, - (amino.dont_omitempty) = true, + (gogoproto.nullable) = false, + (amino.dont_omitempty) = true, (gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.Coins" ]; } message MsgMintResponse {} + +message MsgUpdateParams { + option (cosmos.msg.v1.signer) = "authority"; + + // authority is the address that controls the module (defaults to x/gov unless overwritten). + string authority = 1 [(cosmos_proto.scalar) = "cosmos.AddressString"]; + option (amino.name) = "/x/did/MsgUpdateParams"; + + // params defines the x/did parameters to update. + // + // NOTE: All parameters must be supplied. + FeeParams params = 2 [ + (gogoproto.nullable) = false, + (amino.dont_omitempty) = true + ]; +} + +// MsgUpdateParamsResponse defines the response structure for executing a +// MsgUpdateParams message. +// +// Since: cosmos-sdk 0.47 +message MsgUpdateParamsResponse {} diff --git a/proto/cheqd/resource/v2/fee.proto b/proto/cheqd/resource/v2/fee.proto index edb87dcee..334a5741e 100644 --- a/proto/cheqd/resource/v2/fee.proto +++ b/proto/cheqd/resource/v2/fee.proto @@ -4,6 +4,7 @@ package cheqd.resource.v2; import "cosmos/base/v1beta1/coin.proto"; import "cosmos_proto/cosmos.proto"; import "gogoproto/gogo.proto"; +import "amino/amino.proto"; option go_package = "github.com/cheqd/cheqd-node/x/resource/types"; option (gogoproto.equal_all) = true; @@ -31,7 +32,8 @@ message FeeParams { // Default: 0.5 (50%) string burn_factor = 4 [ (cosmos_proto.scalar) = "cosmos.Dec", - (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec", + (gogoproto.customtype) = "cosmossdk.io/math.LegacyDec", + (amino.dont_omitempty) = true, (gogoproto.nullable) = false ]; } diff --git a/proto/cheqd/resource/v2/tx.proto b/proto/cheqd/resource/v2/tx.proto index 4e24cb2a6..8f788da0a 100644 --- a/proto/cheqd/resource/v2/tx.proto +++ b/proto/cheqd/resource/v2/tx.proto @@ -5,13 +5,19 @@ package cheqd.resource.v2; import "cheqd/did/v2/tx.proto"; import "cheqd/resource/v2/resource.proto"; import "gogoproto/gogo.proto"; +import "cheqd/resource/v2/fee.proto"; +import "cosmos_proto/cosmos.proto"; +import "cosmos/msg/v1/msg.proto"; +import "amino/amino.proto"; option go_package = "github.com/cheqd/cheqd-node/x/resource/types"; // Msg defines the Cosmos SDK Msg service for the cheqd.resource.v2 module. service Msg { + option (cosmos.msg.v1.service) = true; // CreateResource defines a method for creating a resource. rpc CreateResource(MsgCreateResource) returns (MsgCreateResourceResponse); + rpc UpdateParams(MsgUpdateParams) returns (MsgUpdateParamsResponse); } // MsgCreateResource defines the Msg/CreateResource request type. @@ -86,3 +92,22 @@ message MsgCreateResourceResponse { // Return the created resource metadata. Metadata resource = 1 [(gogoproto.jsontag) = "linkedResourceMetadata"]; } + + +// MsgUpdateParams is the Msg/UpdateParams request type. +message MsgUpdateParams { + option (cosmos.msg.v1.signer) = "authority"; + + // authority is the address of the governance account. + string authority = 1 [(cosmos_proto.scalar) = "cosmos.AddressString"]; + option (amino.name) = "/x/did/MsgUpdateParams"; + + // params defines the x/mint parameters to update. + // + // NOTE: All parameters must be supplied. + FeeParams params = 2 [(gogoproto.nullable) = false]; +} + +// MsgUpdateParamsResponse defines the response structure for executing a +// MsgUpdateParams message. +message MsgUpdateParamsResponse {} diff --git a/tests/integration/cli_defi_negative_test.go b/tests/integration/cli_defi_negative_test.go index 13a23e53a..a85e5a95b 100644 --- a/tests/integration/cli_defi_negative_test.go +++ b/tests/integration/cli_defi_negative_test.go @@ -26,7 +26,7 @@ var _ = Describe("Upgrade - Feemarket fees (non-taxable transactions) negative", Expect(err).To(BeNil()) // define the coins to send, in which case 1,000,000,000 ncheq or 1 cheq - coins := sdk.NewCoin(didtypes.BaseMinimalDenom, sdk.NewInt(1_000_000_000)) + coins := sdk.NewCoin(didtypes.BaseMinimalDenom, sdkmath.NewInt(1_000_000_000)) // compute gas price, using offset gasPrice.Price.Amount = gasPrice.Price.Amount.Mul(sdkmath.LegacyNewDec(didtypes.FeeOffset)) @@ -59,7 +59,7 @@ var _ = Describe("Upgrade - Feemarket fees (non-taxable transactions) negative", Expect(err).To(BeNil()) // define the coins to send, in which case 1,000,000,000 ncheq or 1 cheq - coins := sdk.NewCoin(didtypes.BaseMinimalDenom, sdk.NewInt(1_000_000_000)) + coins := sdk.NewCoin(didtypes.BaseMinimalDenom, sdkmath.NewInt(1_000_000_000)) // define static fees, in which case gas price is multiplied by roughly 3 or greater, times the minimal base denom // consider multiplying in the range of [1.5, 3] times the gas price diff --git a/tests/integration/cli_defi_test.go b/tests/integration/cli_defi_test.go index f840c7e77..18c7957fb 100644 --- a/tests/integration/cli_defi_test.go +++ b/tests/integration/cli_defi_test.go @@ -17,7 +17,7 @@ import ( var _ = Describe("Upgrade - Burn coins from relevant message signer", func() { It("should burn the coins from the given address", func() { // define the coins to burn, in which case 1,000,000 ncheq or 0.01 cheq - burnCoins := sdk.NewCoin(didtypes.BaseMinimalDenom, sdk.NewInt(1_000_000)) + burnCoins := sdk.NewCoin(didtypes.BaseMinimalDenom, sdkmath.NewInt(1_000_000)) // get the balance of the account before burning the coins balanceBefore, err := cli.QueryBalance(testdata.BASE_ACCOUNT_1_ADDR, didtypes.BaseMinimalDenom) @@ -47,7 +47,7 @@ var _ = Describe("Upgrade - Burn coins from relevant message signer", func() { diff := balanceBefore.Sub(balanceAfter) // assert the difference is equal to the coins burnt - total := burnCoins.Add(sdk.NewCoin(didtypes.BaseMinimalDenom, sdk.NewInt(3_500_000_000))) + total := burnCoins.Add(sdk.NewCoin(didtypes.BaseMinimalDenom, sdkmath.NewInt(3_500_000_000))) // assert the difference is equal to the coins burnt Expect(diff).To(Equal(total)) @@ -55,7 +55,7 @@ var _ = Describe("Upgrade - Burn coins from relevant message signer", func() { It("shouldn't burn if sender has insufficient funds", func() { // define the coins to burn, in which case 1,000,000 ncheq or 0.01 cheq - coins := sdk.NewCoin(didtypes.BaseMinimalDenom, sdk.NewInt(1_000_000)) + coins := sdk.NewCoin(didtypes.BaseMinimalDenom, sdkmath.NewInt(1_000_000)) // get the balance of the account before burning the coins balanceBefore, err := cli.QueryBalance(testdata.BASE_ACCOUNT_3_ADDR, didtypes.BaseMinimalDenom) @@ -98,7 +98,7 @@ var _ = Describe("Upgrade - Feemarket fees (non-taxable transactions)", func() { Expect(err).To(BeNil()) // define the coins to send, in which case 1,000,000,000 ncheq or 1 cheq - coins := sdk.NewCoin(didtypes.BaseMinimalDenom, sdk.NewInt(1_000_000_000)) + coins := sdk.NewCoin(didtypes.BaseMinimalDenom, sdkmath.NewInt(1_000_000_000)) // compute gas price, using offset gasPrice.Price.Amount = gasPrice.Price.Amount.Mul(sdkmath.LegacyNewDec(didtypes.FeeOffset)) @@ -131,7 +131,7 @@ var _ = Describe("Upgrade - Feemarket fees (non-taxable transactions)", func() { Expect(err).To(BeNil()) // define the coins to send, in which case 1,000,000,000 ncheq or 1 cheq - coins := sdk.NewCoin(didtypes.BaseMinimalDenom, sdk.NewInt(1_000_000_000)) + coins := sdk.NewCoin(didtypes.BaseMinimalDenom, sdkmath.NewInt(1_000_000_000)) // define static fees, in which case gas price is multiplied by roughly 3 or greater, times the minimal base denom // consider multiplying in the range of [1.5, 3] times the gas price diff --git a/tests/integration/cli_diddoc_pricing_negative_test.go b/tests/integration/cli_diddoc_pricing_negative_test.go index be666184b..793d77559 100644 --- a/tests/integration/cli_diddoc_pricing_negative_test.go +++ b/tests/integration/cli_diddoc_pricing_negative_test.go @@ -5,6 +5,7 @@ package integration import ( "crypto/ed25519" + sdkmath "cosmossdk.io/math" "github.com/cheqd/cheqd-node/tests/integration/cli" "github.com/cheqd/cheqd-node/tests/integration/helpers" "github.com/cheqd/cheqd-node/tests/integration/network" @@ -81,7 +82,7 @@ var _ = Describe("cheqd cli - negative diddoc pricing", func() { It("should not succeed in create diddoc message - case: fixed fee, invalid denom", func() { By("submitting create diddoc message with invalid denom") - invalidTax := sdk.NewCoin("invalid", sdk.NewInt(feeParams.CreateDid.Amount.Int64())) + invalidTax := sdk.NewCoin("invalid", sdkmath.NewInt(feeParams.CreateDid.Amount.Int64())) res, err := cli.CreateDidDoc(tmpDir, payload, signInputs, "", testdata.BASE_ACCOUNT_5, helpers.GenerateFees(invalidTax.String())) Expect(err).To(BeNil()) Expect(res.Code).To(BeEquivalentTo(10)) @@ -108,7 +109,7 @@ var _ = Describe("cheqd cli - negative diddoc pricing", func() { } By("submitting update diddoc message with invalid denom") - invalidTax := sdk.NewCoin("invalid", sdk.NewInt(feeParams.GetUpdateDid().Amount.Int64())) + invalidTax := sdk.NewCoin("invalid", sdkmath.NewInt(feeParams.GetUpdateDid().Amount.Int64())) res, err = cli.UpdateDidDoc(tmpDir, payload2, signInputs, "", testdata.BASE_ACCOUNT_5, helpers.GenerateFees(invalidTax.String())) Expect(err).To(BeNil()) Expect(res.Code).To(BeEquivalentTo(10)) @@ -126,7 +127,7 @@ var _ = Describe("cheqd cli - negative diddoc pricing", func() { } By("submitting deactivate diddoc message with invalid denom") - invalidTax := sdk.NewCoin("invalid", sdk.NewInt(feeParams.GetDeactivateDid().Amount.Int64())) + invalidTax := sdk.NewCoin("invalid", sdkmath.NewInt(feeParams.GetDeactivateDid().Amount.Int64())) res, err = cli.DeactivateDidDoc(tmpDir, payload2, signInputs, "", testdata.BASE_ACCOUNT_5, helpers.GenerateFees(invalidTax.String())) Expect(err).To(BeNil()) Expect(res.Code).To(BeEquivalentTo(10)) @@ -134,7 +135,7 @@ var _ = Describe("cheqd cli - negative diddoc pricing", func() { It("should not fail in create diddoc message - case: fixed fee, lower amount than required", func() { By("submitting create diddoc message with lower amount than required") - lowerTax := sdk.NewCoin(feeParams.CreateDid.Denom, sdk.NewInt(feeParams.CreateDid.Amount.Int64()-1)) + lowerTax := sdk.NewCoin(feeParams.CreateDid.Denom, sdkmath.NewInt(feeParams.CreateDid.Amount.Int64()-1)) res, err := cli.CreateDidDoc(tmpDir, payload, signInputs, "", testdata.BASE_ACCOUNT_4, helpers.GenerateFees(lowerTax.String())) Expect(err).To(BeNil()) Expect(res.Code).To(BeEquivalentTo(0)) @@ -162,7 +163,7 @@ var _ = Describe("cheqd cli - negative diddoc pricing", func() { } By("submitting update diddoc message with lower amount than required") - lowerTax := sdk.NewCoin(feeParams.UpdateDid.Denom, sdk.NewInt(feeParams.UpdateDid.Amount.Int64()-1)) + lowerTax := sdk.NewCoin(feeParams.UpdateDid.Denom, sdkmath.NewInt(feeParams.UpdateDid.Amount.Int64()-1)) res, err = cli.UpdateDidDoc(tmpDir, payload2, signInputs, "", testdata.BASE_ACCOUNT_5, helpers.GenerateFees(lowerTax.String())) Expect(err).To(BeNil()) Expect(res.Code).To(BeEquivalentTo(0)) @@ -180,7 +181,7 @@ var _ = Describe("cheqd cli - negative diddoc pricing", func() { } By("submitting deactivate diddoc message with lower amount than required") - lowerTax := sdk.NewCoin(feeParams.DeactivateDid.Denom, sdk.NewInt(feeParams.DeactivateDid.Amount.Int64()-1)) + lowerTax := sdk.NewCoin(feeParams.DeactivateDid.Denom, sdkmath.NewInt(feeParams.DeactivateDid.Amount.Int64()-1)) res, err = cli.DeactivateDidDoc(tmpDir, payload2, signInputs, "", testdata.BASE_ACCOUNT_5, helpers.GenerateFees(lowerTax.String())) Expect(err).To(BeNil()) Expect(res.Code).To(BeEquivalentTo(0)) @@ -193,7 +194,7 @@ var _ = Describe("cheqd cli - negative diddoc pricing", func() { By("submitting the create diddoc message with double the tax") tax := feeParams.CreateDid - doubleTax := sdk.NewCoin(types.BaseMinimalDenom, tax.Amount.Mul(sdk.NewInt(2))) + doubleTax := sdk.NewCoin(types.BaseMinimalDenom, tax.Amount.Mul(sdkmath.NewInt(2))) res, err := cli.CreateDidDoc(tmpDir, payload, signInputs, "", testdata.BASE_ACCOUNT_5, helpers.GenerateFees(doubleTax.String())) Expect(err).To(BeNil()) Expect(res.Code).To(BeEquivalentTo(0)) @@ -234,7 +235,7 @@ var _ = Describe("cheqd cli - negative diddoc pricing", func() { By("submitting the update diddoc message with double the tax") tax := feeParams.UpdateDid - doubleTax := sdk.NewCoin(types.BaseMinimalDenom, tax.Amount.Mul(sdk.NewInt(2))) + doubleTax := sdk.NewCoin(types.BaseMinimalDenom, tax.Amount.Mul(sdkmath.NewInt(2))) res, err = cli.UpdateDidDoc(tmpDir, payload2, signInputs, "", testdata.BASE_ACCOUNT_5, helpers.GenerateFees(doubleTax.String())) Expect(err).To(BeNil()) Expect(res.Code).To(BeEquivalentTo(0)) @@ -266,7 +267,7 @@ var _ = Describe("cheqd cli - negative diddoc pricing", func() { By("submitting the deactivate diddoc message with double the tax") tax := feeParams.DeactivateDid - doubleTax := sdk.NewCoin(types.BaseMinimalDenom, tax.Amount.Mul(sdk.NewInt(2))) + doubleTax := sdk.NewCoin(types.BaseMinimalDenom, tax.Amount.Mul(sdkmath.NewInt(2))) res, err = cli.DeactivateDidDoc(tmpDir, payload2, signInputs, "", testdata.BASE_ACCOUNT_5, helpers.GenerateFees(doubleTax.String())) Expect(err).To(BeNil()) Expect(res.Code).To(BeEquivalentTo(0)) diff --git a/tests/integration/cli_mint_proposal_test.go b/tests/integration/cli_mint_proposal_test.go index b06da0793..da8cdd0a4 100644 --- a/tests/integration/cli_mint_proposal_test.go +++ b/tests/integration/cli_mint_proposal_test.go @@ -5,6 +5,7 @@ package integration import ( "path/filepath" + sdkmath "cosmossdk.io/math" cli "github.com/cheqd/cheqd-node/tests/integration/cli" didtypes "github.com/cheqd/cheqd-node/x/did/types" sdk "github.com/cosmos/cosmos-sdk/types" @@ -112,7 +113,7 @@ var _ = Describe("Integration - Mint coins to given address", func() { Expect(err).To(BeNil()) // Calculate expected balance by adding 9000 to the balance before - expectedBalance := balanceBefore.Add(sdk.NewCoin(didtypes.BaseMinimalDenom, sdk.NewInt(9000))) + expectedBalance := balanceBefore.Add(sdk.NewCoin(didtypes.BaseMinimalDenom, sdkmath.NewInt(9000))) // Check if the balance after minting matches the expected balance Expect(balanceAfter.Amount.Int64()).To(Equal(expectedBalance.Amount.Int64())) diff --git a/tests/integration/cli_resource_pricing_negative_test.go b/tests/integration/cli_resource_pricing_negative_test.go index 9c6c95aca..7db1d7e4d 100644 --- a/tests/integration/cli_resource_pricing_negative_test.go +++ b/tests/integration/cli_resource_pricing_negative_test.go @@ -1,10 +1,9 @@ -//go:build integration - package integration import ( "crypto/ed25519" + sdkmath "cosmossdk.io/math" "github.com/cheqd/cheqd-node/tests/integration/cli" "github.com/cheqd/cheqd-node/tests/integration/helpers" "github.com/cheqd/cheqd-node/tests/integration/network" @@ -101,7 +100,7 @@ var _ = Describe("cheqd cli - negative resource pricing", func() { Expect(err).To(BeNil()) By("submitting the json resource message with invalid denom") - invalidTax := sdk.NewCoin("invalid", sdk.NewInt(resourceFeeParams.Json.Amount.Int64())) + invalidTax := sdk.NewCoin("invalid", sdkmath.NewInt(resourceFeeParams.Json.Amount.Int64())) res, err := cli.CreateResource(tmpDir, resourcetypes.MsgCreateResourcePayload{ CollectionId: collectionID, Id: resourceID, @@ -123,7 +122,7 @@ var _ = Describe("cheqd cli - negative resource pricing", func() { Expect(err).To(BeNil()) By("submitting the image resource message with invalid denom") - invalidTax := sdk.NewCoin("invalid", sdk.NewInt(resourceFeeParams.Image.Amount.Int64())) + invalidTax := sdk.NewCoin("invalid", sdkmath.NewInt(resourceFeeParams.Image.Amount.Int64())) res, err := cli.CreateResource(tmpDir, resourcetypes.MsgCreateResourcePayload{ CollectionId: collectionID, Id: resourceID, @@ -145,7 +144,7 @@ var _ = Describe("cheqd cli - negative resource pricing", func() { Expect(err).To(BeNil()) By("submitting the default resource message with invalid denom") - invalidTax := sdk.NewCoin("invalid", sdk.NewInt(resourceFeeParams.Default.Amount.Int64())) + invalidTax := sdk.NewCoin("invalid", sdkmath.NewInt(resourceFeeParams.Default.Amount.Int64())) res, err := cli.CreateResource(tmpDir, resourcetypes.MsgCreateResourcePayload{ CollectionId: collectionID, Id: resourceID, @@ -167,7 +166,7 @@ var _ = Describe("cheqd cli - negative resource pricing", func() { Expect(err).To(BeNil()) By("submitting the json resource message with lower amount than required") - lowerTax := sdk.NewCoin(resourceFeeParams.Json.Denom, sdk.NewInt(resourceFeeParams.Json.Amount.Int64()-1)) + lowerTax := sdk.NewCoin(resourceFeeParams.Json.Denom, sdkmath.NewInt(resourceFeeParams.Json.Amount.Int64()-1)) res, err := cli.CreateResource(tmpDir, resourcetypes.MsgCreateResourcePayload{ CollectionId: collectionID, Id: resourceID, @@ -189,7 +188,7 @@ var _ = Describe("cheqd cli - negative resource pricing", func() { Expect(err).To(BeNil()) By("submitting the image resource message with lower amount than required") - lowerTax := sdk.NewCoin(resourceFeeParams.Image.Denom, sdk.NewInt(resourceFeeParams.Image.Amount.Int64()-1)) + lowerTax := sdk.NewCoin(resourceFeeParams.Image.Denom, sdkmath.NewInt(resourceFeeParams.Image.Amount.Int64()-1)) res, err := cli.CreateResource(tmpDir, resourcetypes.MsgCreateResourcePayload{ CollectionId: collectionID, Id: resourceID, @@ -211,7 +210,7 @@ var _ = Describe("cheqd cli - negative resource pricing", func() { Expect(err).To(BeNil()) By("submitting the default resource message with lower amount than required") - lowerTax := sdk.NewCoin(resourceFeeParams.Default.Denom, sdk.NewInt(resourceFeeParams.Default.Amount.Int64()-1)) + lowerTax := sdk.NewCoin(resourceFeeParams.Default.Denom, sdkmath.NewInt(resourceFeeParams.Default.Amount.Int64()-1)) res, err := cli.CreateResource(tmpDir, resourcetypes.MsgCreateResourcePayload{ CollectionId: collectionID, Id: resourceID, @@ -304,7 +303,7 @@ var _ = Describe("cheqd cli - negative resource pricing", func() { By("submitting the json resource message with double the tax") tax := resourceFeeParams.Json - doubleTax := sdk.NewCoin(resourcetypes.BaseMinimalDenom, tax.Amount.Mul(sdk.NewInt(2))) + doubleTax := sdk.NewCoin(resourcetypes.BaseMinimalDenom, tax.Amount.Mul(sdkmath.NewInt(2))) _, err = cli.CreateResource(tmpDir, resourcetypes.MsgCreateResourcePayload{ CollectionId: collectionID, Id: resourceID, @@ -338,7 +337,7 @@ var _ = Describe("cheqd cli - negative resource pricing", func() { By("submitting the image resource message with double the tax") tax := resourceFeeParams.Image - doubleTax := sdk.NewCoin(resourcetypes.BaseMinimalDenom, tax.Amount.Mul(sdk.NewInt(2))) + doubleTax := sdk.NewCoin(resourcetypes.BaseMinimalDenom, tax.Amount.Mul(sdkmath.NewInt(2))) _, err = cli.CreateResource(tmpDir, resourcetypes.MsgCreateResourcePayload{ CollectionId: collectionID, Id: resourceID, @@ -372,7 +371,7 @@ var _ = Describe("cheqd cli - negative resource pricing", func() { By("submitting the default resource message with double the tax") tax := resourceFeeParams.Default - doubleTax := sdk.NewCoin(resourcetypes.BaseMinimalDenom, tax.Amount.Mul(sdk.NewInt(2))) + doubleTax := sdk.NewCoin(resourcetypes.BaseMinimalDenom, tax.Amount.Mul(sdkmath.NewInt(2))) _, err = cli.CreateResource(tmpDir, resourcetypes.MsgCreateResourcePayload{ CollectionId: collectionID, Id: resourceID, diff --git a/tests/integration/cli_resource_pricing_test.go b/tests/integration/cli_resource_pricing_test.go index c2deefa66..26a03649e 100644 --- a/tests/integration/cli_resource_pricing_test.go +++ b/tests/integration/cli_resource_pricing_test.go @@ -1,5 +1,3 @@ -//go:build integration - package integration import ( diff --git a/tests/integration/cli_resource_test.go b/tests/integration/cli_resource_test.go index 35dbf842a..bf23bf93d 100644 --- a/tests/integration/cli_resource_test.go +++ b/tests/integration/cli_resource_test.go @@ -1,5 +1,3 @@ -//go:build integration - package integration import ( diff --git a/tests/upgrade/integration/v3/burn_test.go b/tests/upgrade/integration/v3/burn_test.go index 2e5d2d80b..e56a3621f 100644 --- a/tests/upgrade/integration/v3/burn_test.go +++ b/tests/upgrade/integration/v3/burn_test.go @@ -3,6 +3,7 @@ package integration import ( + sdkmath "cosmossdk.io/math" cli "github.com/cheqd/cheqd-node/tests/upgrade/integration/v3/cli" didtypes "github.com/cheqd/cheqd-node/x/did/types" @@ -19,7 +20,7 @@ var _ = Describe("Upgrade - Burn coins from relevant message signer", func() { }) It("should burn the coins from the given address (here container/validator)", func() { - coins := sdk.NewCoins(sdk.Coin{Denom: didtypes.BaseMinimalDenom, Amount: sdk.NewInt(1000)}) + coins := sdk.NewCoins(sdk.Coin{Denom: didtypes.BaseMinimalDenom, Amount: sdkmath.NewInt(1000)}) res, err := cli.BurnMsg(cli.Validator0, coins.String()) Expect(err).To(BeNil()) Expect(res.Code).To(BeEquivalentTo(0)) diff --git a/tests/upgrade/integration/v3/post_test.go b/tests/upgrade/integration/v3/post_test.go index 87cf39dd3..93884a7f2 100644 --- a/tests/upgrade/integration/v3/post_test.go +++ b/tests/upgrade/integration/v3/post_test.go @@ -14,6 +14,7 @@ import ( resourcetypes "github.com/cheqd/cheqd-node/x/resource/types" sdk "github.com/cosmos/cosmos-sdk/types" + sdkmath "cosmossdk.io/math" . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" ) @@ -153,7 +154,7 @@ var _ = Describe("Upgrade - Post", func() { Expect(balanceBefore.Denom).To(Equal(didtypes.BaseMinimalDenom)) By("burning the coins") - coins := sdk.NewCoins(sdk.Coin{Denom: didtypes.BaseMinimalDenom, Amount: sdk.NewInt(1000)}) + coins := sdk.NewCoins(sdk.Coin{Denom: didtypes.BaseMinimalDenom, Amount: sdkmath.NewInt(1000)}) res, err := cli.BurnMsg(cli.Validator0, coins.String()) Expect(err).To(BeNil()) Expect(res.Code).To(BeEquivalentTo(0)) @@ -164,9 +165,9 @@ var _ = Describe("Upgrade - Post", func() { Expect(balanceAfter.Denom).To(Equal(didtypes.BaseMinimalDenom)) By("checking if the balance has been reduced by the expected amount") - expectedBalance := balanceBefore.Sub(sdk.NewCoin(didtypes.BaseMinimalDenom, sdk.NewInt(1000))) + expectedBalance := balanceBefore.Sub(sdk.NewCoin(didtypes.BaseMinimalDenom, sdkmath.NewInt(1000))) diff := balanceAfter.Amount.Sub(expectedBalance.Amount) - Expect(diff).To(Equal(sdk.NewInt(1000))) + Expect(diff).To(Equal(sdkmath.NewInt(1000))) }) }) }) diff --git a/x/did/autocli.go b/x/did/autocli.go new file mode 100644 index 000000000..6fb10d035 --- /dev/null +++ b/x/did/autocli.go @@ -0,0 +1,75 @@ +package cheqd + +import ( + autocliv1 "cosmossdk.io/api/cosmos/autocli/v1" + didv2 "github.com/cheqd/cheqd-node/api/v2/cheqd/did/v2" +) + +func (am AppModule) AutoCLIOptions() *autocliv1.ModuleOptions { + return &autocliv1.ModuleOptions{ + Query: &autocliv1.ServiceCommandDescriptor{ + Service: didv2.Query_ServiceDesc.ServiceName, + RpcCommandOptions: []*autocliv1.RpcCommandOptions{ + { + RpcMethod: "DidDoc", + Use: "did-document [id]", + Short: "Query a DID Document by DID", + Long: "Fetch latest version of a DID Document for a given DID", + Example: "", // TODO: add the example, + PositionalArgs: []*autocliv1.PositionalArgDescriptor{ + {ProtoField: "id"}, + }, + }, + { + RpcMethod: "DidDocVersion", + Use: "did-version [id] [version-id]", + Short: "Query specific version of a DID Document", + Long: " Fetch specific version of a DID Document for a given DID", + Example: "", // TODO: add the example, + PositionalArgs: []*autocliv1.PositionalArgDescriptor{ + {ProtoField: "id"}, + {ProtoField: "version"}, + }, + }, + { + RpcMethod: "AllDidDocVersionsMetadata", + Use: "did-metadata [id]", + Short: "Query all versions metadata for a DID", + Long: "Fetch list of all versions of DID Documents for a given DID", + Example: "", // TODO: add the example, + PositionalArgs: []*autocliv1.PositionalArgDescriptor{ + {ProtoField: "id"}, + }, + }, + { + RpcMethod: "Params", + Use: "params", + Short: "Query the current did parameters", + }, + }, + }, + Tx: &autocliv1.ServiceCommandDescriptor{ + Service: didv2.Msg_ServiceDesc.ServiceName, + RpcCommandOptions: []*autocliv1.RpcCommandOptions{ + { + RpcMethod: "Burn", + Use: "burn [amount] [flags]", + Short: "Burn tokens from an address", + Long: "", + Example: "", + PositionalArgs: []*autocliv1.PositionalArgDescriptor{ + {ProtoField: "amount"}, + }, + }, + { + RpcMethod: "UpdateParams", + Skip: true, // skipped because authority gated + }, + { + RpcMethod: "Mint", + Skip: true, // skipped because authority gated + }, + }, + }, + } +} diff --git a/x/did/client/cli/query.go b/x/did/client/cli/query.go deleted file mode 100644 index 6a7d51d00..000000000 --- a/x/did/client/cli/query.go +++ /dev/null @@ -1,29 +0,0 @@ -package cli - -import ( - "fmt" - - "github.com/cheqd/cheqd-node/x/did/types" - "github.com/cosmos/cosmos-sdk/client" - "github.com/spf13/cobra" -) - -// GetQueryCmd returns the cli query commands for this module -func GetQueryCmd() *cobra.Command { - // Group cheqd queries under a subcommand - cmd := &cobra.Command{ - Use: types.ModuleName, - Short: fmt.Sprintf("Querying commands for the %s module", types.ModuleName), - DisableFlagParsing: true, - SuggestionsMinimumDistance: 2, - RunE: client.ValidateCmd, - } - - cmd.AddCommand( - CmdGetDidDoc(), - CmdGetDidDocVersion(), - CmdGetAllDidDocVersionsMetadata(), - ) - - return cmd -} diff --git a/x/did/client/cli/query_all_diddoc_versions_metadata.go b/x/did/client/cli/query_all_diddoc_versions_metadata.go deleted file mode 100644 index 2408279c3..000000000 --- a/x/did/client/cli/query_all_diddoc_versions_metadata.go +++ /dev/null @@ -1,39 +0,0 @@ -package cli - -import ( - "context" - - "github.com/cheqd/cheqd-node/x/did/types" - "github.com/cosmos/cosmos-sdk/client" - "github.com/cosmos/cosmos-sdk/client/flags" - "github.com/spf13/cobra" -) - -func CmdGetAllDidDocVersionsMetadata() *cobra.Command { - cmd := &cobra.Command{ - Use: "did-metadata [id]", - Short: "Query all versions metadata for a DID", - Args: cobra.ExactArgs(1), - RunE: func(cmd *cobra.Command, args []string) error { - clientCtx := client.GetClientContextFromCmd(cmd) - - queryClient := types.NewQueryClient(clientCtx) - - did := args[0] - params := &types.QueryAllDidDocVersionsMetadataRequest{ - Id: did, - } - - resp, err := queryClient.AllDidDocVersionsMetadata(context.Background(), params) - if err != nil { - return err - } - - return clientCtx.PrintProto(resp) - }, - } - - flags.AddQueryFlagsToCmd(cmd) - - return cmd -} diff --git a/x/did/client/cli/query_diddoc.go b/x/did/client/cli/query_diddoc.go deleted file mode 100644 index 84f9ca01c..000000000 --- a/x/did/client/cli/query_diddoc.go +++ /dev/null @@ -1,39 +0,0 @@ -package cli - -import ( - "context" - - "github.com/cheqd/cheqd-node/x/did/types" - "github.com/cosmos/cosmos-sdk/client" - "github.com/cosmos/cosmos-sdk/client/flags" - "github.com/spf13/cobra" -) - -func CmdGetDidDoc() *cobra.Command { - cmd := &cobra.Command{ - Use: "did-document [id]", - Short: "Query a DID Document by DID", - Args: cobra.ExactArgs(1), - RunE: func(cmd *cobra.Command, args []string) error { - clientCtx := client.GetClientContextFromCmd(cmd) - - queryClient := types.NewQueryClient(clientCtx) - - did := args[0] - params := &types.QueryDidDocRequest{ - Id: did, - } - - resp, err := queryClient.DidDoc(context.Background(), params) - if err != nil { - return err - } - - return clientCtx.PrintProto(resp) - }, - } - - flags.AddQueryFlagsToCmd(cmd) - - return cmd -} diff --git a/x/did/client/cli/query_diddoc_version.go b/x/did/client/cli/query_diddoc_version.go deleted file mode 100644 index 7c177ef64..000000000 --- a/x/did/client/cli/query_diddoc_version.go +++ /dev/null @@ -1,41 +0,0 @@ -package cli - -import ( - "context" - - "github.com/cheqd/cheqd-node/x/did/types" - "github.com/cosmos/cosmos-sdk/client" - "github.com/cosmos/cosmos-sdk/client/flags" - "github.com/spf13/cobra" -) - -func CmdGetDidDocVersion() *cobra.Command { - cmd := &cobra.Command{ - Use: "did-version [id] [version-id]", - Short: "Query specific version of a DID Document", - Args: cobra.ExactArgs(2), - RunE: func(cmd *cobra.Command, args []string) error { - clientCtx := client.GetClientContextFromCmd(cmd) - - queryClient := types.NewQueryClient(clientCtx) - - did := args[0] - versionID := args[1] - params := &types.QueryDidDocVersionRequest{ - Id: did, - Version: versionID, - } - - resp, err := queryClient.DidDocVersion(context.Background(), params) - if err != nil { - return err - } - - return clientCtx.PrintProto(resp) - }, - } - - flags.AddQueryFlagsToCmd(cmd) - - return cmd -} diff --git a/x/did/client/cli/tx_create_diddoc.go b/x/did/client/cli/tx_create_diddoc.go index e6f6ba9fb..25f50b169 100644 --- a/x/did/client/cli/tx_create_diddoc.go +++ b/x/did/client/cli/tx_create_diddoc.go @@ -3,6 +3,7 @@ package cli import ( "encoding/json" + sdkmath "cosmossdk.io/math" "github.com/cheqd/cheqd-node/x/did/types" "github.com/cheqd/cheqd-node/x/did/utils" "github.com/cosmos/cosmos-sdk/client" @@ -149,7 +150,7 @@ Example payload file: // add custom / override flags cmd.Flags().String(FlagVersionID, "", "Version ID of the DID Document") - cmd.Flags().String(flags.FlagFees, sdk.NewCoin(types.BaseMinimalDenom, sdk.NewInt(types.DefaultCreateDidTxFee)).String(), "Fixed fee for DID creation, e.g., 50000000000ncheq. Please check what the current fees are by running 'cheqd-noded query params subspace cheqd feeparams'") + cmd.Flags().String(flags.FlagFees, sdk.NewCoin(types.BaseMinimalDenom, sdkmath.NewInt(types.DefaultCreateDidTxFee)).String(), "Fixed fee for DID creation, e.g., 50000000000ncheq. Please check what the current fees are by running 'cheqd-noded query params subspace cheqd feeparams'") _ = cmd.MarkFlagRequired(flags.FlagFees) _ = cmd.MarkFlagRequired(flags.FlagGas) diff --git a/x/did/client/cli/tx_deactivate_diddoc.go b/x/did/client/cli/tx_deactivate_diddoc.go index 3c5c9ccd5..04abf1f9e 100644 --- a/x/did/client/cli/tx_deactivate_diddoc.go +++ b/x/did/client/cli/tx_deactivate_diddoc.go @@ -1,6 +1,7 @@ package cli import ( + sdkmath "cosmossdk.io/math" "github.com/cheqd/cheqd-node/x/did/types" "github.com/cheqd/cheqd-node/x/did/utils" "github.com/cosmos/cosmos-sdk/client" @@ -101,7 +102,7 @@ Example payload file: // add custom / override flags cmd.Flags().String(FlagVersionID, "", "Version ID of the DID Document") - cmd.Flags().String(flags.FlagFees, sdk.NewCoin(types.BaseMinimalDenom, sdk.NewInt(types.DefaultDeactivateDidTxFee)).String(), "Fixed fee for DID deactivation, e.g., 10000000000ncheq. Please check what the current fees by running 'cheqd-noded query params subspace cheqd feeparams'") + cmd.Flags().String(flags.FlagFees, sdk.NewCoin(types.BaseMinimalDenom, sdkmath.NewInt(types.DefaultDeactivateDidTxFee)).String(), "Fixed fee for DID deactivation, e.g., 10000000000ncheq. Please check what the current fees by running 'cheqd-noded query params subspace cheqd feeparams'") _ = cmd.MarkFlagRequired(flags.FlagFees) _ = cmd.MarkFlagRequired(flags.FlagGas) diff --git a/x/did/client/cli/tx_update_diddoc.go b/x/did/client/cli/tx_update_diddoc.go index 4bccfceb0..6110734fa 100644 --- a/x/did/client/cli/tx_update_diddoc.go +++ b/x/did/client/cli/tx_update_diddoc.go @@ -3,6 +3,7 @@ package cli import ( "encoding/json" + sdkmath "cosmossdk.io/math" "github.com/cheqd/cheqd-node/x/did/types" "github.com/cheqd/cheqd-node/x/did/utils" "github.com/cosmos/cosmos-sdk/client" @@ -152,7 +153,7 @@ Example payload file: // add custom / override flags cmd.Flags().String(FlagVersionID, "", "Version ID of the DID Document") - cmd.Flags().String(flags.FlagFees, sdk.NewCoin(types.BaseMinimalDenom, sdk.NewInt(types.DefaultUpdateDidTxFee)).String(), "Fixed fee for DID update, e.g., 25000000000ncheq. Please check what the current fees by running 'cheqd-noded query params subspace cheqd feeparams'") + cmd.Flags().String(flags.FlagFees, sdk.NewCoin(types.BaseMinimalDenom, sdkmath.NewInt(types.DefaultUpdateDidTxFee)).String(), "Fixed fee for DID update, e.g., 25000000000ncheq. Please check what the current fees by running 'cheqd-noded query params subspace cheqd feeparams'") _ = cmd.MarkFlagRequired(flags.FlagFees) _ = cmd.MarkFlagRequired(flags.FlagGas) diff --git a/x/did/exported/exported.go b/x/did/exported/exported.go new file mode 100644 index 000000000..000114e61 --- /dev/null +++ b/x/did/exported/exported.go @@ -0,0 +1,18 @@ +package exported + +import ( + sdk "github.com/cosmos/cosmos-sdk/types" + paramtypes "github.com/cosmos/cosmos-sdk/x/params/types" +) + +type ( + ParamSet = paramtypes.ParamSet + + // Subspace defines an interface that implements the legacy x/params Subspace + // type. + // + // NOTE: This is used solely for migration of x/params managed parameters. + Subspace interface { + GetParamSet(ctx sdk.Context, ps ParamSet) + } +) diff --git a/x/did/genesis.go b/x/did/genesis.go index f54101fec..67c58f1b1 100644 --- a/x/did/genesis.go +++ b/x/did/genesis.go @@ -1,14 +1,15 @@ package cheqd import ( + "context" + "github.com/cheqd/cheqd-node/x/did/keeper" "github.com/cheqd/cheqd-node/x/did/types" - sdk "github.com/cosmos/cosmos-sdk/types" ) // InitGenesis initializes the cheqd module's state from a provided genesis // state. -func InitGenesis(ctx sdk.Context, k keeper.Keeper, genState *types.GenesisState) { +func InitGenesis(ctx context.Context, k keeper.Keeper, genState *types.GenesisState) { // Set didocs for _, versionSet := range genState.VersionSets { for _, didDoc := range versionSet.DidDocs { @@ -25,21 +26,34 @@ func InitGenesis(ctx sdk.Context, k keeper.Keeper, genState *types.GenesisState) } // Set did namespace - k.SetDidNamespace(&ctx, genState.DidNamespace) + err := k.SetDidNamespace(&ctx, genState.DidNamespace) + if err != nil { + panic(err) + } // Set fee params - k.SetParams(ctx, *genState.FeeParams) + err = k.SetParams(ctx, *genState.FeeParams) + if err != nil { + panic(err) + } } // ExportGenesis returns the cheqd module's exported genesis. -func ExportGenesis(ctx sdk.Context, k keeper.Keeper) *types.GenesisState { +func ExportGenesis(ctx context.Context, k keeper.Keeper) *types.GenesisState { didDocs, err := k.GetAllDidDocs(&ctx) if err != nil { panic(err) } - feeParams := k.GetParams(ctx) + feeParams, err := k.GetParams(ctx) + if err != nil { + panic(err) + } + DidNameSpace, err := k.GetDidNamespace(&ctx) + if err != nil { + panic(err) + } genesis := types.GenesisState{ - DidNamespace: k.GetDidNamespace(&ctx), + DidNamespace: DidNameSpace, VersionSets: didDocs, FeeParams: &feeParams, } diff --git a/x/did/keeper/burn.go b/x/did/keeper/burn.go index 3d6f43c9d..56ec6c41b 100644 --- a/x/did/keeper/burn.go +++ b/x/did/keeper/burn.go @@ -1,11 +1,13 @@ package keeper import ( + "context" + "github.com/cheqd/cheqd-node/x/did/types" sdk "github.com/cosmos/cosmos-sdk/types" ) -func (k Keeper) burnFrom(ctx sdk.Context, amount sdk.Coins, burnFrom string) error { +func (k Keeper) burnFrom(ctx context.Context, amount sdk.Coins, burnFrom string) error { addr, err := sdk.AccAddressFromBech32(burnFrom) if err != nil { return err diff --git a/x/did/keeper/expected_keepers.go b/x/did/keeper/expected_keepers.go index 5ee4c71d3..c708c3cda 100644 --- a/x/did/keeper/expected_keepers.go +++ b/x/did/keeper/expected_keepers.go @@ -1,10 +1,12 @@ package keeper import ( + "context" + sdk "github.com/cosmos/cosmos-sdk/types" ) type BankKeeper interface { - SendCoinsFromModuleToAccount(ctx sdk.Context, senderModule string, recipientAddr sdk.AccAddress, amt sdk.Coins) error - MintCoins(ctx sdk.Context, moduleName string, amounts sdk.Coins) error + SendCoinsFromModuleToAccount(ctx context.Context, senderModule string, recipientAddr sdk.AccAddress, amt sdk.Coins) error + MintCoins(ctx context.Context, moduleName string, amounts sdk.Coins) error } diff --git a/x/did/keeper/handler.go b/x/did/keeper/handler.go index 0af0b1387..ff7d003fc 100644 --- a/x/did/keeper/handler.go +++ b/x/did/keeper/handler.go @@ -5,11 +5,12 @@ import ( errorsmod "cosmossdk.io/errors" "github.com/cheqd/cheqd-node/x/did/types" + "github.com/cosmos/cosmos-sdk/baseapp" sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" ) -func NewHandler(k Keeper) sdk.Handler { +func NewHandler(k Keeper) baseapp.MsgServiceHandler { msgServer := NewMsgServer(k) return func(ctx sdk.Context, msg sdk.Msg) (*sdk.Result, error) { diff --git a/x/did/keeper/keeper.go b/x/did/keeper/keeper.go index 36e8f2dc3..f07317d3c 100644 --- a/x/did/keeper/keeper.go +++ b/x/did/keeper/keeper.go @@ -1,11 +1,13 @@ package keeper import ( + "context" "fmt" - storetypes "cosmossdk.io/store/types" + "cosmossdk.io/collections" + "cosmossdk.io/core/store" + "cosmossdk.io/log" "github.com/cheqd/cheqd-node/x/did/types" - "github.com/cometbft/cometbft/libs/log" "github.com/cosmos/cosmos-sdk/codec" sdk "github.com/cosmos/cosmos-sdk/types" ) @@ -13,27 +15,64 @@ import ( type ( Keeper struct { cdc codec.BinaryCodec - storeKey storetypes.StoreKey + storeService store.KVStoreService paramSpace types.ParamSubspace accountKeeper types.AccountKeeper bankkeeper types.BankKeeper stakingKeeper types.StakingKeeper authority string + Schema collections.Schema + + DidNamespace collections.Item[string] + DidCount collections.Item[uint64] + LatestDidVersion collections.Map[string, string] + DidDocuments collections.Map[collections.Pair[string, string], types.DidDocWithMetadata] + Paramstore collections.Item[types.FeeParams] } ) -func NewKeeper(cdc codec.BinaryCodec, storeKey storetypes.StoreKey, paramSpace types.ParamSubspace, ak types.AccountKeeper, bk types.BankKeeper, sk types.StakingKeeper, authority string) *Keeper { - return &Keeper{ - cdc: cdc, - storeKey: storeKey, - paramSpace: paramSpace, - accountKeeper: ak, - bankkeeper: bk, - stakingKeeper: sk, - authority: authority, +func NewKeeper(cdc codec.BinaryCodec, storeService store.KVStoreService, paramSpace types.ParamSubspace, ak types.AccountKeeper, bk types.BankKeeper, sk types.StakingKeeper, authority string) *Keeper { + sb := collections.NewSchemaBuilder(storeService) + k := &Keeper{ + cdc: cdc, + storeService: storeService, + paramSpace: paramSpace, + accountKeeper: ak, + bankkeeper: bk, + stakingKeeper: sk, + authority: authority, + DidNamespace: collections.NewItem(sb, types.DidNamespaceKeyPrefix, "did_namespace", collections.StringValue), + DidCount: collections.NewItem(sb, types.DidDocCountKeyPrefix, "did_count", collections.Uint64Value), + LatestDidVersion: collections.NewMap(sb, types.LatestDidDocVersionKeyPrefix, "latest_did", collections.StringKey, collections.StringValue), + DidDocuments: collections.NewMap(sb, types.DidDocVersionKeyPrefix, "did_version", collections.PairKeyCodec(collections.StringKey, collections.StringKey), codec.CollValue[types.DidDocWithMetadata](cdc)), + Paramstore: collections.NewItem(sb, types.ParamStoreKeyFeeParams, "params", codec.CollValue[types.FeeParams](cdc)), + } + schema, err := sb.Build() + if err != nil { + panic(err) } + k.Schema = schema + return k } -func (k Keeper) Logger(ctx sdk.Context) log.Logger { - return ctx.Logger().With("module", fmt.Sprintf("x/%s", types.ModuleName)) +func (k Keeper) Logger(ctx context.Context) log.Logger { + sdkCtx := sdk.UnwrapSDKContext(ctx) + return sdkCtx.Logger().With("module", fmt.Sprintf("x/%s", types.ModuleName)) +} + +func (k Keeper) GetAuthority() string { + return k.authority +} + +// GetParams gets the auth module's parameters. +func (k Keeper) GetParams(ctx context.Context) (types.FeeParams, error) { + return k.Paramstore.Get(ctx) +} + +func (k Keeper) SetParams(ctx context.Context, params types.FeeParams) error { + err := k.Paramstore.Set(ctx, params) + if err != nil { + return err + } + return nil } diff --git a/x/did/keeper/keeper_config.go b/x/did/keeper/keeper_config.go index 751baa316..e708f9eca 100644 --- a/x/did/keeper/keeper_config.go +++ b/x/did/keeper/keeper_config.go @@ -1,27 +1,15 @@ package keeper import ( - "github.com/cheqd/cheqd-node/x/did/types" - "github.com/cheqd/cheqd-node/x/did/utils" - sdk "github.com/cosmos/cosmos-sdk/types" + "context" ) // GetDidNamespace get did namespace -func (k Keeper) GetDidNamespace(ctx *sdk.Context) string { - store := ctx.KVStore(k.storeKey) - - key := utils.StrBytes(types.DidNamespaceKey) - value := store.Get(key) - - return string(value) +func (k Keeper) GetDidNamespace(ctx *context.Context) (string, error) { + return k.DidNamespace.Get(*ctx) } // SetDidNamespace set did namespace -func (k Keeper) SetDidNamespace(ctx *sdk.Context, namespace string) { - store := ctx.KVStore(k.storeKey) - - key := utils.StrBytes(types.DidNamespaceKey) - value := []byte(namespace) - - store.Set(key, value) +func (k Keeper) SetDidNamespace(ctx *context.Context, namespace string) error { + return k.DidNamespace.Set(*ctx, namespace) } diff --git a/x/did/keeper/keeper_diddoc.go b/x/did/keeper/keeper_diddoc.go index ab66f4898..321d22364 100644 --- a/x/did/keeper/keeper_diddoc.go +++ b/x/did/keeper/keeper_diddoc.go @@ -1,55 +1,54 @@ package keeper import ( - "strconv" - "strings" + "context" + "cosmossdk.io/collections" + storetypes "cosmossdk.io/store/types" "github.com/cheqd/cheqd-node/x/did/types" - "github.com/cheqd/cheqd-node/x/did/utils" - sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" ) // GetDidCount get the total number of did -func (k Keeper) GetDidDocCount(ctx *sdk.Context) uint64 { - store := ctx.KVStore(k.storeKey) - - key := utils.StrBytes(types.DidDocCountKey) - valueBytes := store.Get(key) - - // Count doesn't exist: no element - if valueBytes == nil { - return 0 +func (k Keeper) GetDidDocCount(ctx *context.Context) (uint64, error) { + has, err := k.DidCount.Has(*ctx) + if err != nil { + return 0, err } - // Parse bytes - count, err := strconv.ParseUint(string(valueBytes), 10, 64) + if !has { + if setErr := k.DidCount.Set(*ctx, 0); setErr != nil { + return 0, setErr + } + } + count, err := k.DidCount.Get(*ctx) if err != nil { - // Panic because the count should be always formattable to iint64 - panic("cannot decode count") + return 0, err } - - return count + return count, nil } // SetDidCount set the total number of did -func (k Keeper) SetDidDocCount(ctx *sdk.Context, count uint64) { - store := ctx.KVStore(k.storeKey) - - key := utils.StrBytes(types.DidDocCountKey) - valueBytes := []byte(strconv.FormatUint(count, 10)) - - store.Set(key, valueBytes) +func (k Keeper) SetDidDocCount(ctx *context.Context, count uint64) error { + return k.DidCount.Set(*ctx, count) } -func (k Keeper) AddNewDidDocVersion(ctx *sdk.Context, didDoc *types.DidDocWithMetadata) error { +func (k Keeper) AddNewDidDocVersion(ctx *context.Context, didDoc *types.DidDocWithMetadata) error { // Check if the diddoc version already exists - if k.HasDidDocVersion(ctx, didDoc.DidDoc.Id, didDoc.Metadata.VersionId) { + hasDidDocVersion, err := k.HasDidDocVersion(ctx, didDoc.DidDoc.Id, didDoc.Metadata.VersionId) + if err != nil { + return err + } + if hasDidDocVersion { return types.ErrDidDocExists.Wrapf("diddoc version already exists for did %s, version %s", didDoc.DidDoc.Id, didDoc.Metadata.VersionId) } // Link to the previous version if it exists - if k.HasDidDoc(ctx, didDoc.DidDoc.Id) { + hasDidDoc, err := k.HasDidDoc(ctx, didDoc.DidDoc.Id) + if err != nil { + return err + } + if hasDidDoc { latestVersionID, err := k.GetLatestDidDocVersion(ctx, didDoc.DidDoc.Id) if err != nil { return err @@ -72,7 +71,7 @@ func (k Keeper) AddNewDidDocVersion(ctx *sdk.Context, didDoc *types.DidDocWithMe } // Update latest version - err := k.SetLatestDidDocVersion(ctx, didDoc.DidDoc.Id, didDoc.Metadata.VersionId) + err = k.SetLatestDidDocVersion(ctx, didDoc.DidDoc.Id, didDoc.Metadata.VersionId) if err != nil { return err } @@ -81,7 +80,7 @@ func (k Keeper) AddNewDidDocVersion(ctx *sdk.Context, didDoc *types.DidDocWithMe return k.SetDidDocVersion(ctx, didDoc, false) } -func (k Keeper) GetLatestDidDoc(ctx *sdk.Context, did string) (types.DidDocWithMetadata, error) { +func (k Keeper) GetLatestDidDoc(ctx *context.Context, did string) (types.DidDocWithMetadata, error) { latestVersionID, err := k.GetLatestDidDocVersion(ctx, did) if err != nil { return types.DidDocWithMetadata{}, err @@ -96,138 +95,151 @@ func (k Keeper) GetLatestDidDoc(ctx *sdk.Context, did string) (types.DidDocWithM } // SetDid set a specific did in the store. Updates DID counter if the DID is new. -func (k Keeper) SetDidDocVersion(ctx *sdk.Context, value *types.DidDocWithMetadata, override bool) error { - if !override && k.HasDidDocVersion(ctx, value.DidDoc.Id, value.Metadata.VersionId) { +func (k Keeper) SetDidDocVersion(ctx *context.Context, value *types.DidDocWithMetadata, override bool) error { + hasdidVersion, err := k.HasDidDocVersion(ctx, value.DidDoc.Id, value.Metadata.VersionId) + if err != nil { + return err + } + if !override && hasdidVersion { return types.ErrDidDocExists.Wrap("diddoc version already exists") } // Create the diddoc version - store := ctx.KVStore(k.storeKey) - - key := types.GetDidDocVersionKey(value.DidDoc.Id, value.Metadata.VersionId) - valueBytes := k.cdc.MustMarshal(value) - store.Set(key, valueBytes) - - return nil + return k.DidDocuments.Set(*ctx, collections.Join(value.DidDoc.Id, value.Metadata.VersionId), *value) } // GetDid returns a did from its id -func (k Keeper) GetDidDocVersion(ctx *sdk.Context, id, version string) (types.DidDocWithMetadata, error) { - store := ctx.KVStore(k.storeKey) - - if !k.HasDidDocVersion(ctx, id, version) { +func (k Keeper) GetDidDocVersion(ctx *context.Context, id, version string) (types.DidDocWithMetadata, error) { + hasdidVersion, err := k.HasDidDocVersion(ctx, id, version) + if err != nil { + return types.DidDocWithMetadata{}, err + } + if !hasdidVersion { return types.DidDocWithMetadata{}, sdkerrors.ErrNotFound.Wrap("diddoc version not found") } - var value types.DidDocWithMetadata - valueBytes := store.Get(types.GetDidDocVersionKey(id, version)) - k.cdc.MustUnmarshal(valueBytes, &value) - - return value, nil + return k.DidDocuments.Get(*ctx, collections.Join(id, version)) } -func (k Keeper) GetAllDidDocVersions(ctx *sdk.Context, did string) ([]*types.Metadata, error) { - store := ctx.KVStore(k.storeKey) +func (k Keeper) GetAllDidDocVersions(ctx *context.Context, did string) ([]*types.Metadata, error) { + var metadataList []*types.Metadata + rng := collections.NewPrefixedPairRange[string, string](did) - result := make([]*types.Metadata, 0) - - versionIterator := sdk.KVStorePrefixIterator(store, types.GetDidDocVersionsPrefix(did)) - defer closeIteratorOrPanic(versionIterator) - - for ; versionIterator.Valid(); versionIterator.Next() { - // Get the diddoc - var didDoc types.DidDocWithMetadata - k.cdc.MustUnmarshal(versionIterator.Value(), &didDoc) - - result = append(result, didDoc.Metadata) + iter, err := k.DidDocuments.Iterate(*ctx, rng) + if err != nil { + return nil, err } - return result, nil + kvs, err := iter.KeyValues() + if err != nil { + return nil, err + } + for _, kv := range kvs { + metadataList = append(metadataList, kv.Value.Metadata) + } + return metadataList, nil } // SetLatestDidDocVersion sets the latest version id value for a diddoc -func (k Keeper) SetLatestDidDocVersion(ctx *sdk.Context, did, version string) error { +func (k Keeper) SetLatestDidDocVersion(ctx *context.Context, did, version string) error { // Update counter. We use latest version as existence indicator. - if !k.HasLatestDidDocVersion(ctx, did) { - count := k.GetDidDocCount(ctx) - k.SetDidDocCount(ctx, count+1) + hasVersion, err := k.HasLatestDidDocVersion(ctx, did) + if err != nil { + return err + } + if !hasVersion { + count, err := k.GetDidDocCount(ctx) + if err != nil { + return err + } + err = k.SetDidDocCount(ctx, count+1) + if err != nil { + return err + } } - store := ctx.KVStore(k.storeKey) - - key := types.GetLatestDidDocVersionKey(did) - valueBytes := utils.StrBytes(version) - store.Set(key, valueBytes) - - return nil + return k.LatestDidVersion.Set(*ctx, did, version) } // GetLatestDidDocVersion returns the latest version id value for a diddoc -func (k Keeper) GetLatestDidDocVersion(ctx *sdk.Context, id string) (string, error) { - store := ctx.KVStore(k.storeKey) - - if !k.HasLatestDidDocVersion(ctx, id) { +func (k Keeper) GetLatestDidDocVersion(ctx *context.Context, id string) (string, error) { + hasVersion, err := k.HasLatestDidDocVersion(ctx, id) + if err != nil { + return "", err + } + if !hasVersion { return "", sdkerrors.ErrNotFound.Wrap(id) } - - return string(store.Get(types.GetLatestDidDocVersionKey(id))), nil + value, err := k.LatestDidVersion.Get(*ctx, id) + if err != nil { + return "", err + } + return value, nil } -func (k Keeper) HasDidDoc(ctx *sdk.Context, id string) bool { +func (k Keeper) HasDidDoc(ctx *context.Context, id string) (bool, error) { return k.HasLatestDidDocVersion(ctx, id) } -func (k Keeper) HasLatestDidDocVersion(ctx *sdk.Context, id string) bool { - store := ctx.KVStore(k.storeKey) - return store.Has(types.GetLatestDidDocVersionKey(id)) +func (k Keeper) HasLatestDidDocVersion(ctx *context.Context, id string) (bool, error) { + return k.LatestDidVersion.Has(*ctx, id) } -func (k Keeper) HasDidDocVersion(ctx *sdk.Context, id, version string) bool { - store := ctx.KVStore(k.storeKey) - return store.Has(types.GetDidDocVersionKey(id, version)) +func (k Keeper) HasDidDocVersion(ctx *context.Context, id, version string) (bool, error) { + return k.DidDocuments.Has(*ctx, collections.Join(id, version)) } -func (k Keeper) IterateDids(ctx *sdk.Context, callback func(did string) (continue_ bool)) { - store := ctx.KVStore(k.storeKey) - latestVersionIterator := sdk.KVStorePrefixIterator(store, types.GetLatestDidDocVersionPrefix()) - defer closeIteratorOrPanic(latestVersionIterator) +func (k Keeper) IterateDids(ctx *context.Context, callback func(did string) (continue_ bool)) { + iter, err := k.LatestDidVersion.Iterate(*ctx, nil) + if err != nil { + panic(err) + } - for ; latestVersionIterator.Valid(); latestVersionIterator.Next() { - // Get did from key - key := string(latestVersionIterator.Key()) - did := strings.Join(strings.Split(key, ":")[1:], ":") + kvs, err := iter.KeyValues() + if err != nil { + panic(err) + } - if !callback(did) { + for _, kv := range kvs { + if !callback(kv.Key) { break } } } -func (k Keeper) IterateDidDocVersions(ctx *sdk.Context, did string, callback func(version types.DidDocWithMetadata) (continue_ bool)) { - store := ctx.KVStore(k.storeKey) - versionIterator := sdk.KVStorePrefixIterator(store, types.GetDidDocVersionsPrefix(did)) - defer closeIteratorOrPanic(versionIterator) +func (k Keeper) IterateDidDocVersions(ctx *context.Context, did string, callback func(version types.DidDocWithMetadata) (continue_ bool)) { + rng := collections.NewPrefixedPairRange[string, string](did) + + iter, err := k.DidDocuments.Iterate(*ctx, rng) + if err != nil { + panic(err) + } - for ; versionIterator.Valid(); versionIterator.Next() { - var didDoc types.DidDocWithMetadata - k.cdc.MustUnmarshal(versionIterator.Value(), &didDoc) + kvs, err := iter.KeyValues() + if err != nil { + panic(err) + } - if !callback(didDoc) { + for _, kv := range kvs { + if !callback(kv.Value) { break } } } -func (k Keeper) IterateAllDidDocVersions(ctx *sdk.Context, callback func(version types.DidDocWithMetadata) (continue_ bool)) { - store := ctx.KVStore(k.storeKey) - allVersionsIterator := sdk.KVStorePrefixIterator(store, []byte(types.DidDocVersionKey)) - defer closeIteratorOrPanic(allVersionsIterator) +func (k Keeper) IterateAllDidDocVersions(ctx *context.Context, callback func(version types.DidDocWithMetadata) (continue_ bool)) { + iter, err := k.DidDocuments.Iterate(*ctx, nil) + if err != nil { + panic(err) + } - for ; allVersionsIterator.Valid(); allVersionsIterator.Next() { - var didDoc types.DidDocWithMetadata - k.cdc.MustUnmarshal(allVersionsIterator.Value(), &didDoc) + kvs, err := iter.KeyValues() + if err != nil { + panic(err) + } - if !callback(didDoc) { + for _, kv := range kvs { + if !callback(kv.Value) { break } } @@ -235,7 +247,7 @@ func (k Keeper) IterateAllDidDocVersions(ctx *sdk.Context, callback func(version // GetAllDidDocs returns all did // Loads all DIDs in memory. Use only for genesis export. -func (k Keeper) GetAllDidDocs(ctx *sdk.Context) ([]*types.DidDocVersionSet, error) { +func (k Keeper) GetAllDidDocs(ctx *context.Context) ([]*types.DidDocVersionSet, error) { var didDocs []*types.DidDocVersionSet var err error @@ -268,7 +280,7 @@ func (k Keeper) GetAllDidDocs(ctx *sdk.Context) ([]*types.DidDocVersionSet, erro return didDocs, nil } -func closeIteratorOrPanic(iterator sdk.Iterator) { +func closeIteratorOrPanic(iterator storetypes.Iterator) { err := iterator.Close() if err != nil { panic(err.Error()) diff --git a/x/did/keeper/keeper_param_change_proposal_test.go b/x/did/keeper/keeper_param_change_proposal_test.go index b43db13cb..459315906 100644 --- a/x/did/keeper/keeper_param_change_proposal_test.go +++ b/x/did/keeper/keeper_param_change_proposal_test.go @@ -1,166 +1,253 @@ package keeper_test import ( - tmproto "github.com/cometbft/cometbft/proto/tendermint/types" - "github.com/stretchr/testify/suite" + "strings" + sdkmath "cosmossdk.io/math" cheqdapp "github.com/cheqd/cheqd-node/app" + didkeeper "github.com/cheqd/cheqd-node/x/did/keeper" didtypes "github.com/cheqd/cheqd-node/x/did/types" + "github.com/cosmos/cosmos-sdk/baseapp" sdk "github.com/cosmos/cosmos-sdk/types" - govv1beta1 "github.com/cosmos/cosmos-sdk/x/gov/types/v1beta1" - "github.com/cosmos/cosmos-sdk/x/params" - "github.com/cosmos/cosmos-sdk/x/params/types/proposal" . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" ) -type HandlerTestSuite struct { - suite.Suite +func init() { + cheqdapp.SetConfig() +} - app *cheqdapp.TestApp - ctx sdk.Context - govHandler govv1beta1.Handler +type KeeperTestSuite struct { + app *cheqdapp.TestApp + ctx sdk.Context + didKeeper didkeeper.Keeper + queryClient didtypes.QueryClient + msgSvr didtypes.MsgServer } -func (suite *HandlerTestSuite) SetupTest() error { +func (suite *KeeperTestSuite) SetupTest() error { var err error suite.app, err = cheqdapp.Setup(false) if err != nil { return err } - suite.ctx = suite.app.BaseApp.NewContext(false, tmproto.Header{}) - suite.govHandler = params.NewParamChangeProposalHandler(suite.app.ParamsKeeper) + + suite.ctx = suite.app.BaseApp.NewContext(false) + suite.didKeeper = suite.app.DidKeeper + + // Set default params + err = suite.didKeeper.SetParams(suite.ctx, *didtypes.DefaultFeeParams()) + if err != nil { + return err + } + + suite.msgSvr = didkeeper.NewMsgServerImpl(suite.didKeeper) + // Setup query client + queryHelper := baseapp.NewQueryServerTestHelper(suite.ctx, suite.app.InterfaceRegistry()) + didtypes.RegisterQueryServer(queryHelper, suite.didKeeper) + suite.queryClient = didtypes.NewQueryClient(queryHelper) + return nil } -func testProposal(changes ...proposal.ParamChange) *proposal.ParameterChangeProposal { - return proposal.NewParameterChangeProposal("title", "description", changes) +type TestCaseUpdateParams struct { + name string + input *didtypes.MsgUpdateParams + expErr bool + expErrMsg string } -type TestCaseKeeperProposal struct { - proposal *proposal.ParameterChangeProposal - onHandle func(*HandlerTestSuite) - expErr bool - errMsg string -} +var _ = DescribeTable("UpdateParams", func(testCase TestCaseUpdateParams) { + keeperSuite := new(KeeperTestSuite) + err := keeperSuite.SetupTest() -var _ = DescribeTable("Proposal Handler", func(testCase TestCaseKeeperProposal) { - handlerSuite := new(HandlerTestSuite) - err := handlerSuite.SetupTest() Expect(err).To(BeNil()) + if strings.TrimSpace(testCase.input.Authority) == "" { + testCase.input.Authority = keeperSuite.didKeeper.GetAuthority() + } + // Call UpdateParams method + _, err = keeperSuite.msgSvr.UpdateParams(keeperSuite.ctx, testCase.input) - err = handlerSuite.govHandler(handlerSuite.ctx, testCase.proposal) if testCase.expErr { Expect(err).NotTo(BeNil()) + Expect(err.Error()).To(ContainSubstring(testCase.expErrMsg)) } else { Expect(err).To(BeNil()) - testCase.onHandle(handlerSuite) + + // Verify params were updated correctly + params, err := keeperSuite.didKeeper.GetParams(keeperSuite.ctx) + Expect(err).To(BeNil()) + Expect(params).To(Equal(testCase.input.Params)) } }, - Entry("all fields", - TestCaseKeeperProposal{ - testProposal(proposal.ParamChange{ - Subspace: didtypes.ModuleName, - Key: string(didtypes.ParamStoreKeyFeeParams), - Value: `{"create_did": {"denom": "ncheq", "amount": "10000000000"}, "update_did": {"denom": "ncheq", "amount": "4000000000"}, "deactivate_did": {"denom": "ncheq", "amount": "2000000000"}, "burn_factor": "0.600000000000000000"}`, - }), - func(handlerSuite *HandlerTestSuite) { - expectedFeeParams := didtypes.FeeParams{ - CreateDid: sdk.Coin{Denom: didtypes.BaseMinimalDenom, Amount: sdk.NewInt(10000000000)}, - UpdateDid: sdk.Coin{Denom: didtypes.BaseMinimalDenom, Amount: sdk.NewInt(4000000000)}, - DeactivateDid: sdk.Coin{Denom: didtypes.BaseMinimalDenom, Amount: sdk.NewInt(2000000000)}, - BurnFactor: sdk.MustNewDecFromStr("0.600000000000000000"), - } - - feeParams := handlerSuite.app.DidKeeper.GetParams(handlerSuite.ctx) - - Expect(expectedFeeParams).To(Equal(feeParams)) + Entry("valid params - all fields", + TestCaseUpdateParams{ + name: "valid params - all fields", + input: &didtypes.MsgUpdateParams{ + Params: didtypes.FeeParams{ + CreateDid: sdk.Coin{Denom: didtypes.BaseMinimalDenom, Amount: sdkmath.NewInt(10000000000)}, + UpdateDid: sdk.Coin{Denom: didtypes.BaseMinimalDenom, Amount: sdkmath.NewInt(4000000000)}, + DeactivateDid: sdk.Coin{Denom: didtypes.BaseMinimalDenom, Amount: sdkmath.NewInt(2000000000)}, + BurnFactor: sdkmath.LegacyMustNewDecFromStr("0.600000000000000000"), + }, + }, + expErr: false, + expErrMsg: "", + }), + Entry("invalid create_did amount 0", + TestCaseUpdateParams{ + name: "invalid create_did amount 0", + input: &didtypes.MsgUpdateParams{ + Params: didtypes.FeeParams{ + CreateDid: sdk.Coin{Denom: didtypes.BaseMinimalDenom, Amount: sdkmath.NewInt(0)}, + UpdateDid: sdk.Coin{Denom: didtypes.BaseMinimalDenom, Amount: sdkmath.NewInt(4000000000)}, + DeactivateDid: sdk.Coin{Denom: didtypes.BaseMinimalDenom, Amount: sdkmath.NewInt(2000000000)}, + BurnFactor: sdkmath.LegacyMustNewDecFromStr("0.600000000000000000"), + }, + }, + expErr: true, + expErrMsg: "invalid create did tx fee:", + }), + Entry("invalid create_did denom", + TestCaseUpdateParams{ + name: "invalid create_did denom", + input: &didtypes.MsgUpdateParams{ + Params: didtypes.FeeParams{ + CreateDid: sdk.Coin{Denom: "wrongdenom", Amount: sdkmath.NewInt(10000000000)}, + UpdateDid: sdk.Coin{Denom: didtypes.BaseMinimalDenom, Amount: sdkmath.NewInt(4000000000)}, + DeactivateDid: sdk.Coin{Denom: didtypes.BaseMinimalDenom, Amount: sdkmath.NewInt(2000000000)}, + BurnFactor: sdkmath.LegacyMustNewDecFromStr("0.600000000000000000"), + }, }, - false, - "", + expErr: true, + expErrMsg: "invalid create did tx fee:", }), - Entry("empty value", - TestCaseKeeperProposal{ - testProposal(proposal.ParamChange{ - Subspace: didtypes.ModuleName, - Key: string(didtypes.ParamStoreKeyFeeParams), - Value: `{}`, - }), - func(*HandlerTestSuite) {}, - true, - "", - }, - ), - Entry("omit fields", - TestCaseKeeperProposal{ - testProposal(proposal.ParamChange{ - Subspace: didtypes.ModuleName, - Key: string(didtypes.ParamStoreKeyFeeParams), - Value: `{"create_did": {"denom": "ncheq", "amount": "10000000000"}, "update_did": {"denom": "ncheq", "amount": "4000000000"}, "burn_factor": "0.600000000000000000"}`, - }), - func(*HandlerTestSuite) {}, - true, - "", - }, - ), - Entry("invalid value: case `create_did` amount 0", - TestCaseKeeperProposal{ - testProposal(proposal.ParamChange{ - Subspace: didtypes.ModuleName, - Key: string(didtypes.ParamStoreKeyFeeParams), - Value: `{"create_did": {"denom": "ncheq", "amount": "0"}, "update_did": {"denom": "ncheq", "amount": "4000000000"}, "deactivate_did": {"denom": "ncheq", "amount": "2000000000"}, "burn_factor": "0.600000000000000000"}`, - }), - func(*HandlerTestSuite) {}, - true, - "", - }, - ), - Entry("invalid value: case `update_did` amount 0", - TestCaseKeeperProposal{ - testProposal(proposal.ParamChange{ - Subspace: didtypes.ModuleName, - Key: string(didtypes.ParamStoreKeyFeeParams), - Value: `{"create_did": {"denom": "ncheq", "amount": "10000000000"}, "update_did": {"denom": "ncheq", "amount": "0"}, "deactivate_did": {"denom": "ncheq", "amount": "2000000000"}, "burn_factor": "0.600000000000000000"}`, - }), - func(*HandlerTestSuite) {}, - true, - "", + Entry("invalid update_did amount 0", + TestCaseUpdateParams{ + name: "invalid update_did amount 0", + input: &didtypes.MsgUpdateParams{ + Params: didtypes.FeeParams{ + CreateDid: sdk.Coin{Denom: didtypes.BaseMinimalDenom, Amount: sdkmath.NewInt(10000000000)}, + UpdateDid: sdk.Coin{Denom: didtypes.BaseMinimalDenom, Amount: sdkmath.NewInt(0)}, + DeactivateDid: sdk.Coin{Denom: didtypes.BaseMinimalDenom, Amount: sdkmath.NewInt(2000000000)}, + BurnFactor: sdkmath.LegacyMustNewDecFromStr("0.600000000000000000"), + }, + }, + expErr: true, + expErrMsg: "invalid update did tx fee:", + }), + Entry("invalid update_did denom", + TestCaseUpdateParams{ + name: "invalid update_did denom", + input: &didtypes.MsgUpdateParams{ + Params: didtypes.FeeParams{ + CreateDid: sdk.Coin{Denom: didtypes.BaseMinimalDenom, Amount: sdkmath.NewInt(10000000000)}, + UpdateDid: sdk.Coin{Denom: "wrongdenom", Amount: sdkmath.NewInt(4000000000)}, + DeactivateDid: sdk.Coin{Denom: didtypes.BaseMinimalDenom, Amount: sdkmath.NewInt(2000000000)}, + BurnFactor: sdkmath.LegacyMustNewDecFromStr("0.600000000000000000"), + }, + }, + expErr: true, + expErrMsg: "invalid update did tx fee:", + }), + Entry("invalid deactivate_did amount 0", + TestCaseUpdateParams{ + name: "invalid deactivate_did amount 0", + input: &didtypes.MsgUpdateParams{ + Params: didtypes.FeeParams{ + CreateDid: sdk.Coin{Denom: didtypes.BaseMinimalDenom, Amount: sdkmath.NewInt(10000000000)}, + UpdateDid: sdk.Coin{Denom: didtypes.BaseMinimalDenom, Amount: sdkmath.NewInt(4000000000)}, + DeactivateDid: sdk.Coin{Denom: didtypes.BaseMinimalDenom, Amount: sdkmath.NewInt(0)}, + BurnFactor: sdkmath.LegacyMustNewDecFromStr("0.600000000000000000"), + }, + }, + expErr: true, + expErrMsg: "invalid deactivate did tx fee:", + }), + Entry("invalid deactivate_did denom", + TestCaseUpdateParams{ + name: "invalid deactivate_did denom", + input: &didtypes.MsgUpdateParams{ + Params: didtypes.FeeParams{ + CreateDid: sdk.Coin{Denom: didtypes.BaseMinimalDenom, Amount: sdkmath.NewInt(10000000000)}, + UpdateDid: sdk.Coin{Denom: didtypes.BaseMinimalDenom, Amount: sdkmath.NewInt(4000000000)}, + DeactivateDid: sdk.Coin{Denom: "wrongdenom", Amount: sdkmath.NewInt(2000000000)}, + BurnFactor: sdkmath.LegacyMustNewDecFromStr("0.600000000000000000"), + }, + }, + expErr: true, + expErrMsg: "invalid deactivate did tx fee:", + }), + Entry("invalid burn_factor 0", + TestCaseUpdateParams{ + name: "invalid burn_factor 0", + input: &didtypes.MsgUpdateParams{ + Params: didtypes.FeeParams{ + CreateDid: sdk.Coin{Denom: didtypes.BaseMinimalDenom, Amount: sdkmath.NewInt(10000000000)}, + UpdateDid: sdk.Coin{Denom: didtypes.BaseMinimalDenom, Amount: sdkmath.NewInt(4000000000)}, + DeactivateDid: sdk.Coin{Denom: didtypes.BaseMinimalDenom, Amount: sdkmath.NewInt(2000000000)}, + BurnFactor: sdkmath.LegacyMustNewDecFromStr("0"), + }, + }, + expErr: true, + expErrMsg: "invalid burn factor:", + }), + Entry("invalid burn_factor negative", + TestCaseUpdateParams{ + name: "invalid burn_factor negative", + input: &didtypes.MsgUpdateParams{ + Params: didtypes.FeeParams{ + CreateDid: sdk.Coin{Denom: didtypes.BaseMinimalDenom, Amount: sdkmath.NewInt(10000000000)}, + UpdateDid: sdk.Coin{Denom: didtypes.BaseMinimalDenom, Amount: sdkmath.NewInt(4000000000)}, + DeactivateDid: sdk.Coin{Denom: didtypes.BaseMinimalDenom, Amount: sdkmath.NewInt(2000000000)}, + BurnFactor: sdkmath.LegacyMustNewDecFromStr("-0.1"), + }, + }, + expErr: true, + expErrMsg: "invalid burn factor:", + }), + Entry("invalid burn_factor equal to 1", + TestCaseUpdateParams{ + name: "invalid burn_factor equal to 1", + input: &didtypes.MsgUpdateParams{ + Params: didtypes.FeeParams{ + CreateDid: sdk.Coin{Denom: didtypes.BaseMinimalDenom, Amount: sdkmath.NewInt(10000000000)}, + UpdateDid: sdk.Coin{Denom: didtypes.BaseMinimalDenom, Amount: sdkmath.NewInt(4000000000)}, + DeactivateDid: sdk.Coin{Denom: didtypes.BaseMinimalDenom, Amount: sdkmath.NewInt(2000000000)}, + BurnFactor: sdkmath.LegacyMustNewDecFromStr("1.0"), + }, + }, + expErr: true, + expErrMsg: "invalid burn factor:", + }), + Entry("invalid burn_factor greater than 1", + TestCaseUpdateParams{ + name: "invalid burn_factor greater than 1", + input: &didtypes.MsgUpdateParams{ + Params: didtypes.FeeParams{ + CreateDid: sdk.Coin{Denom: didtypes.BaseMinimalDenom, Amount: sdkmath.NewInt(10000000000)}, + UpdateDid: sdk.Coin{Denom: didtypes.BaseMinimalDenom, Amount: sdkmath.NewInt(4000000000)}, + DeactivateDid: sdk.Coin{Denom: didtypes.BaseMinimalDenom, Amount: sdkmath.NewInt(2000000000)}, + BurnFactor: sdkmath.LegacyMustNewDecFromStr("1.1"), + }, + }, + expErr: true, + expErrMsg: "invalid burn factor:", + }), + Entry("invalid authority", + TestCaseUpdateParams{ + name: "invalid authority", + input: &didtypes.MsgUpdateParams{ + Authority: "invalid", + Params: didtypes.FeeParams{ + CreateDid: sdk.Coin{Denom: didtypes.BaseMinimalDenom, Amount: sdkmath.NewInt(10000000000)}, + UpdateDid: sdk.Coin{Denom: didtypes.BaseMinimalDenom, Amount: sdkmath.NewInt(4000000000)}, + DeactivateDid: sdk.Coin{Denom: didtypes.BaseMinimalDenom, Amount: sdkmath.NewInt(2000000000)}, + BurnFactor: sdkmath.LegacyMustNewDecFromStr("0.6"), + }, + }, + expErr: true, + expErrMsg: "invalid authority", }), - Entry("invalid value: case `deactivate_did` amount 0", - TestCaseKeeperProposal{ - testProposal(proposal.ParamChange{ - Subspace: didtypes.ModuleName, - Key: string(didtypes.ParamStoreKeyFeeParams), - Value: `{"create_did": {"denom": "ncheq", "amount": "10000000000"}, "update_did": {"denom": "ncheq", "amount": "4000000000"}, "deactivate_did": {"denom": "ncheq", "amount": "0"}, "burn_factor": "0.600000000000000000"}`, - }), - func(*HandlerTestSuite) {}, - true, - "", - }, - ), - Entry("invalid value: case `burn_factor` -1", - TestCaseKeeperProposal{ - testProposal(proposal.ParamChange{ - Subspace: didtypes.ModuleName, - Key: string(didtypes.ParamStoreKeyFeeParams), - Value: `{"create_did": {"denom": "ncheq", "amount": "10000000000"}, "update_did": {"denom": "ncheq", "amount": "4000000000"}, "deactivate_did": {"denom": "ncheq", "amount": "2000000000"}, "burn_factor": "-1"}`, - }), - func(*HandlerTestSuite) {}, - true, - "", - }, - ), - Entry("invalid value: case `burn_factor` 1.1", - TestCaseKeeperProposal{ - testProposal(proposal.ParamChange{ - Subspace: didtypes.ModuleName, - Key: string(didtypes.ParamStoreKeyFeeParams), - Value: `{"create_did": {"denom": "ncheq", "amount": "10000000000"}, "update_did": {"denom": "ncheq", "amount": "4000000000"}, "deactivate_did": {"denom": "ncheq", "amount": "2000000000"}, "burn_factor": "1.1"}`, - }), - func(*HandlerTestSuite) {}, - true, - "", - }, - ), ) diff --git a/x/did/keeper/migrations.go b/x/did/keeper/migrations.go new file mode 100644 index 000000000..e5fb8be84 --- /dev/null +++ b/x/did/keeper/migrations.go @@ -0,0 +1,23 @@ +package keeper + +import ( + v5 "github.com/cheqd/cheqd-node/x/did/migrations/v5" + sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/cosmos/cosmos-sdk/x/distribution/exported" +) + +// Migrator is a struct for handling in-place store migrations. +type Migrator struct { + keeper Keeper + legacySubspace exported.Subspace +} + +// NewMigrator returns a new Migrator. +func NewMigrator(keeper Keeper, legacySubspace exported.Subspace) Migrator { + return Migrator{keeper: keeper, legacySubspace: legacySubspace} +} + +// module state. +func (m Migrator) Migrate4to5(ctx sdk.Context) error { + return v5.MigrateStore(ctx, m.keeper.storeService, m.legacySubspace, m.keeper.cdc) +} diff --git a/x/did/keeper/msg_mint.go b/x/did/keeper/msg_mint.go index 2696dc6aa..13df99210 100644 --- a/x/did/keeper/msg_mint.go +++ b/x/did/keeper/msg_mint.go @@ -10,6 +10,9 @@ import ( ) func (k MsgServer) Mint(goCtx context.Context, req *types.MsgMint) (res *types.MsgMintResponse, err error) { + if err := req.ValidateBasic(); err != nil { + return nil, err + } if k.authority != req.Authority { return nil, errors.Wrapf(govtypes.ErrInvalidSigner, "invalid authority; expected %s, got %s", k.authority, req.Authority) } diff --git a/x/did/keeper/msg_server.go b/x/did/keeper/msg_server.go index e63108548..0742c6917 100644 --- a/x/did/keeper/msg_server.go +++ b/x/did/keeper/msg_server.go @@ -7,7 +7,7 @@ import ( "github.com/cheqd/cheqd-node/x/did/types" "github.com/cheqd/cheqd-node/x/did/utils" sdk "github.com/cosmos/cosmos-sdk/types" - authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" + govtypes "github.com/cosmos/cosmos-sdk/x/gov/types" ) type MsgServer struct { @@ -28,7 +28,7 @@ func NewMsgServer(keeper Keeper) types.MsgServer { var _ types.MsgServer = MsgServer{} -func FindDidDoc(k *Keeper, ctx *sdk.Context, inMemoryDIDs map[string]types.DidDocWithMetadata, did string) (res types.DidDocWithMetadata, found bool, err error) { +func FindDidDoc(k *Keeper, ctx *context.Context, inMemoryDIDs map[string]types.DidDocWithMetadata, did string) (res types.DidDocWithMetadata, found bool, err error) { // Look in inMemory dict value, found := inMemoryDIDs[did] if found { @@ -36,7 +36,11 @@ func FindDidDoc(k *Keeper, ctx *sdk.Context, inMemoryDIDs map[string]types.DidDo } // Look in state - if k.HasDidDoc(ctx, did) { + hasDidDoc, err := k.HasDidDoc(ctx, did) + if err != nil { + return types.DidDocWithMetadata{}, false, err + } + if hasDidDoc { value, err := k.GetLatestDidDoc(ctx, did) if err != nil { return types.DidDocWithMetadata{}, false, err @@ -48,7 +52,7 @@ func FindDidDoc(k *Keeper, ctx *sdk.Context, inMemoryDIDs map[string]types.DidDo return types.DidDocWithMetadata{}, false, nil } -func MustFindDidDoc(k *Keeper, ctx *sdk.Context, inMemoryDIDDocs map[string]types.DidDocWithMetadata, did string) (res types.DidDocWithMetadata, err error) { +func MustFindDidDoc(k *Keeper, ctx *context.Context, inMemoryDIDDocs map[string]types.DidDocWithMetadata, did string) (res types.DidDocWithMetadata, err error) { res, found, err := FindDidDoc(k, ctx, inMemoryDIDDocs, did) if err != nil { return types.DidDocWithMetadata{}, err @@ -61,7 +65,7 @@ func MustFindDidDoc(k *Keeper, ctx *sdk.Context, inMemoryDIDDocs map[string]type return res, nil } -func FindVerificationMethod(k *Keeper, ctx *sdk.Context, inMemoryDIDs map[string]types.DidDocWithMetadata, didURL string) (res types.VerificationMethod, found bool, err error) { +func FindVerificationMethod(k *Keeper, ctx *context.Context, inMemoryDIDs map[string]types.DidDocWithMetadata, didURL string) (res types.VerificationMethod, found bool, err error) { did, _, _, _ := utils.MustSplitDIDUrl(didURL) didDoc, found, err := FindDidDoc(k, ctx, inMemoryDIDs, did) @@ -78,7 +82,7 @@ func FindVerificationMethod(k *Keeper, ctx *sdk.Context, inMemoryDIDs map[string return types.VerificationMethod{}, false, nil } -func MustFindVerificationMethod(k *Keeper, ctx *sdk.Context, inMemoryDIDs map[string]types.DidDocWithMetadata, didURL string) (res types.VerificationMethod, err error) { +func MustFindVerificationMethod(k *Keeper, ctx *context.Context, inMemoryDIDs map[string]types.DidDocWithMetadata, didURL string) (res types.VerificationMethod, err error) { res, found, err := FindVerificationMethod(k, ctx, inMemoryDIDs, didURL) if err != nil { return types.VerificationMethod{}, err @@ -91,7 +95,7 @@ func MustFindVerificationMethod(k *Keeper, ctx *sdk.Context, inMemoryDIDs map[st return res, nil } -func VerifySignature(k *Keeper, ctx *sdk.Context, inMemoryDIDs map[string]types.DidDocWithMetadata, message []byte, signature types.SignInfo) error { +func VerifySignature(k *Keeper, ctx *context.Context, inMemoryDIDs map[string]types.DidDocWithMetadata, message []byte, signature types.SignInfo) error { verificationMethod, err := MustFindVerificationMethod(k, ctx, inMemoryDIDs, signature.VerificationMethodId) if err != nil { return err @@ -105,7 +109,7 @@ func VerifySignature(k *Keeper, ctx *sdk.Context, inMemoryDIDs map[string]types. return nil } -func VerifyAllSignersHaveAllValidSignatures(k *Keeper, ctx *sdk.Context, inMemoryDIDs map[string]types.DidDocWithMetadata, message []byte, signers []string, signatures []*types.SignInfo) error { +func VerifyAllSignersHaveAllValidSignatures(k *Keeper, ctx *context.Context, inMemoryDIDs map[string]types.DidDocWithMetadata, message []byte, signers []string, signatures []*types.SignInfo) error { for _, signer := range signers { signatures := types.FindSignInfosBySigner(signatures, signer) @@ -126,7 +130,7 @@ func VerifyAllSignersHaveAllValidSignatures(k *Keeper, ctx *sdk.Context, inMemor // VerifyAllSignersHaveAtLeastOneValidSignature verifies that all signers have at least one valid signature. // Omit didToBeUpdated and updatedDID if not updating a DID. Otherwise those values will be used to better format error messages. -func VerifyAllSignersHaveAtLeastOneValidSignature(k *Keeper, ctx *sdk.Context, inMemoryDIDs map[string]types.DidDocWithMetadata, +func VerifyAllSignersHaveAtLeastOneValidSignature(k *Keeper, ctx *context.Context, inMemoryDIDs map[string]types.DidDocWithMetadata, message []byte, signers []string, signatures []*types.SignInfo, didToBeUpdated string, updatedDID string, ) error { for _, signer := range signers { @@ -155,14 +159,20 @@ func VerifyAllSignersHaveAtLeastOneValidSignature(k *Keeper, ctx *sdk.Context, i } func (k MsgServer) Burn(goCtx context.Context, msg *types.MsgBurn) (*types.MsgBurnResponse, error) { + if err := msg.ValidateBasic(); err != nil { + return nil, err + } sdkCtx := sdk.UnwrapSDKContext(goCtx) accountI := k.Keeper.accountKeeper.GetAccount(sdkCtx, sdk.AccAddress(msg.FromAddress)) - _, ok := accountI.(authtypes.ModuleAccountI) + _, ok := accountI.(sdk.ModuleAccountI) if ok { return nil, types.ErrBurnFromModuleAccount } - bondDenom := k.stakingKeeper.BondDenom(sdkCtx) + bondDenom, err := k.stakingKeeper.BondDenom(sdkCtx) + if err != nil { + return nil, err + } denoms := msg.Amount.Denoms() if len(denoms) != 0 { err := ValidateDenom(denoms, bondDenom) @@ -170,7 +180,7 @@ func (k MsgServer) Burn(goCtx context.Context, msg *types.MsgBurn) (*types.MsgBu return nil, err } } - err := msg.ValidateBasic() + err = msg.ValidateBasic() if err != nil { return nil, err } @@ -197,3 +207,17 @@ func ValidateDenom(denom []string, bondDenom string) error { } return nil } + +func (k MsgServer) UpdateParams(goCtx context.Context, req *types.MsgUpdateParams) (*types.MsgUpdateParamsResponse, error) { + if k.GetAuthority() != req.Authority { + return nil, errorsmod.Wrapf(govtypes.ErrInvalidSigner, "invalid authority; expected %s, got %s", k.GetAuthority(), req.Authority) + } + + if err := req.Params.ValidateBasic(); err != nil { + return nil, err + } + if err := k.SetParams(goCtx, req.Params); err != nil { + return nil, err + } + return &types.MsgUpdateParamsResponse{}, nil +} diff --git a/x/did/keeper/msg_server_create_diddoc.go b/x/did/keeper/msg_server_create_diddoc.go index f8a47a709..066b4b23e 100644 --- a/x/did/keeper/msg_server_create_diddoc.go +++ b/x/did/keeper/msg_server_create_diddoc.go @@ -5,11 +5,12 @@ import ( "github.com/cheqd/cheqd-node/x/did/types" "github.com/cheqd/cheqd-node/x/did/utils" - sdk "github.com/cosmos/cosmos-sdk/types" ) func (k MsgServer) CreateDidDoc(goCtx context.Context, msg *types.MsgCreateDidDoc) (*types.MsgCreateDidDocResponse, error) { - ctx := sdk.UnwrapSDKContext(goCtx) + if err := msg.ValidateBasic(); err != nil { + return nil, err + } // Get sign bytes before modifying payload signBytes := msg.Payload.GetSignBytes() @@ -17,21 +18,28 @@ func (k MsgServer) CreateDidDoc(goCtx context.Context, msg *types.MsgCreateDidDo // Normalize UUID identifiers msg.Normalize() + hasDidDoc, err := k.HasDidDoc(&goCtx, msg.Payload.Id) + if err != nil { + return nil, err + } // Validate DID doesn't exist - if k.HasDidDoc(&ctx, msg.Payload.Id) { + if hasDidDoc { return nil, types.ErrDidDocExists.Wrap(msg.Payload.Id) } // Validate namespaces - namespace := k.GetDidNamespace(&ctx) - err := msg.Validate([]string{namespace}) + namespace, err := k.GetDidNamespace(&goCtx) + if err != nil { + return nil, err + } + err = msg.Validate([]string{namespace}) if err != nil { return nil, types.ErrNamespaceValidation.Wrap(err.Error()) } // Build metadata and stateValue didDoc := msg.Payload.ToDidDoc() - metadata := types.NewMetadataFromContext(ctx, msg.Payload.VersionId) + metadata := types.NewMetadataFromContext(goCtx, msg.Payload.VersionId) didDocWithMetadata := types.NewDidDocWithMetadata(&didDoc, &metadata) // Consider did that we are going to create during did resolutions @@ -40,7 +48,7 @@ func (k MsgServer) CreateDidDoc(goCtx context.Context, msg *types.MsgCreateDidDo // Check controllers' existence controllers := didDoc.AllControllerDids() for _, controller := range controllers { - _, err := MustFindDidDoc(&k.Keeper, &ctx, inMemoryDids, controller) + _, err := MustFindDidDoc(&k.Keeper, &goCtx, inMemoryDids, controller) if err != nil { return nil, err } @@ -48,13 +56,13 @@ func (k MsgServer) CreateDidDoc(goCtx context.Context, msg *types.MsgCreateDidDo // Verify signatures signers := GetSignerDIDsForDIDCreation(didDoc) - err = VerifyAllSignersHaveAllValidSignatures(&k.Keeper, &ctx, inMemoryDids, signBytes, signers, msg.Signatures) + err = VerifyAllSignersHaveAllValidSignatures(&k.Keeper, &goCtx, inMemoryDids, signBytes, signers, msg.Signatures) if err != nil { return nil, err } // Save first DIDDoc version - err = k.AddNewDidDocVersion(&ctx, &didDocWithMetadata) + err = k.AddNewDidDocVersion(&goCtx, &didDocWithMetadata) if err != nil { return nil, types.ErrInternal.Wrapf(err.Error()) } diff --git a/x/did/keeper/msg_server_deactivate_diddoc.go b/x/did/keeper/msg_server_deactivate_diddoc.go index bd6df5455..859418d55 100644 --- a/x/did/keeper/msg_server_deactivate_diddoc.go +++ b/x/did/keeper/msg_server_deactivate_diddoc.go @@ -4,12 +4,12 @@ import ( "context" "github.com/cheqd/cheqd-node/x/did/types" - sdk "github.com/cosmos/cosmos-sdk/types" ) func (k MsgServer) DeactivateDidDoc(goCtx context.Context, msg *types.MsgDeactivateDidDoc) (*types.MsgDeactivateDidDocResponse, error) { - ctx := sdk.UnwrapSDKContext(goCtx) - + if err := msg.ValidateBasic(); err != nil { + return nil, err + } // Get sign bytes before modifying payload signBytes := msg.Payload.GetSignBytes() @@ -17,19 +17,26 @@ func (k MsgServer) DeactivateDidDoc(goCtx context.Context, msg *types.MsgDeactiv msg.Normalize() // Validate DID does exist - if !k.HasDidDoc(&ctx, msg.Payload.Id) { + hasDidDoc, err := k.HasDidDoc(&goCtx, msg.Payload.Id) + if err != nil { + return nil, err + } + if !hasDidDoc { return nil, types.ErrDidDocNotFound.Wrap(msg.Payload.Id) } // Validate namespaces - namespace := k.GetDidNamespace(&ctx) - err := msg.Validate([]string{namespace}) + namespace, err := k.GetDidNamespace(&goCtx) + if err != nil { + return nil, err + } + err = msg.Validate([]string{namespace}) if err != nil { return nil, types.ErrNamespaceValidation.Wrap(err.Error()) } // Retrieve didDoc state value and did - didDoc, err := k.GetLatestDidDoc(&ctx, msg.Payload.Id) + didDoc, err := k.GetLatestDidDoc(&goCtx, msg.Payload.Id) if err != nil { return nil, err } @@ -44,27 +51,27 @@ func (k MsgServer) DeactivateDidDoc(goCtx context.Context, msg *types.MsgDeactiv // Verify signatures signers := GetSignerDIDsForDIDCreation(*didDoc.DidDoc) - err = VerifyAllSignersHaveAllValidSignatures(&k.Keeper, &ctx, inMemoryDids, signBytes, signers, msg.Signatures) + err = VerifyAllSignersHaveAllValidSignatures(&k.Keeper, &goCtx, inMemoryDids, signBytes, signers, msg.Signatures) if err != nil { return nil, err } // Update metadata didDoc.Metadata.Deactivated = true - didDoc.Metadata.Update(ctx, msg.Payload.VersionId) + didDoc.Metadata.Update(goCtx, msg.Payload.VersionId) // Apply changes. We create a new version on deactivation to track deactivation time - err = k.AddNewDidDocVersion(&ctx, &didDoc) + err = k.AddNewDidDocVersion(&goCtx, &didDoc) if err != nil { return nil, types.ErrInternal.Wrapf(err.Error()) } // Deactivate all previous versions var iterationErr error - k.IterateDidDocVersions(&ctx, msg.Payload.Id, func(didDocWithMetadata types.DidDocWithMetadata) bool { + k.IterateDidDocVersions(&goCtx, msg.Payload.Id, func(didDocWithMetadata types.DidDocWithMetadata) bool { didDocWithMetadata.Metadata.Deactivated = true - err := k.SetDidDocVersion(&ctx, &didDocWithMetadata, true) + err := k.SetDidDocVersion(&goCtx, &didDocWithMetadata, true) if err != nil { iterationErr = err return false diff --git a/x/did/keeper/msg_server_update_diddoc.go b/x/did/keeper/msg_server_update_diddoc.go index 7924d3d8e..0fe5e4cf3 100644 --- a/x/did/keeper/msg_server_update_diddoc.go +++ b/x/did/keeper/msg_server_update_diddoc.go @@ -6,14 +6,14 @@ import ( "github.com/cheqd/cheqd-node/x/did/types" "github.com/cheqd/cheqd-node/x/did/utils" - sdk "github.com/cosmos/cosmos-sdk/types" ) const UpdatedPostfix string = "-updated" func (k MsgServer) UpdateDidDoc(goCtx context.Context, msg *types.MsgUpdateDidDoc) (*types.MsgUpdateDidDocResponse, error) { - ctx := sdk.UnwrapSDKContext(goCtx) - + if err := msg.ValidateBasic(); err != nil { + return nil, err + } // Get sign bytes before modifying payload signBytes := msg.Payload.GetSignBytes() @@ -21,14 +21,17 @@ func (k MsgServer) UpdateDidDoc(goCtx context.Context, msg *types.MsgUpdateDidDo msg.Normalize() // Validate namespaces - namespace := k.GetDidNamespace(&ctx) - err := msg.Validate([]string{namespace}) + namespace, err := k.GetDidNamespace(&goCtx) + if err != nil { + return nil, err + } + err = msg.Validate([]string{namespace}) if err != nil { return nil, types.ErrNamespaceValidation.Wrap(err.Error()) } // Check if DID exists and get latest version - existingDidDocWithMetadata, err := k.GetLatestDidDoc(&ctx, msg.Payload.Id) + existingDidDocWithMetadata, err := k.GetLatestDidDoc(&goCtx, msg.Payload.Id) if err != nil { return nil, types.ErrDidDocNotFound.Wrap(err.Error()) } @@ -46,7 +49,7 @@ func (k MsgServer) UpdateDidDoc(goCtx context.Context, msg *types.MsgUpdateDidDo updatedDidDoc.ReplaceDids(updatedDidDoc.Id, updatedDidDoc.Id+UpdatedPostfix) updatedMetadata := *existingDidDocWithMetadata.Metadata - updatedMetadata.Update(ctx, msg.Payload.VersionId) + updatedMetadata.Update(goCtx, msg.Payload.VersionId) updatedDidDocWithMetadata := types.NewDidDocWithMetadata(&updatedDidDoc, &updatedMetadata) @@ -56,7 +59,7 @@ func (k MsgServer) UpdateDidDoc(goCtx context.Context, msg *types.MsgUpdateDidDo // Check controllers existence controllers := updatedDidDoc.AllControllerDids() for _, controller := range controllers { - _, err := MustFindDidDoc(&k.Keeper, &ctx, inMemoryDids, controller) + _, err := MustFindDidDoc(&k.Keeper, &goCtx, inMemoryDids, controller) if err != nil { return nil, err } @@ -69,7 +72,7 @@ func (k MsgServer) UpdateDidDoc(goCtx context.Context, msg *types.MsgUpdateDidDo // To eliminate this problem we have to add pubkey to the signInfo in future. signers := GetSignerDIDsForDIDUpdate(*existingDidDoc, updatedDidDoc) extendedSignatures := DuplicateSignatures(msg.Signatures, existingDidDocWithMetadata.DidDoc.Id, updatedDidDoc.Id) - err = VerifyAllSignersHaveAtLeastOneValidSignature(&k.Keeper, &ctx, inMemoryDids, signBytes, signers, extendedSignatures, existingDidDoc.Id, updatedDidDoc.Id) + err = VerifyAllSignersHaveAtLeastOneValidSignature(&k.Keeper, &goCtx, inMemoryDids, signBytes, signers, extendedSignatures, existingDidDoc.Id, updatedDidDoc.Id) if err != nil { return nil, err } @@ -78,7 +81,7 @@ func (k MsgServer) UpdateDidDoc(goCtx context.Context, msg *types.MsgUpdateDidDo updatedDidDoc.ReplaceDids(updatedDidDoc.Id, existingDidDoc.Id) // Update state - err = k.AddNewDidDocVersion(&ctx, &updatedDidDocWithMetadata) + err = k.AddNewDidDocVersion(&goCtx, &updatedDidDocWithMetadata) if err != nil { return nil, types.ErrInternal.Wrapf(err.Error()) } diff --git a/x/did/keeper/params.go b/x/did/keeper/params.go deleted file mode 100644 index 420a66402..000000000 --- a/x/did/keeper/params.go +++ /dev/null @@ -1,15 +0,0 @@ -package keeper - -import ( - "github.com/cheqd/cheqd-node/x/did/types" - sdk "github.com/cosmos/cosmos-sdk/types" -) - -func (k Keeper) SetParams(ctx sdk.Context, params types.FeeParams) { - k.paramSpace.Set(ctx, types.ParamStoreKeyFeeParams, ¶ms) -} - -func (k Keeper) GetParams(ctx sdk.Context) (params types.FeeParams) { - k.paramSpace.Get(ctx, types.ParamStoreKeyFeeParams, ¶ms) - return params -} diff --git a/x/did/keeper/query_server.go b/x/did/keeper/query_server.go index 3efa029d4..7b4a3879c 100644 --- a/x/did/keeper/query_server.go +++ b/x/did/keeper/query_server.go @@ -1,9 +1,13 @@ package keeper import ( + "context" + "github.com/cheqd/cheqd-node/x/did/types" ) +var _ types.QueryServer = QueryServer{} + type QueryServer struct { Keeper } @@ -13,4 +17,11 @@ func NewQueryServer(keeper Keeper) types.QueryServer { return &QueryServer{Keeper: keeper} } -var _ types.QueryServer = QueryServer{} +func (k Keeper) Params(ctx context.Context, req *types.QueryParamsRequest) (*types.QueryParamsResponse, error) { + params, err := k.Paramstore.Get(ctx) + if err != nil { + return nil, err + } + + return &types.QueryParamsResponse{Params: params}, nil +} diff --git a/x/did/keeper/query_server_all_diddoc_versions_metadata.go b/x/did/keeper/query_server_all_diddoc_versions_metadata.go index 41a8a0d73..6d02400ab 100644 --- a/x/did/keeper/query_server_all_diddoc_versions_metadata.go +++ b/x/did/keeper/query_server_all_diddoc_versions_metadata.go @@ -4,20 +4,17 @@ import ( "context" "github.com/cheqd/cheqd-node/x/did/types" - sdk "github.com/cosmos/cosmos-sdk/types" "google.golang.org/grpc/codes" "google.golang.org/grpc/status" ) -func (k Keeper) AllDidDocVersionsMetadata(c context.Context, req *types.QueryAllDidDocVersionsMetadataRequest) (*types.QueryAllDidDocVersionsMetadataResponse, error) { +func (k Keeper) AllDidDocVersionsMetadata(ctx context.Context, req *types.QueryAllDidDocVersionsMetadataRequest) (*types.QueryAllDidDocVersionsMetadataResponse, error) { if req == nil { return nil, status.Error(codes.InvalidArgument, "invalid request") } req.Normalize() - ctx := sdk.UnwrapSDKContext(c) - versions, err := k.GetAllDidDocVersions(&ctx, req.Id) if err != nil { return nil, err diff --git a/x/did/keeper/query_server_diddoc.go b/x/did/keeper/query_server_diddoc.go index 53c9e1b92..2621ff795 100644 --- a/x/did/keeper/query_server_diddoc.go +++ b/x/did/keeper/query_server_diddoc.go @@ -4,20 +4,17 @@ import ( "context" "github.com/cheqd/cheqd-node/x/did/types" - sdk "github.com/cosmos/cosmos-sdk/types" "google.golang.org/grpc/codes" "google.golang.org/grpc/status" ) -func (k Keeper) DidDoc(c context.Context, req *types.QueryDidDocRequest) (*types.QueryDidDocResponse, error) { +func (k Keeper) DidDoc(ctx context.Context, req *types.QueryDidDocRequest) (*types.QueryDidDocResponse, error) { if req == nil { return nil, status.Error(codes.InvalidArgument, "invalid request") } req.Normalize() - ctx := sdk.UnwrapSDKContext(c) - didDoc, err := k.GetLatestDidDoc(&ctx, req.Id) if err != nil { return nil, err diff --git a/x/did/keeper/query_server_diddoc_version.go b/x/did/keeper/query_server_diddoc_version.go index 8e52d3398..fbe103bbc 100644 --- a/x/did/keeper/query_server_diddoc_version.go +++ b/x/did/keeper/query_server_diddoc_version.go @@ -4,20 +4,17 @@ import ( "context" "github.com/cheqd/cheqd-node/x/did/types" - sdk "github.com/cosmos/cosmos-sdk/types" "google.golang.org/grpc/codes" "google.golang.org/grpc/status" ) -func (k Keeper) DidDocVersion(c context.Context, req *types.QueryDidDocVersionRequest) (*types.QueryDidDocVersionResponse, error) { +func (k Keeper) DidDocVersion(ctx context.Context, req *types.QueryDidDocVersionRequest) (*types.QueryDidDocVersionResponse, error) { if req == nil { return nil, status.Error(codes.InvalidArgument, "invalid request") } req.Normalize() - ctx := sdk.UnwrapSDKContext(c) - didDoc, err := k.GetDidDocVersion(&ctx, req.Id, req.Version) if err != nil { return nil, err diff --git a/x/did/migrations/v5/migrate.go b/x/did/migrations/v5/migrate.go new file mode 100644 index 000000000..1f4e3e574 --- /dev/null +++ b/x/did/migrations/v5/migrate.go @@ -0,0 +1,33 @@ +package v5 + +import ( + "cosmossdk.io/core/store" + + "github.com/cheqd/cheqd-node/x/did/exported" + "github.com/cheqd/cheqd-node/x/did/types" + "github.com/cosmos/cosmos-sdk/codec" + sdk "github.com/cosmos/cosmos-sdk/types" +) + +const ( + ModuleName = "did" +) + +var ParamsKey = []byte("feeparams") + +func MigrateStore(ctx sdk.Context, storeService store.KVStoreService, legacySubspace exported.Subspace, cdc codec.BinaryCodec) error { + store := storeService.OpenKVStore(ctx) + var currParams types.FeeParams + legacySubspace.GetParamSet(ctx, &currParams) + + if err := currParams.ValidateBasic(); err != nil { + return err + } + + bz, err := cdc.Marshal(&currParams) + if err != nil { + return err + } + + return store.Set(ParamsKey, bz) +} diff --git a/x/did/module.go b/x/did/module.go index c2f86035e..5988b823f 100644 --- a/x/did/module.go +++ b/x/did/module.go @@ -9,6 +9,7 @@ import ( "cosmossdk.io/core/appmodule" "github.com/cheqd/cheqd-node/x/did/client/cli" + "github.com/cheqd/cheqd-node/x/did/exported" "github.com/cheqd/cheqd-node/x/did/types" "github.com/grpc-ecosystem/grpc-gateway/runtime" @@ -26,8 +27,14 @@ import ( ) var ( - _ module.AppModule = AppModule{} - _ module.AppModuleBasic = AppModuleBasic{} + _ module.AppModuleBasic = AppModule{} + _ module.HasABCIGenesis = AppModule{} + _ module.HasServices = AppModule{} + _ module.HasInvariants = AppModule{} + _ module.HasABCIEndBlock = AppModule{} + + _ appmodule.AppModule = AppModule{} + _ appmodule.HasBeginBlocker = AppModule{} ) // ---------------------------------------------------------------------------- @@ -88,10 +95,10 @@ func (a AppModuleBasic) GetTxCmd() *cobra.Command { return cli.GetTxCmd() } -// GetQueryCmd returns the cheqd module's root query command. -func (AppModuleBasic) GetQueryCmd() *cobra.Command { - return cli.GetQueryCmd() -} +// // GetQueryCmd returns the cheqd module's root query command. +// func (AppModuleBasic) GetQueryCmd() *cobra.Command { +// return cli.GetQueryCmd() +// } // ---------------------------------------------------------------------------- // AppModule @@ -102,6 +109,8 @@ type AppModule struct { AppModuleBasic keeper keeper.Keeper + // legacySubspace is used solely for migration of x/params managed parameters + legacySubspace exported.Subspace } var _ appmodule.AppModule = AppModule{} @@ -124,7 +133,7 @@ func NewAppModule(cdc codec.Codec, keeper keeper.Keeper) AppModule { // introduced by the module. To avoid wrong/empty versions, the initial version // should be set to 1. func (am AppModule) ConsensusVersion() uint64 { - return 4 + return 5 } // Name returns the cheqd module's name. @@ -137,6 +146,12 @@ func (am AppModule) Name() string { func (am AppModule) RegisterServices(cfg module.Configurator) { types.RegisterQueryServer(cfg.QueryServer(), keeper.NewQueryServer(am.keeper)) types.RegisterMsgServer(cfg.MsgServer(), keeper.NewMsgServerImpl(am.keeper)) + + m := keeper.NewMigrator(am.keeper, am.legacySubspace) + + if err := cfg.RegisterMigration(types.ModuleName, 4, m.Migrate4to5); err != nil { + panic(fmt.Sprintf("failed to migrate x/did from version 4 to 5: %v", err)) + } } // RegisterInvariants registers the cheqd module's invariants. @@ -159,10 +174,12 @@ func (am AppModule) ExportGenesis(ctx sdk.Context, cdc codec.JSONCodec) json.Raw } // BeginBlock executes all ABCI BeginBlock logic respective to the cheqd module. -func (am AppModule) BeginBlock(_ sdk.Context, _ abci.RequestBeginBlock) {} +func (am AppModule) BeginBlock(_ context.Context) error { + return nil +} // EndBlock executes all ABCI EndBlock logic respective to the cheqd module. It // returns no validator updates. -func (am AppModule) EndBlock(_ sdk.Context, _ abci.RequestEndBlock) []abci.ValidatorUpdate { - return []abci.ValidatorUpdate{} +func (am AppModule) EndBlock(_ context.Context) ([]abci.ValidatorUpdate, error) { + return []abci.ValidatorUpdate{}, nil } diff --git a/x/did/tests/burn_test.go b/x/did/tests/burn_test.go index 952cf5a5f..b5700f3aa 100644 --- a/x/did/tests/burn_test.go +++ b/x/did/tests/burn_test.go @@ -1,6 +1,7 @@ package tests import ( + sdkmath "cosmossdk.io/math" testsetup "github.com/cheqd/cheqd-node/x/did/tests/setup" "github.com/cheqd/cheqd-node/x/did/types" "github.com/cometbft/cometbft/crypto/ed25519" @@ -29,12 +30,12 @@ var _ = Describe("MsgBurn tests", func() { Expect(err).To(BeNil()) // FundAccount to the account address - err = testutil.FundAccount(setup.BankKeeper, setup.SdkCtx, addr1, someCoins) + err = testutil.FundAccount(setup.SdkCtx, setup.BankKeeper, addr1, someCoins) Expect(err).To(BeNil()) balanceBefore := setup.BankKeeper.GetAllBalances(setup.SdkCtx, addr1) // make a proper burn message - burnAmount := sdk.NewCoins(sdk.NewCoin(types.BaseMinimalDenom, sdk.NewInt(100000))) + burnAmount := sdk.NewCoins(sdk.NewCoin(types.BaseMinimalDenom, sdkmath.NewInt(100000))) baseMsg := types.NewMsgBurn( addr1.String(), burnAmount, @@ -60,13 +61,13 @@ var _ = Describe("MsgBurn tests", func() { Expect(err).To(BeNil()) // FundAccount to the account address - err = testutil.FundAccount(setup.BankKeeper, setup.SdkCtx, addr1, someCoins) + err = testutil.FundAccount(setup.SdkCtx, setup.BankKeeper, addr1, someCoins) Expect(err).To(BeNil()) // make a proper burn message baseMsg := types.NewMsgBurn( "", - sdk.NewCoins(sdk.NewCoin("stake", sdk.NewInt(100000))), + sdk.NewCoins(sdk.NewCoin("stake", sdkmath.NewInt(100000))), ) // burn the coins @@ -85,13 +86,13 @@ var _ = Describe("MsgBurn tests", func() { Expect(err).To(BeNil()) // FundAccount to the account address - err = testutil.FundAccount(setup.BankKeeper, setup.SdkCtx, addr1, someCoins) + err = testutil.FundAccount(setup.SdkCtx, setup.BankKeeper, addr1, someCoins) Expect(err).To(BeNil()) // make a proper burn message baseMsg := types.NewMsgBurn( addr1.String(), - sdk.NewCoins(sdk.NewCoin(types.BaseMinimalDenom, sdk.ZeroInt())), + sdk.NewCoins(sdk.NewCoin(types.BaseMinimalDenom, sdkmath.ZeroInt())), ) // burn the coins @@ -110,11 +111,11 @@ var _ = Describe("MsgBurn tests", func() { Expect(err).To(BeNil()) // FundAccount to the account address - err = testutil.FundAccount(setup.BankKeeper, setup.SdkCtx, addr1, someCoins) + err = testutil.FundAccount(setup.SdkCtx, setup.BankKeeper, addr1, someCoins) Expect(err).To(BeNil()) // make a proper burn message - burnAmount := sdk.NewCoins(sdk.NewCoin("stake", sdk.NewInt(100000))) + burnAmount := sdk.NewCoins(sdk.NewCoin("stake", sdkmath.NewInt(100000))) baseMsg := types.NewMsgBurn( addr1.String(), burnAmount, diff --git a/x/did/tests/create_diddoc_test.go b/x/did/tests/create_diddoc_test.go index 565c1dd81..892c7095c 100644 --- a/x/did/tests/create_diddoc_test.go +++ b/x/did/tests/create_diddoc_test.go @@ -447,6 +447,7 @@ var _ = Describe("Create DID tests", func() { VerificationMaterial: testsetup.GenerateEd25519VerificationKey2020VerificationMaterial(alice.KeyPair.Public), }, }, + VersionId: uuid.NewString(), } signatures := []testsetup.SignInput{alice.SignInput} diff --git a/x/did/tests/mint_test.go b/x/did/tests/mint_test.go index 579e3bfd8..dc4efe8aa 100644 --- a/x/did/tests/mint_test.go +++ b/x/did/tests/mint_test.go @@ -1,6 +1,7 @@ package tests import ( + sdkmath "cosmossdk.io/math" testsetup "github.com/cheqd/cheqd-node/x/did/tests/setup" "github.com/cheqd/cheqd-node/x/did/types" "github.com/cometbft/cometbft/crypto/ed25519" @@ -20,7 +21,7 @@ var _ = Describe("MsgBurn tests", func() { It("Valid message format", func() { pk1 := ed25519.GenPrivKey().PubKey() addr1 := sdk.AccAddress(pk1.Address()) - mintAmount := sdk.NewCoins(sdk.NewCoin(types.BaseMinimalDenom, sdk.NewInt(100000))) + mintAmount := sdk.NewCoins(sdk.NewCoin(types.BaseMinimalDenom, sdkmath.NewInt(100000))) governanceAddress := setup.AccountKeeper.GetModuleAccount(setup.SdkCtx, govtypes.ModuleName).GetAddress().String() baseMsg := types.NewMsgMint( @@ -37,7 +38,7 @@ var _ = Describe("MsgBurn tests", func() { addr1 := sdk.AccAddress(pk1.Address()) pk2 := ed25519.GenPrivKey().PubKey() add2 := sdk.AccAddress(pk2.Address()) - mintAmount := sdk.NewCoins(sdk.NewCoin(types.BaseMinimalDenom, sdk.NewInt(100000))) + mintAmount := sdk.NewCoins(sdk.NewCoin(types.BaseMinimalDenom, sdkmath.NewInt(100000))) baseMsg := types.NewMsgMint( add2.String(), diff --git a/x/did/tests/setup/setup.go b/x/did/tests/setup/setup.go index 7e751a4f8..60155d6e8 100644 --- a/x/did/tests/setup/setup.go +++ b/x/did/tests/setup/setup.go @@ -8,15 +8,19 @@ import ( "github.com/cheqd/cheqd-node/x/did/types" codectypes "github.com/cosmos/cosmos-sdk/codec/types" + "cosmossdk.io/log" "cosmossdk.io/store" - dbm "github.com/cometbft/cometbft-db" - "github.com/cometbft/cometbft/libs/log" tmproto "github.com/cometbft/cometbft/proto/tendermint/types" + dbm "github.com/cosmos/cosmos-db" "github.com/cosmos/cosmos-sdk/codec" + storemetrics "cosmossdk.io/store/metrics" storetypes "cosmossdk.io/store/types" + appparams "github.com/cheqd/cheqd-node/app" "github.com/cheqd/cheqd-node/x/did/keeper" + "github.com/cosmos/cosmos-sdk/runtime" sdk "github.com/cosmos/cosmos-sdk/types" + authcodec "github.com/cosmos/cosmos-sdk/x/auth/codec" authkeeper "github.com/cosmos/cosmos-sdk/x/auth/keeper" authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" bankkeeper "github.com/cosmos/cosmos-sdk/x/bank/keeper" @@ -55,13 +59,13 @@ func Setup() TestSetup { // Init KVStore db := dbm.NewMemDB() - keys := sdk.NewKVStoreKeys( + keys := storetypes.NewKVStoreKeys( authtypes.StoreKey, banktypes.StoreKey, types.StoreKey, stakingtypes.StoreKey, ) - dbStore := store.NewCommitMultiStore(db) + dbStore := store.NewCommitMultiStore(db, log.NewNopLogger(), storemetrics.NewNoOpMetrics()) dbStore.MountStoreWithDB(keys[types.StoreKey], storetypes.StoreTypeIAVL, nil) dbStore.MountStoreWithDB(keys[authtypes.StoreKey], storetypes.StoreTypeIAVL, nil) dbStore.MountStoreWithDB(keys[banktypes.StoreKey], storetypes.StoreTypeIAVL, nil) @@ -79,20 +83,21 @@ func Setup() TestSetup { } // Init ParamsKeeper KVStore - paramsStoreKey := sdk.NewKVStoreKey(paramstypes.StoreKey) - paramsTStoreKey := sdk.NewTransientStoreKey(paramstypes.TStoreKey) + paramsStoreKey := storetypes.NewKVStoreKey(paramstypes.StoreKey) + paramsTStoreKey := storetypes.NewTransientStoreKey(paramstypes.TStoreKey) paramsKeeper := initParamsKeeper(Cdc, aminoCdc, paramsStoreKey, paramsTStoreKey) - accountKeeper := authkeeper.NewAccountKeeper(Cdc, keys[authtypes.StoreKey], authtypes.ProtoBaseAccount, maccPerms, "cheqd", authtypes.NewModuleAddress(govtypes.ModuleName).String()) + accountKeeper := authkeeper.NewAccountKeeper(Cdc, runtime.NewKVStoreService(keys[authtypes.StoreKey]), authtypes.ProtoBaseAccount, maccPerms, authcodec.NewBech32Codec("cheqd"), "cheqd", authtypes.NewModuleAddress(govtypes.ModuleName).String()) bankKeeper := bankkeeper.NewBaseKeeper( Cdc, - keys[banktypes.StoreKey], + runtime.NewKVStoreService(keys[banktypes.StoreKey]), accountKeeper, nil, authtypes.NewModuleAddress(govtypes.ModuleName).String(), + log.NewNopLogger(), ) - stakingKeeper := stakingkeeper.NewKeeper(Cdc, keys[stakingtypes.StoreKey], accountKeeper, bankKeeper, authtypes.NewModuleAddress(govtypes.ModuleName).String()) - newKeeper := keeper.NewKeeper(Cdc, keys[types.StoreKey], getSubspace(types.ModuleName, paramsKeeper), accountKeeper, bankKeeper, stakingKeeper, authtypes.NewModuleAddress(govtypes.ModuleName).String()) + stakingKeeper := stakingkeeper.NewKeeper(Cdc, runtime.NewKVStoreService(keys[stakingtypes.StoreKey]), accountKeeper, bankKeeper, authtypes.NewModuleAddress(govtypes.ModuleName).String(), authcodec.NewBech32Codec(appparams.ValidatorAddressPrefix), authcodec.NewBech32Codec(appparams.ConsNodeAddressPrefix)) + newKeeper := keeper.NewKeeper(Cdc, runtime.NewKVStoreService(keys[types.StoreKey]), getSubspace(types.ModuleName, paramsKeeper), accountKeeper, bankKeeper, stakingKeeper, authtypes.NewModuleAddress(govtypes.ModuleName).String()) // Create Tx txBytes := make([]byte, 28) @@ -106,10 +111,11 @@ func Setup() TestSetup { msgServer := keeper.NewMsgServer(*newKeeper) queryServer := keeper.NewQueryServer(*newKeeper) + goCtx := sdk.WrapSDKContext(ctx) params := stakingtypes.DefaultParams() params.BondDenom = "ncheq" - err := stakingKeeper.SetParams(ctx, params) + err := stakingKeeper.SetParams(goCtx, params) if err != nil { panic("error while setting up the params") } @@ -117,7 +123,7 @@ func Setup() TestSetup { Cdc: Cdc, SdkCtx: ctx, - StdCtx: sdk.WrapSDKContext(ctx), + StdCtx: goCtx, Keeper: *newKeeper, MsgServer: msgServer, @@ -125,8 +131,10 @@ func Setup() TestSetup { BankKeeper: bankKeeper, AccountKeeper: accountKeeper, } - - setup.Keeper.SetDidNamespace(&ctx, DidNamespace) + err = setup.Keeper.SetDidNamespace(&goCtx, DidNamespace) + if err != nil { + panic(err) + } return setup } diff --git a/x/did/types/codec.go b/x/did/types/codec.go index 5ffe0b058..6e1cc06b8 100644 --- a/x/did/types/codec.go +++ b/x/did/types/codec.go @@ -14,6 +14,7 @@ func RegisterCodec(cdc *codec.LegacyAmino) { cdc.RegisterConcrete(&MsgDeactivateDidDoc{}, "did/DeleteDidDoc", nil) cdc.RegisterConcrete(&MsgBurn{}, "did/MsgBurn", nil) cdc.RegisterConcrete(&MsgMint{}, "did/MsgMint", nil) + cdc.RegisterConcrete(&MsgUpdateParams{}, "did/MsgUpdateParams", nil) } func RegisterInterfaces(registry cdctypes.InterfaceRegistry) { @@ -24,12 +25,8 @@ func RegisterInterfaces(registry cdctypes.InterfaceRegistry) { &MsgDeactivateDidDoc{}, &MsgBurn{}, &MsgMint{}, + &MsgUpdateParams{}, ) msgservice.RegisterMsgServiceDesc(registry, &_Msg_serviceDesc) } - -var ( - amino = codec.NewLegacyAmino() - ModuleCdc = codec.NewAminoCodec(amino) -) diff --git a/x/did/types/custom_signer.go b/x/did/types/custom_signer.go new file mode 100644 index 000000000..993b6c4a5 --- /dev/null +++ b/x/did/types/custom_signer.go @@ -0,0 +1,28 @@ +package types + +import ( + fmt "fmt" + + "cosmossdk.io/x/tx/signing" + didv2 "github.com/cheqd/cheqd-node/api/v2/cheqd/did/v2" + protov2 "google.golang.org/protobuf/proto" +) + +func CreateGetSigners(options *signing.Options) func(msg protov2.Message) ([][]byte, error) { + return func(msg protov2.Message) ([][]byte, error) { + switch msg := msg.(type) { + + case *didv2.MsgCreateDidDoc: + return [][]byte{}, nil + + case *didv2.MsgDeactivateDidDoc: + return [][]byte{}, nil + + case *didv2.MsgUpdateDidDoc: + return [][]byte{}, nil + + default: + return nil, fmt.Errorf("unsupported message type: %T", msg) + } + } +} diff --git a/x/did/types/diddoc_metadata.go b/x/did/types/diddoc_metadata.go index 7fe8ccb43..eade61167 100644 --- a/x/did/types/diddoc_metadata.go +++ b/x/did/types/diddoc_metadata.go @@ -1,17 +1,21 @@ package types import ( + context "context" + sdk "github.com/cosmos/cosmos-sdk/types" ) -func NewMetadataFromContext(ctx sdk.Context, version string) Metadata { - created := ctx.BlockTime() +func NewMetadataFromContext(ctx context.Context, version string) Metadata { + sdkCtx := sdk.UnwrapSDKContext(ctx) + created := sdkCtx.BlockTime() return Metadata{Created: created, Deactivated: false, VersionId: version} } -func (m *Metadata) Update(ctx sdk.Context, version string) { - updated := ctx.BlockTime() +func (m *Metadata) Update(ctx context.Context, version string) { + sdkCtx := sdk.UnwrapSDKContext(ctx) + updated := sdkCtx.BlockTime() m.Updated = &updated m.VersionId = version } diff --git a/x/did/types/fee.pb.go b/x/did/types/fee.pb.go index b38535f55..9d39e94c2 100644 --- a/x/did/types/fee.pb.go +++ b/x/did/types/fee.pb.go @@ -4,10 +4,11 @@ package types import ( + cosmossdk_io_math "cosmossdk.io/math" fmt "fmt" _ "github.com/cosmos/cosmos-proto" - github_com_cosmos_cosmos_sdk_types "github.com/cosmos/cosmos-sdk/types" types "github.com/cosmos/cosmos-sdk/types" + _ "github.com/cosmos/cosmos-sdk/types/tx/amino" _ "github.com/cosmos/gogoproto/gogoproto" proto "github.com/cosmos/gogoproto/proto" io "io" @@ -43,7 +44,7 @@ type FeeParams struct { // Percentage of the fixed fee that will be burned // // Default: 0.5 (50%) - BurnFactor github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,4,opt,name=burn_factor,json=burnFactor,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"burn_factor"` + BurnFactor cosmossdk_io_math.LegacyDec `protobuf:"bytes,4,opt,name=burn_factor,json=burnFactor,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"burn_factor"` } func (m *FeeParams) Reset() { *m = FeeParams{} } @@ -107,28 +108,29 @@ func init() { func init() { proto.RegisterFile("cheqd/did/v2/fee.proto", fileDescriptor_b0cfbae270deaac7) } var fileDescriptor_b0cfbae270deaac7 = []byte{ - // 331 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x91, 0x3f, 0x4f, 0x3a, 0x31, - 0x18, 0xc7, 0xaf, 0xfc, 0xc8, 0x2f, 0xa1, 0xa8, 0x03, 0x31, 0x06, 0x18, 0x0a, 0x71, 0x50, 0x16, - 0xda, 0x80, 0xab, 0x71, 0x40, 0x64, 0x36, 0x8c, 0x26, 0x86, 0xf4, 0xda, 0x07, 0x68, 0x0c, 0x57, - 0xbc, 0x2b, 0x17, 0x7d, 0x17, 0xbe, 0x0c, 0x67, 0xe3, 0x8b, 0x60, 0x24, 0x4e, 0xc6, 0x81, 0x98, - 0xbb, 0x37, 0x62, 0xda, 0x1e, 0xd1, 0x91, 0xe5, 0xee, 0x9e, 0x3f, 0x9f, 0xcf, 0x37, 0xb9, 0x07, - 0x9f, 0x88, 0x39, 0x3c, 0x4a, 0x26, 0x95, 0x64, 0x69, 0x9f, 0x4d, 0x01, 0xe8, 0x32, 0xd6, 0x46, - 0xd7, 0x0e, 0x5c, 0x9f, 0x4a, 0x25, 0x69, 0xda, 0x6f, 0x12, 0xa1, 0x93, 0x85, 0x4e, 0x58, 0xc8, - 0x13, 0x60, 0x69, 0x2f, 0x04, 0xc3, 0x7b, 0x4c, 0x68, 0x15, 0xf9, 0xed, 0x66, 0xc3, 0xcf, 0x27, - 0xae, 0x62, 0xbe, 0x28, 0x46, 0xc7, 0x33, 0x3d, 0xd3, 0xbe, 0x6f, 0xbf, 0x7c, 0xf7, 0xf4, 0xad, - 0x84, 0x2b, 0x23, 0x80, 0x5b, 0x1e, 0xf3, 0x45, 0x52, 0xbb, 0xc2, 0x58, 0xc4, 0xc0, 0x0d, 0x4c, - 0xa4, 0x92, 0x75, 0xd4, 0x46, 0x9d, 0x6a, 0xbf, 0x41, 0x0b, 0x8d, 0xcd, 0xa4, 0x45, 0x26, 0xbd, - 0xd6, 0x2a, 0x1a, 0x94, 0xd7, 0xdb, 0x56, 0x30, 0xae, 0x78, 0x64, 0xa8, 0xa4, 0xe5, 0x57, 0x4b, - 0xb9, 0xe3, 0x4b, 0x7b, 0xf2, 0x1e, 0xb1, 0xfc, 0x08, 0x1f, 0x49, 0xe0, 0xc2, 0xa8, 0x74, 0xe7, - 0xf8, 0xb7, 0x9f, 0xe3, 0xf0, 0x17, 0xb3, 0x9e, 0x7b, 0x5c, 0x0d, 0x57, 0x71, 0x34, 0x99, 0x72, - 0x61, 0x74, 0x5c, 0x2f, 0xb7, 0x51, 0xa7, 0x32, 0xb8, 0xb4, 0x9b, 0x5f, 0xdb, 0xd6, 0xd9, 0x4c, - 0x99, 0xf9, 0x2a, 0xa4, 0x42, 0x2f, 0x8a, 0x3f, 0x54, 0xbc, 0xba, 0x89, 0x7c, 0x60, 0xe6, 0x79, - 0x09, 0x09, 0x1d, 0x82, 0xf8, 0x78, 0xef, 0xe2, 0x22, 0x75, 0x08, 0x62, 0x8c, 0xad, 0x70, 0xe4, - 0x7c, 0x83, 0x9b, 0xd7, 0x8c, 0xa0, 0x75, 0x46, 0xd0, 0x26, 0x23, 0xe8, 0x3b, 0x23, 0xe8, 0x25, - 0x27, 0xc1, 0x26, 0x27, 0xc1, 0x67, 0x4e, 0x82, 0xbb, 0xf3, 0xbf, 0x7e, 0x77, 0x54, 0xf7, 0xec, - 0x46, 0x5a, 0x02, 0x7b, 0x72, 0x17, 0x76, 0x21, 0xe1, 0x7f, 0x77, 0x82, 0x8b, 0x9f, 0x00, 0x00, - 0x00, 0xff, 0xff, 0x2f, 0x93, 0x46, 0x88, 0xfb, 0x01, 0x00, 0x00, + // 351 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x91, 0x4f, 0x4b, 0x32, 0x41, + 0x18, 0xc0, 0x77, 0x7c, 0xe5, 0x05, 0xc7, 0x0a, 0x92, 0x08, 0x35, 0x18, 0xa5, 0x4b, 0x12, 0x38, + 0x83, 0x06, 0x1d, 0x3b, 0x98, 0x79, 0xea, 0x10, 0x5e, 0x82, 0x2e, 0x32, 0x3b, 0xf3, 0xb8, 0x0e, + 0xb1, 0x3b, 0xb6, 0x3b, 0x2e, 0xf9, 0x2d, 0xfa, 0x18, 0x1e, 0x3a, 0x74, 0xe8, 0x43, 0x78, 0x94, + 0x4e, 0xd1, 0x41, 0x62, 0x3d, 0xf4, 0x35, 0x62, 0x77, 0x56, 0xba, 0x7a, 0x79, 0x98, 0xe7, 0xcf, + 0xef, 0xf7, 0xc0, 0x3c, 0xf8, 0x58, 0x4c, 0xe0, 0x49, 0x32, 0xa9, 0x24, 0x8b, 0xbb, 0x6c, 0x0c, + 0x40, 0xa7, 0xa1, 0x36, 0xba, 0xb2, 0x97, 0xd5, 0xa9, 0x54, 0x92, 0xc6, 0xdd, 0xfa, 0x21, 0xf7, + 0x55, 0xa0, 0x59, 0x16, 0xed, 0x40, 0x9d, 0x08, 0x1d, 0xf9, 0x3a, 0x62, 0x2e, 0x8f, 0x80, 0xc5, + 0x1d, 0x17, 0x0c, 0xef, 0x30, 0xa1, 0x55, 0x90, 0xf7, 0x6b, 0xb6, 0x3f, 0xca, 0x32, 0x66, 0x93, + 0xbc, 0x75, 0xe4, 0x69, 0x4f, 0xdb, 0x7a, 0xfa, 0xb2, 0xd5, 0xd3, 0xd7, 0x02, 0x2e, 0x0d, 0x00, + 0xee, 0x78, 0xc8, 0xfd, 0xa8, 0x72, 0x85, 0xb1, 0x08, 0x81, 0x1b, 0x18, 0x49, 0x25, 0xab, 0xa8, + 0x89, 0x5a, 0xe5, 0x6e, 0x8d, 0xe6, 0x9a, 0x74, 0x27, 0xcd, 0x77, 0xd2, 0x6b, 0xad, 0x82, 0x5e, + 0x71, 0xb9, 0x6e, 0x38, 0xc3, 0x92, 0x45, 0xfa, 0x4a, 0xa6, 0xfc, 0x6c, 0x2a, 0xb7, 0x7c, 0x61, + 0x47, 0xde, 0x22, 0x29, 0x3f, 0xc0, 0x07, 0x12, 0xb8, 0x30, 0x2a, 0xde, 0x3a, 0xfe, 0xed, 0xe6, + 0xd8, 0xff, 0xc3, 0x52, 0xcf, 0x3d, 0x2e, 0xbb, 0xb3, 0x30, 0x18, 0x8d, 0xb9, 0x30, 0x3a, 0xac, + 0x16, 0x9b, 0xa8, 0x55, 0xea, 0x5d, 0xa6, 0x93, 0x5f, 0xeb, 0xc6, 0x89, 0x75, 0x45, 0xf2, 0x91, + 0x2a, 0xcd, 0x7c, 0x6e, 0x26, 0xf4, 0x16, 0x3c, 0x2e, 0xe6, 0x7d, 0x10, 0x1f, 0xef, 0x6d, 0x9c, + 0xaf, 0xea, 0x83, 0x58, 0xfc, 0xbc, 0x9d, 0xa3, 0x21, 0x4e, 0x55, 0x83, 0xcc, 0xd4, 0xbb, 0x59, + 0x24, 0x04, 0x2d, 0x13, 0x82, 0x56, 0x09, 0x41, 0xdf, 0x09, 0x41, 0x2f, 0x1b, 0xe2, 0xac, 0x36, + 0xc4, 0xf9, 0xdc, 0x10, 0xe7, 0xe1, 0xcc, 0x53, 0x66, 0x32, 0x73, 0xa9, 0xd0, 0x3e, 0xb3, 0x17, + 0xce, 0x62, 0x3b, 0xd0, 0x12, 0xd8, 0x73, 0x76, 0x6e, 0x33, 0x9f, 0x42, 0xe4, 0xfe, 0xcf, 0x3e, + 0xff, 0xe2, 0x37, 0x00, 0x00, 0xff, 0xff, 0xed, 0x7d, 0xd1, 0x24, 0x08, 0x02, 0x00, 0x00, } func (this *FeeParams) Equal(that interface{}) bool { diff --git a/x/did/types/keys.go b/x/did/types/keys.go index 6472b3e88..43167710c 100644 --- a/x/did/types/keys.go +++ b/x/did/types/keys.go @@ -1,5 +1,9 @@ package types +import ( + "cosmossdk.io/collections" +) + const ( // ModuleName defines the module name ModuleName = "cheqd" @@ -19,25 +23,10 @@ const ( // did-latest: -> // did-version:: -> -const ( - LatestDidDocVersionKey = "did-latest:" - DidDocVersionKey = "did-version:" - DidDocCountKey = "did-count:" - DidNamespaceKey = "did-namespace:" +var ( + DidDocCountKeyPrefix = collections.NewPrefix("did-count:") + DidNamespaceKeyPrefix = collections.NewPrefix("did-namespace:") + LatestDidDocVersionKeyPrefix = collections.NewPrefix("did-latest:") + DidDocVersionKeyPrefix = collections.NewPrefix("did-version:") + ParamStoreKeyFeeParams = collections.NewPrefix("feeparams") ) - -func GetLatestDidDocVersionKey(did string) []byte { - return []byte(LatestDidDocVersionKey + did) -} - -func GetDidDocVersionKey(did string, version string) []byte { - return []byte(DidDocVersionKey + did + ":" + version) -} - -func GetLatestDidDocVersionPrefix() []byte { - return []byte(LatestDidDocVersionKey) -} - -func GetDidDocVersionsPrefix(did string) []byte { - return []byte(DidDocVersionKey + did + ":") -} diff --git a/x/did/types/params.go b/x/did/types/params.go index eae76419a..48cb56d34 100644 --- a/x/did/types/params.go +++ b/x/did/types/params.go @@ -3,28 +3,17 @@ package types import ( "fmt" + sdkmath "cosmossdk.io/math" sdk "github.com/cosmos/cosmos-sdk/types" - paramtypes "github.com/cosmos/cosmos-sdk/x/params/types" ) -// Parameter store key -var ( - ParamStoreKeyFeeParams = []byte("feeparams") -) - -func ParamKeyTable() paramtypes.KeyTable { - return paramtypes.NewKeyTable( - paramtypes.NewParamSetPair(ParamStoreKeyFeeParams, FeeParams{}, validateFeeParams), - ) -} - // DefaultFeeParams returns default cheqd module tx fee parameters func DefaultFeeParams() *FeeParams { return &FeeParams{ - CreateDid: sdk.NewCoin(BaseMinimalDenom, sdk.NewInt(DefaultCreateDidTxFee)), - UpdateDid: sdk.NewCoin(BaseMinimalDenom, sdk.NewInt(DefaultUpdateDidTxFee)), - DeactivateDid: sdk.NewCoin(BaseMinimalDenom, sdk.NewInt(DefaultDeactivateDidTxFee)), - BurnFactor: sdk.MustNewDecFromStr(DefaultBurnFactor), + CreateDid: sdk.NewCoin(BaseMinimalDenom, sdkmath.NewInt(DefaultCreateDidTxFee)), + UpdateDid: sdk.NewCoin(BaseMinimalDenom, sdkmath.NewInt(DefaultUpdateDidTxFee)), + DeactivateDid: sdk.NewCoin(BaseMinimalDenom, sdkmath.NewInt(DefaultDeactivateDidTxFee)), + BurnFactor: sdkmath.LegacyMustNewDecFromStr(DefaultBurnFactor), } } @@ -42,7 +31,7 @@ func (tfp *FeeParams) ValidateBasic() error { return fmt.Errorf("invalid deactivate did tx fee: %s", tfp.DeactivateDid) } - if !tfp.BurnFactor.IsPositive() || tfp.BurnFactor.GTE(sdk.OneDec()) { + if !tfp.BurnFactor.IsPositive() || tfp.BurnFactor.GTE(sdkmath.LegacyOneDec()) { return fmt.Errorf("invalid burn factor: %s", tfp.BurnFactor) } @@ -101,12 +90,12 @@ func validateDeactivateDid(i interface{}) error { } func validateBurnFactor(i interface{}) error { - v, ok := i.(sdk.Dec) + v, ok := i.(sdk.DecCoin) if !ok { return fmt.Errorf("invalid parameter type: %T", i) } - if v.IsNil() { + if v.Amount.IsNil() { return fmt.Errorf("burn factor must not be nil") } @@ -114,13 +103,14 @@ func validateBurnFactor(i interface{}) error { return fmt.Errorf("burn factor must not be negative: %s", v) } - if v.GTE(sdk.OneDec()) { + if v.Amount.GTE(sdkmath.LegacyOneDec()) { return fmt.Errorf("burn factor must be less than 1: %s", v) } return nil } +//nolint:unused func validateFeeParams(i interface{}) error { v, ok := i.(FeeParams) if !ok { diff --git a/x/did/types/params_legacy.go b/x/did/types/params_legacy.go new file mode 100644 index 000000000..4668e411b --- /dev/null +++ b/x/did/types/params_legacy.go @@ -0,0 +1,25 @@ +package types + +import ( + paramtypes "github.com/cosmos/cosmos-sdk/x/params/types" +) + +var ( + KeyCreateDid = []byte("KeyCreateDid") + KeyUpdateDid = []byte("UpdateDid") + KeyDeactivateDid = []byte("DeactivateDid") + KeyBurnFactor = []byte("BurnFactor") +) + +func ParamKeyTable() paramtypes.KeyTable { + return paramtypes.NewKeyTable().RegisterParamSet(&FeeParams{}) +} + +func (tfp *FeeParams) ParamSetPairs() paramtypes.ParamSetPairs { + return paramtypes.ParamSetPairs{ + paramtypes.NewParamSetPair(KeyCreateDid, &tfp.CreateDid, validateCreateDid), + paramtypes.NewParamSetPair(KeyUpdateDid, &tfp.UpdateDid, validateUpdateDid), + paramtypes.NewParamSetPair(KeyDeactivateDid, &tfp.DeactivateDid, validateDeactivateDid), + paramtypes.NewParamSetPair(KeyBurnFactor, &tfp.BurnFactor, validateBurnFactor), + } +} diff --git a/x/did/types/query.pb.go b/x/did/types/query.pb.go index d0c7e65c4..a7bfde56c 100644 --- a/x/did/types/query.pb.go +++ b/x/did/types/query.pb.go @@ -7,6 +7,8 @@ import ( context "context" fmt "fmt" query "github.com/cosmos/cosmos-sdk/types/query" + _ "github.com/cosmos/cosmos-sdk/types/tx/amino" + _ "github.com/cosmos/gogoproto/gogoproto" grpc1 "github.com/cosmos/gogoproto/grpc" proto "github.com/cosmos/gogoproto/proto" _ "google.golang.org/genproto/googleapis/api/annotations" @@ -364,6 +366,89 @@ func (m *QueryAllDidDocVersionsMetadataResponse) GetPagination() *query.PageResp return nil } +// QueryParamsRequest is the request type for the Query/Params RPC method. +type QueryParamsRequest struct { +} + +func (m *QueryParamsRequest) Reset() { *m = QueryParamsRequest{} } +func (m *QueryParamsRequest) String() string { return proto.CompactTextString(m) } +func (*QueryParamsRequest) ProtoMessage() {} +func (*QueryParamsRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_8d818263856d0dc9, []int{6} +} +func (m *QueryParamsRequest) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryParamsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryParamsRequest.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *QueryParamsRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryParamsRequest.Merge(m, src) +} +func (m *QueryParamsRequest) XXX_Size() int { + return m.Size() +} +func (m *QueryParamsRequest) XXX_DiscardUnknown() { + xxx_messageInfo_QueryParamsRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryParamsRequest proto.InternalMessageInfo + +// QueryParamsResponse is the response type for the Query/Params RPC method. +type QueryParamsResponse struct { + // params defines the parameters of the module. + Params FeeParams `protobuf:"bytes,1,opt,name=params,proto3" json:"params"` +} + +func (m *QueryParamsResponse) Reset() { *m = QueryParamsResponse{} } +func (m *QueryParamsResponse) String() string { return proto.CompactTextString(m) } +func (*QueryParamsResponse) ProtoMessage() {} +func (*QueryParamsResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_8d818263856d0dc9, []int{7} +} +func (m *QueryParamsResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryParamsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryParamsResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *QueryParamsResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryParamsResponse.Merge(m, src) +} +func (m *QueryParamsResponse) XXX_Size() int { + return m.Size() +} +func (m *QueryParamsResponse) XXX_DiscardUnknown() { + xxx_messageInfo_QueryParamsResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryParamsResponse proto.InternalMessageInfo + +func (m *QueryParamsResponse) GetParams() FeeParams { + if m != nil { + return m.Params + } + return FeeParams{} +} + func init() { proto.RegisterType((*QueryDidDocRequest)(nil), "cheqd.did.v2.QueryDidDocRequest") proto.RegisterType((*QueryDidDocResponse)(nil), "cheqd.did.v2.QueryDidDocResponse") @@ -371,44 +456,52 @@ func init() { proto.RegisterType((*QueryDidDocVersionResponse)(nil), "cheqd.did.v2.QueryDidDocVersionResponse") proto.RegisterType((*QueryAllDidDocVersionsMetadataRequest)(nil), "cheqd.did.v2.QueryAllDidDocVersionsMetadataRequest") proto.RegisterType((*QueryAllDidDocVersionsMetadataResponse)(nil), "cheqd.did.v2.QueryAllDidDocVersionsMetadataResponse") + proto.RegisterType((*QueryParamsRequest)(nil), "cheqd.did.v2.QueryParamsRequest") + proto.RegisterType((*QueryParamsResponse)(nil), "cheqd.did.v2.QueryParamsResponse") } func init() { proto.RegisterFile("cheqd/did/v2/query.proto", fileDescriptor_8d818263856d0dc9) } var fileDescriptor_8d818263856d0dc9 = []byte{ - // 503 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x94, 0x41, 0x8b, 0xd3, 0x40, - 0x14, 0xc7, 0x9b, 0x2e, 0xbb, 0xea, 0xab, 0x7a, 0x18, 0x45, 0xd2, 0xa8, 0xa1, 0xc6, 0xb5, 0x2d, - 0xa2, 0x33, 0x6c, 0x56, 0xbc, 0xaf, 0xac, 0x7a, 0x5a, 0xd0, 0x22, 0x0a, 0xde, 0xa6, 0x99, 0x21, - 0x1d, 0xe8, 0x66, 0xd2, 0xce, 0x34, 0xb8, 0x2c, 0x8b, 0xe0, 0x27, 0x58, 0xf0, 0x33, 0x78, 0xf2, - 0xe8, 0x97, 0xf0, 0xb8, 0xe0, 0xc5, 0xa3, 0xb4, 0x7e, 0x10, 0xd9, 0x99, 0xb1, 0x36, 0x6e, 0x63, - 0x91, 0xbd, 0x84, 0x24, 0xef, 0xff, 0xfe, 0xef, 0x37, 0xef, 0xbd, 0x04, 0xfc, 0x64, 0xc0, 0x47, - 0x8c, 0x30, 0xc1, 0x48, 0x11, 0x93, 0xd1, 0x84, 0x8f, 0x0f, 0x70, 0x3e, 0x96, 0x5a, 0xa2, 0xcb, - 0x26, 0x82, 0x99, 0x60, 0xb8, 0x88, 0x83, 0x66, 0x49, 0xc7, 0x04, 0x63, 0x32, 0xb1, 0xc2, 0xe0, - 0x7e, 0x22, 0xd5, 0xbe, 0x54, 0xa4, 0x4f, 0x15, 0xb7, 0x0e, 0xa4, 0xd8, 0xea, 0x73, 0x4d, 0xb7, - 0x48, 0x4e, 0x53, 0x91, 0x51, 0x2d, 0x64, 0xe6, 0xb4, 0xb7, 0x52, 0x29, 0xd3, 0x21, 0x27, 0x34, - 0x17, 0x84, 0x66, 0x99, 0xd4, 0x26, 0xa8, 0x6c, 0x34, 0xda, 0x04, 0xf4, 0xf2, 0x34, 0x7f, 0x57, - 0xb0, 0x5d, 0x99, 0xf4, 0xf8, 0x68, 0xc2, 0x95, 0x46, 0x57, 0xa1, 0x2e, 0x98, 0xef, 0xb5, 0xbc, - 0xee, 0xa5, 0x5e, 0x5d, 0xb0, 0x68, 0x0f, 0xae, 0x95, 0x54, 0x2a, 0x97, 0x99, 0xe2, 0xe8, 0x31, - 0xac, 0x17, 0x74, 0x38, 0xe1, 0x46, 0xd9, 0x88, 0x5b, 0x78, 0x91, 0x1f, 0x5b, 0xf1, 0x1b, 0xa1, - 0x07, 0x7b, 0x5c, 0x53, 0x46, 0x35, 0xed, 0x59, 0x79, 0xf4, 0x14, 0x9a, 0x0b, 0x76, 0xaf, 0xf9, - 0x58, 0x09, 0x99, 0x55, 0xd4, 0x46, 0x3e, 0x5c, 0x28, 0xac, 0xc2, 0xaf, 0x9b, 0x97, 0xbf, 0x1f, - 0xa3, 0x57, 0x10, 0x2c, 0xb3, 0x39, 0x27, 0xdc, 0x7b, 0xb8, 0x67, 0x5c, 0x77, 0x86, 0xc3, 0x92, - 0xb1, 0x9a, 0x0b, 0x2b, 0x40, 0x9f, 0x01, 0xfc, 0x69, 0xbe, 0x61, 0x6d, 0xc4, 0x6d, 0x6c, 0x27, - 0x85, 0x4f, 0x27, 0x85, 0xed, 0xac, 0xdd, 0xa4, 0xf0, 0x0b, 0x9a, 0x72, 0xe7, 0xd5, 0x5b, 0xc8, - 0x8c, 0x3e, 0x79, 0xd0, 0x5e, 0x45, 0xe0, 0xce, 0x18, 0xc3, 0x45, 0xd7, 0x0c, 0xe5, 0x7b, 0xad, - 0xb5, 0x6e, 0x23, 0xbe, 0x51, 0x3e, 0xe6, 0x3c, 0x63, 0xae, 0x43, 0xcf, 0x97, 0x60, 0x76, 0x56, - 0x62, 0xda, 0x82, 0x8b, 0x9c, 0xf1, 0x97, 0x35, 0x58, 0x37, 0x9c, 0x48, 0xc0, 0x86, 0x05, 0x45, - 0x7f, 0x75, 0xf9, 0xec, 0x6a, 0x05, 0x77, 0xfe, 0xa1, 0xb0, 0x45, 0xa2, 0xe0, 0xc3, 0xb7, 0x9f, - 0x1f, 0xeb, 0xd7, 0x11, 0x22, 0xa5, 0x2f, 0xe0, 0x50, 0xb0, 0x23, 0x74, 0xec, 0xc1, 0x95, 0x52, - 0x53, 0x50, 0xa7, 0xd2, 0xb0, 0xbc, 0x58, 0x41, 0x77, 0xb5, 0xd0, 0x01, 0x3c, 0x30, 0x00, 0x6d, - 0xb4, 0x79, 0x16, 0x80, 0xb8, 0x3e, 0x92, 0x43, 0x77, 0x73, 0x84, 0x3e, 0x7b, 0xd0, 0xac, 0x1c, - 0x15, 0xda, 0x5e, 0x52, 0x75, 0xd5, 0x6a, 0x05, 0x8f, 0xfe, 0x2f, 0xc9, 0x61, 0xdf, 0x35, 0xd8, - 0xb7, 0xd1, 0xcd, 0x6a, 0x6c, 0xf5, 0x64, 0xe7, 0xeb, 0x34, 0xf4, 0x4e, 0xa6, 0xa1, 0xf7, 0x63, - 0x1a, 0x7a, 0xc7, 0xb3, 0xb0, 0x76, 0x32, 0x0b, 0x6b, 0xdf, 0x67, 0x61, 0xed, 0x6d, 0x27, 0x15, - 0x7a, 0x30, 0xe9, 0xe3, 0x44, 0xee, 0x3b, 0x03, 0x73, 0x7d, 0x98, 0x49, 0xc6, 0xc9, 0x3b, 0xe3, - 0xa6, 0x0f, 0x72, 0xae, 0xfa, 0x1b, 0xe6, 0xd7, 0xb1, 0xfd, 0x2b, 0x00, 0x00, 0xff, 0xff, 0xde, - 0xdf, 0xb1, 0x7a, 0xc9, 0x04, 0x00, 0x00, + // 603 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x54, 0x41, 0x6b, 0x13, 0x41, + 0x18, 0xcd, 0x46, 0x1b, 0xed, 0x54, 0x05, 0xc7, 0x10, 0x93, 0xb5, 0xae, 0x71, 0xad, 0x49, 0x28, + 0xba, 0x43, 0xb7, 0xe2, 0xc1, 0x5b, 0x4b, 0xad, 0xa7, 0x42, 0x1b, 0x44, 0xc1, 0xdb, 0x24, 0x33, + 0x6e, 0x06, 0x93, 0x9d, 0x4d, 0x66, 0x12, 0x2c, 0xa5, 0x08, 0xfe, 0x82, 0x82, 0x7f, 0xc0, 0x8b, + 0x20, 0x78, 0xf1, 0x67, 0xf4, 0x58, 0xf0, 0xe2, 0x49, 0x24, 0x11, 0xfc, 0x1b, 0x92, 0x99, 0x69, + 0xcc, 0xd8, 0xac, 0x41, 0xbc, 0x0c, 0x93, 0x6f, 0xde, 0xf7, 0xbe, 0x37, 0xf3, 0x5e, 0x16, 0x14, + 0x9b, 0x2d, 0xda, 0x25, 0x88, 0x30, 0x82, 0x06, 0x21, 0xea, 0xf6, 0x69, 0x6f, 0x3f, 0x48, 0x7a, + 0x5c, 0x72, 0x78, 0x49, 0x9d, 0x04, 0x84, 0x91, 0x60, 0x10, 0xba, 0x57, 0x71, 0x87, 0xc5, 0x1c, + 0xa9, 0x55, 0x03, 0xdc, 0x92, 0xd5, 0x4a, 0x18, 0x21, 0xbc, 0x69, 0x8e, 0x0a, 0xd6, 0xd1, 0x4b, + 0x4a, 0x4d, 0x7d, 0xb5, 0xc9, 0x45, 0x87, 0x0b, 0xd4, 0xc0, 0x82, 0xea, 0x61, 0x68, 0xb0, 0xd6, + 0xa0, 0x12, 0xaf, 0xa1, 0x04, 0x47, 0x2c, 0xc6, 0x92, 0xf1, 0xd8, 0x60, 0xf3, 0x11, 0x8f, 0xb8, + 0xda, 0xa2, 0xf1, 0xce, 0x54, 0x97, 0x23, 0xce, 0xa3, 0x36, 0x45, 0x38, 0x61, 0x08, 0xc7, 0x31, + 0x97, 0xaa, 0x45, 0xe8, 0x53, 0x7f, 0x05, 0xc0, 0xbd, 0x31, 0xeb, 0x16, 0x23, 0x5b, 0xbc, 0x59, + 0xa7, 0xdd, 0x3e, 0x15, 0x12, 0x5e, 0x01, 0x59, 0x46, 0x8a, 0x4e, 0xd9, 0xa9, 0x2d, 0xd6, 0xb3, + 0x8c, 0xf8, 0x3b, 0xe0, 0x9a, 0x85, 0x12, 0x09, 0x8f, 0x05, 0x85, 0x0f, 0xc1, 0xc2, 0x00, 0xb7, + 0xfb, 0x54, 0x21, 0x97, 0xc2, 0x72, 0x30, 0xfd, 0x00, 0x81, 0x06, 0x3f, 0x67, 0xb2, 0xb5, 0x43, + 0x25, 0x26, 0x58, 0xe2, 0xba, 0x86, 0xfb, 0x8f, 0x41, 0x69, 0x8a, 0xee, 0x19, 0xed, 0x09, 0xc6, + 0xe3, 0x94, 0xd9, 0xb0, 0x08, 0x2e, 0x0c, 0x34, 0xa2, 0x98, 0x55, 0xc5, 0xd3, 0x9f, 0xfe, 0x53, + 0xe0, 0xce, 0xa2, 0xf9, 0x4f, 0x71, 0x6f, 0xc0, 0x5d, 0xc5, 0xba, 0xd1, 0x6e, 0x5b, 0xc4, 0x62, + 0x02, 0x4c, 0x11, 0xba, 0x0d, 0xc0, 0x6f, 0x4b, 0x94, 0xd6, 0xa5, 0xb0, 0x12, 0x68, 0xff, 0x82, + 0xb1, 0x7f, 0x81, 0x0e, 0x8b, 0xf1, 0x2f, 0xd8, 0xc5, 0x11, 0x35, 0x5c, 0xf5, 0xa9, 0x4e, 0xff, + 0x83, 0x03, 0x2a, 0xf3, 0x14, 0x98, 0x3b, 0x86, 0xe0, 0xa2, 0x79, 0x0c, 0x51, 0x74, 0xca, 0xe7, + 0x6a, 0x4b, 0x61, 0xc1, 0xbe, 0xe6, 0xa4, 0x63, 0x82, 0x83, 0x4f, 0x66, 0xc8, 0xac, 0xce, 0x95, + 0xa9, 0x07, 0x5a, 0x3a, 0xf3, 0x26, 0x3a, 0xbb, 0xb8, 0x87, 0x3b, 0xc2, 0xdc, 0xc4, 0xdf, 0x33, + 0x51, 0x39, 0xad, 0x1a, 0xa5, 0x8f, 0x40, 0x2e, 0x51, 0x15, 0x63, 0xc7, 0x75, 0x5b, 0xe7, 0x36, + 0xa5, 0xba, 0x61, 0x73, 0xf1, 0xf8, 0xdb, 0xad, 0xcc, 0xc7, 0x9f, 0x9f, 0x57, 0x9d, 0xba, 0xe9, + 0x08, 0xdf, 0x9f, 0x07, 0x0b, 0x8a, 0x13, 0x32, 0x90, 0xd3, 0x2f, 0x02, 0xff, 0xb0, 0xf3, 0x6c, + 0x86, 0xdd, 0xdb, 0x7f, 0x41, 0x68, 0x51, 0xbe, 0xfb, 0xf6, 0xcb, 0x8f, 0x77, 0xd9, 0x3c, 0x84, + 0xc8, 0xfa, 0xf7, 0x1d, 0x30, 0x72, 0x08, 0x8f, 0x1c, 0x70, 0xd9, 0x7a, 0x7d, 0x58, 0x4d, 0x25, + 0xb4, 0x13, 0xec, 0xd6, 0xe6, 0x03, 0x8d, 0x80, 0x7b, 0x4a, 0x40, 0x05, 0xae, 0x9c, 0x15, 0x80, + 0x8c, 0x61, 0xe8, 0xc0, 0x6c, 0x0e, 0xe1, 0x27, 0x07, 0x94, 0x52, 0x33, 0x01, 0xd7, 0x67, 0x4c, + 0x9d, 0x97, 0x61, 0xf7, 0xc1, 0xbf, 0x35, 0x19, 0xd9, 0x77, 0x94, 0xec, 0x9b, 0xf0, 0x46, 0xba, + 0x6c, 0x01, 0x5f, 0x81, 0x9c, 0xb6, 0x74, 0xa6, 0x57, 0x56, 0x68, 0x66, 0x7a, 0x65, 0x07, 0xc8, + 0x5f, 0x56, 0x33, 0x0b, 0x30, 0x6f, 0xcf, 0xd4, 0x11, 0xd9, 0xdc, 0x38, 0x1e, 0x7a, 0xce, 0xc9, + 0xd0, 0x73, 0xbe, 0x0f, 0x3d, 0xe7, 0x68, 0xe4, 0x65, 0x4e, 0x46, 0x5e, 0xe6, 0xeb, 0xc8, 0xcb, + 0xbc, 0xa8, 0x46, 0x4c, 0xb6, 0xfa, 0x8d, 0xa0, 0xc9, 0x3b, 0xa6, 0x53, 0xad, 0xf7, 0x63, 0x4e, + 0x28, 0x7a, 0xad, 0x68, 0xe4, 0x7e, 0x42, 0x45, 0x23, 0xa7, 0x3e, 0x88, 0xeb, 0xbf, 0x02, 0x00, + 0x00, 0xff, 0xff, 0xa7, 0xd8, 0x0c, 0xb5, 0xe0, 0x05, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -429,6 +522,8 @@ type QueryClient interface { DidDocVersion(ctx context.Context, in *QueryDidDocVersionRequest, opts ...grpc.CallOption) (*QueryDidDocVersionResponse, error) // Fetch list of all versions of DID Documents for a given DID AllDidDocVersionsMetadata(ctx context.Context, in *QueryAllDidDocVersionsMetadataRequest, opts ...grpc.CallOption) (*QueryAllDidDocVersionsMetadataResponse, error) + // Params queries params of the did module. + Params(ctx context.Context, in *QueryParamsRequest, opts ...grpc.CallOption) (*QueryParamsResponse, error) } type queryClient struct { @@ -466,6 +561,15 @@ func (c *queryClient) AllDidDocVersionsMetadata(ctx context.Context, in *QueryAl return out, nil } +func (c *queryClient) Params(ctx context.Context, in *QueryParamsRequest, opts ...grpc.CallOption) (*QueryParamsResponse, error) { + out := new(QueryParamsResponse) + err := c.cc.Invoke(ctx, "/cheqd.did.v2.Query/Params", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // QueryServer is the server API for Query service. type QueryServer interface { // Fetch latest version of a DID Document for a given DID @@ -474,6 +578,8 @@ type QueryServer interface { DidDocVersion(context.Context, *QueryDidDocVersionRequest) (*QueryDidDocVersionResponse, error) // Fetch list of all versions of DID Documents for a given DID AllDidDocVersionsMetadata(context.Context, *QueryAllDidDocVersionsMetadataRequest) (*QueryAllDidDocVersionsMetadataResponse, error) + // Params queries params of the did module. + Params(context.Context, *QueryParamsRequest) (*QueryParamsResponse, error) } // UnimplementedQueryServer can be embedded to have forward compatible implementations. @@ -489,6 +595,9 @@ func (*UnimplementedQueryServer) DidDocVersion(ctx context.Context, req *QueryDi func (*UnimplementedQueryServer) AllDidDocVersionsMetadata(ctx context.Context, req *QueryAllDidDocVersionsMetadataRequest) (*QueryAllDidDocVersionsMetadataResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method AllDidDocVersionsMetadata not implemented") } +func (*UnimplementedQueryServer) Params(ctx context.Context, req *QueryParamsRequest) (*QueryParamsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method Params not implemented") +} func RegisterQueryServer(s grpc1.Server, srv QueryServer) { s.RegisterService(&_Query_serviceDesc, srv) @@ -548,6 +657,24 @@ func _Query_AllDidDocVersionsMetadata_Handler(srv interface{}, ctx context.Conte return interceptor(ctx, in, info, handler) } +func _Query_Params_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryParamsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).Params(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cheqd.did.v2.Query/Params", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).Params(ctx, req.(*QueryParamsRequest)) + } + return interceptor(ctx, in, info, handler) +} + var _Query_serviceDesc = grpc.ServiceDesc{ ServiceName: "cheqd.did.v2.Query", HandlerType: (*QueryServer)(nil), @@ -564,6 +691,10 @@ var _Query_serviceDesc = grpc.ServiceDesc{ MethodName: "AllDidDocVersionsMetadata", Handler: _Query_AllDidDocVersionsMetadata_Handler, }, + { + MethodName: "Params", + Handler: _Query_Params_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "cheqd/did/v2/query.proto", @@ -797,6 +928,62 @@ func (m *QueryAllDidDocVersionsMetadataResponse) MarshalToSizedBuffer(dAtA []byt return len(dAtA) - i, nil } +func (m *QueryParamsRequest) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *QueryParamsRequest) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryParamsRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + +func (m *QueryParamsResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *QueryParamsResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryParamsResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + { + size, err := m.Params.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintQuery(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa + return len(dAtA) - i, nil +} + func encodeVarintQuery(dAtA []byte, offset int, v uint64) int { offset -= sovQuery(v) base := offset @@ -900,6 +1087,26 @@ func (m *QueryAllDidDocVersionsMetadataResponse) Size() (n int) { return n } +func (m *QueryParamsRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *QueryParamsResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = m.Params.Size() + n += 1 + l + sovQuery(uint64(l)) + return n +} + func sovQuery(x uint64) (n int) { return (math_bits.Len64(x|1) + 6) / 7 } @@ -1512,6 +1719,139 @@ func (m *QueryAllDidDocVersionsMetadataResponse) Unmarshal(dAtA []byte) error { } return nil } +func (m *QueryParamsRequest) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: QueryParamsRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryParamsRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := skipQuery(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthQuery + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *QueryParamsResponse) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: QueryParamsResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryParamsResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Params", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthQuery + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Params.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipQuery(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthQuery + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func skipQuery(dAtA []byte) (n int, err error) { l := len(dAtA) iNdEx := 0 diff --git a/x/did/types/query.pb.gw.go b/x/did/types/query.pb.gw.go index 03422b091..56785f7c4 100644 --- a/x/did/types/query.pb.gw.go +++ b/x/did/types/query.pb.gw.go @@ -235,6 +235,24 @@ func local_request_Query_AllDidDocVersionsMetadata_0(ctx context.Context, marsha } +func request_Query_Params_0(ctx context.Context, marshaler runtime.Marshaler, client QueryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryParamsRequest + var metadata runtime.ServerMetadata + + msg, err := client.Params(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Query_Params_0(ctx context.Context, marshaler runtime.Marshaler, server QueryServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryParamsRequest + var metadata runtime.ServerMetadata + + msg, err := server.Params(ctx, &protoReq) + return msg, metadata, err + +} + // RegisterQueryHandlerServer registers the http handlers for service Query to "mux". // UnaryRPC :call QueryServer directly. // StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. @@ -310,6 +328,29 @@ func RegisterQueryHandlerServer(ctx context.Context, mux *runtime.ServeMux, serv }) + mux.Handle("GET", pattern_Query_Params_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Query_Params_0(rctx, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Query_Params_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + return nil } @@ -411,6 +452,26 @@ func RegisterQueryHandlerClient(ctx context.Context, mux *runtime.ServeMux, clie }) + mux.Handle("GET", pattern_Query_Params_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_Query_Params_0(rctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_Query_Params_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + return nil } @@ -420,6 +481,8 @@ var ( pattern_Query_DidDocVersion_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 1, 0, 4, 1, 5, 4}, []string{"cheqd", "did", "v2", "id", "version"}, "", runtime.AssumeColonVerbOpt(false))) pattern_Query_AllDidDocVersionsMetadata_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4}, []string{"cheqd", "did", "v2", "id", "versions"}, "", runtime.AssumeColonVerbOpt(false))) + + pattern_Query_Params_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"cheqd", "did", "v2", "params"}, "", runtime.AssumeColonVerbOpt(false))) ) var ( @@ -428,4 +491,6 @@ var ( forward_Query_DidDocVersion_0 = runtime.ForwardResponseMessage forward_Query_AllDidDocVersionsMetadata_0 = runtime.ForwardResponseMessage + + forward_Query_Params_0 = runtime.ForwardResponseMessage ) diff --git a/x/did/types/tx.pb.go b/x/did/types/tx.pb.go index 17b917b28..23c28f018 100644 --- a/x/did/types/tx.pb.go +++ b/x/did/types/tx.pb.go @@ -961,6 +961,102 @@ func (m *MsgMintResponse) XXX_DiscardUnknown() { var xxx_messageInfo_MsgMintResponse proto.InternalMessageInfo +type MsgUpdateParams struct { + // authority is the address that controls the module (defaults to x/gov unless overwritten). + Authority string `protobuf:"bytes,1,opt,name=authority,proto3" json:"authority,omitempty"` + // params defines the x/did parameters to update. + // + // NOTE: All parameters must be supplied. + Params FeeParams `protobuf:"bytes,2,opt,name=params,proto3" json:"params"` +} + +func (m *MsgUpdateParams) Reset() { *m = MsgUpdateParams{} } +func (m *MsgUpdateParams) String() string { return proto.CompactTextString(m) } +func (*MsgUpdateParams) ProtoMessage() {} +func (*MsgUpdateParams) Descriptor() ([]byte, []int) { + return fileDescriptor_0e353aae8dd04717, []int{14} +} +func (m *MsgUpdateParams) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgUpdateParams) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgUpdateParams.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *MsgUpdateParams) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgUpdateParams.Merge(m, src) +} +func (m *MsgUpdateParams) XXX_Size() int { + return m.Size() +} +func (m *MsgUpdateParams) XXX_DiscardUnknown() { + xxx_messageInfo_MsgUpdateParams.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgUpdateParams proto.InternalMessageInfo + +func (m *MsgUpdateParams) GetAuthority() string { + if m != nil { + return m.Authority + } + return "" +} + +func (m *MsgUpdateParams) GetParams() FeeParams { + if m != nil { + return m.Params + } + return FeeParams{} +} + +// MsgUpdateParamsResponse defines the response structure for executing a +// MsgUpdateParams message. +// +// Since: cosmos-sdk 0.47 +type MsgUpdateParamsResponse struct { +} + +func (m *MsgUpdateParamsResponse) Reset() { *m = MsgUpdateParamsResponse{} } +func (m *MsgUpdateParamsResponse) String() string { return proto.CompactTextString(m) } +func (*MsgUpdateParamsResponse) ProtoMessage() {} +func (*MsgUpdateParamsResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_0e353aae8dd04717, []int{15} +} +func (m *MsgUpdateParamsResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgUpdateParamsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgUpdateParamsResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *MsgUpdateParamsResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgUpdateParamsResponse.Merge(m, src) +} +func (m *MsgUpdateParamsResponse) XXX_Size() int { + return m.Size() +} +func (m *MsgUpdateParamsResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgUpdateParamsResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgUpdateParamsResponse proto.InternalMessageInfo + func init() { proto.RegisterType((*MsgCreateDidDoc)(nil), "cheqd.did.v2.MsgCreateDidDoc") proto.RegisterType((*MsgUpdateDidDoc)(nil), "cheqd.did.v2.MsgUpdateDidDoc") @@ -976,74 +1072,81 @@ func init() { proto.RegisterType((*MsgBurnResponse)(nil), "cheqd.did.v2.MsgBurnResponse") proto.RegisterType((*MsgMint)(nil), "cheqd.did.v2.MsgMint") proto.RegisterType((*MsgMintResponse)(nil), "cheqd.did.v2.MsgMintResponse") + proto.RegisterType((*MsgUpdateParams)(nil), "cheqd.did.v2.MsgUpdateParams") + proto.RegisterType((*MsgUpdateParamsResponse)(nil), "cheqd.did.v2.MsgUpdateParamsResponse") } func init() { proto.RegisterFile("cheqd/did/v2/tx.proto", fileDescriptor_0e353aae8dd04717) } var fileDescriptor_0e353aae8dd04717 = []byte{ - // 977 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x56, 0xcf, 0x6f, 0x1b, 0x45, - 0x14, 0xf6, 0xda, 0x6d, 0x5c, 0x3f, 0xbb, 0x69, 0x3a, 0x75, 0xd2, 0x8d, 0x21, 0xb6, 0x31, 0xbf, - 0xdc, 0x4a, 0xf1, 0x2a, 0x2e, 0x14, 0xa9, 0x20, 0xa4, 0xb8, 0xb9, 0x44, 0x95, 0x25, 0xba, 0x6d, - 0x41, 0xe2, 0x80, 0x19, 0xef, 0x4c, 0xd6, 0xa3, 0xd8, 0x3b, 0x66, 0x67, 0xbc, 0xc4, 0x57, 0x4e, - 0x20, 0x0e, 0xc0, 0x7f, 0xd0, 0x23, 0xe2, 0xd4, 0x03, 0x7f, 0x44, 0x25, 0x2e, 0x15, 0x27, 0x4e, - 0x05, 0x25, 0x87, 0x72, 0x44, 0xfc, 0x05, 0x68, 0x67, 0xc7, 0xf6, 0x7a, 0x6d, 0x12, 0xa1, 0x96, - 0x13, 0x5c, 0x76, 0xbd, 0xdf, 0xfb, 0xde, 0xdb, 0x6f, 0xde, 0x7c, 0xe3, 0x7d, 0xb0, 0xee, 0xf4, - 0xe8, 0x67, 0xc4, 0x22, 0x8c, 0x58, 0x41, 0xd3, 0x92, 0x47, 0x8d, 0xa1, 0xcf, 0x25, 0x47, 0x05, - 0x05, 0x37, 0x08, 0x23, 0x8d, 0xa0, 0x59, 0xda, 0x9c, 0x23, 0x11, 0x46, 0x08, 0x77, 0x22, 0x62, - 0xe9, 0xaa, 0xc3, 0xc5, 0x80, 0x0b, 0x6b, 0x20, 0x5c, 0x2b, 0xd8, 0x09, 0x6f, 0x3a, 0x70, 0x19, - 0x0f, 0x98, 0xc7, 0x2d, 0x75, 0xd5, 0x50, 0x59, 0x73, 0xbb, 0x58, 0x50, 0x2b, 0xd8, 0xe9, 0x52, - 0x89, 0x77, 0x2c, 0x87, 0x33, 0x4f, 0xc7, 0x37, 0xa3, 0x78, 0x47, 0x3d, 0x59, 0xd1, 0x83, 0x0e, - 0x15, 0x5d, 0xee, 0xf2, 0x08, 0x0f, 0x7f, 0x45, 0x68, 0xed, 0x2b, 0x03, 0x2e, 0xb5, 0x85, 0x7b, - 0xdb, 0xa7, 0x58, 0xd2, 0x3d, 0x46, 0xf6, 0xb8, 0x83, 0xde, 0x87, 0xec, 0x10, 0x8f, 0xfb, 0x1c, - 0x13, 0xd3, 0xa8, 0x1a, 0xf5, 0x7c, 0xf3, 0xb5, 0x46, 0x7c, 0x2d, 0x8d, 0x04, 0xff, 0x83, 0x88, - 0x6b, 0x4f, 0x92, 0xd0, 0x4d, 0x00, 0xc1, 0x5c, 0x0f, 0xcb, 0x91, 0x4f, 0x85, 0x99, 0xae, 0x66, - 0xea, 0xf9, 0xe6, 0xc6, 0x7c, 0x89, 0x7b, 0xcc, 0xf5, 0xf6, 0xbd, 0x03, 0x6e, 0xc7, 0x98, 0x13, - 0x2d, 0x0f, 0x86, 0xe4, 0x1f, 0x69, 0x89, 0xf3, 0x5f, 0x98, 0x96, 0xef, 0x0c, 0xb8, 0xd2, 0x16, - 0xee, 0x1e, 0xc5, 0x8e, 0x64, 0xc1, 0x4c, 0x4f, 0x2b, 0xa9, 0xa7, 0xbe, 0xa0, 0x27, 0x99, 0xf3, - 0xc2, 0x34, 0x7d, 0x02, 0x17, 0x26, 0x38, 0x7a, 0x0b, 0x36, 0x02, 0xea, 0xb3, 0x03, 0xe6, 0x60, - 0xc9, 0xb8, 0xd7, 0x19, 0x50, 0xd9, 0xe3, 0xa4, 0xc3, 0x22, 0x59, 0x39, 0xbb, 0x18, 0x8f, 0xb6, - 0x55, 0x70, 0x9f, 0xa0, 0x97, 0x21, 0x37, 0xad, 0x67, 0xa6, 0xab, 0x46, 0xbd, 0x60, 0xcf, 0x80, - 0xda, 0xd7, 0xe7, 0x60, 0x63, 0xf9, 0xde, 0x22, 0x13, 0xb2, 0x0e, 0xf7, 0x24, 0x3d, 0x92, 0xa6, - 0x51, 0xcd, 0xd4, 0x73, 0xf6, 0xe4, 0x11, 0xad, 0x42, 0x9a, 0x11, 0x55, 0x2b, 0x67, 0xa7, 0x19, - 0x41, 0x65, 0x80, 0x30, 0xe4, 0xf3, 0x7e, 0x9f, 0xfa, 0x66, 0x46, 0x91, 0x63, 0x08, 0xba, 0x0b, - 0x57, 0x96, 0x08, 0x37, 0xcf, 0xa9, 0x2e, 0x54, 0xe7, 0xbb, 0xf0, 0xe1, 0xc2, 0x1a, 0x6c, 0xb4, - 0xb8, 0x2e, 0xf4, 0x06, 0xac, 0xe2, 0x91, 0xec, 0x51, 0x4f, 0x6a, 0xdc, 0x3c, 0xaf, 0x5e, 0x9b, - 0x40, 0xd1, 0x35, 0x58, 0xc3, 0x42, 0x50, 0x3f, 0xfe, 0xde, 0x15, 0xc5, 0xbc, 0x34, 0xc5, 0x75, - 0xc9, 0x1b, 0xb0, 0xee, 0xe0, 0x21, 0xee, 0xb2, 0x3e, 0x93, 0xe3, 0x0e, 0xf3, 0x02, 0xae, 0x2b, - 0x67, 0x15, 0xbf, 0x38, 0x0b, 0xee, 0x4f, 0x63, 0x89, 0x24, 0x42, 0xfb, 0xd4, 0x8d, 0x92, 0x2e, - 0x24, 0x93, 0xf6, 0xa6, 0x31, 0xf4, 0x2a, 0x5c, 0x3c, 0xa4, 0xe3, 0x0e, 0x76, 0x7d, 0x4a, 0x07, - 0xd4, 0x93, 0x66, 0x4e, 0x91, 0x0b, 0x87, 0x74, 0xbc, 0x3b, 0xc1, 0x90, 0x05, 0x59, 0x41, 0xfd, - 0x80, 0x39, 0xd4, 0x04, 0xd5, 0xa8, 0xf5, 0x84, 0x5d, 0xa2, 0xa0, 0x3d, 0x61, 0xa1, 0x1a, 0x5c, - 0xc4, 0x7d, 0xc1, 0x3b, 0x87, 0x1e, 0xff, 0xdc, 0xeb, 0x60, 0x61, 0xe6, 0x55, 0xd5, 0x7c, 0x08, - 0xde, 0x09, 0xb1, 0x5d, 0x81, 0xb6, 0x00, 0x02, 0xea, 0x8b, 0xb0, 0x19, 0x8c, 0x98, 0x05, 0xb5, - 0x83, 0x39, 0x8d, 0xec, 0x93, 0xda, 0x5d, 0xb8, 0x9a, 0x30, 0x83, 0x4d, 0xc5, 0x90, 0x7b, 0x82, - 0xa2, 0x9b, 0x70, 0x3e, 0xc0, 0xfd, 0x11, 0xd5, 0x47, 0x20, 0xb1, 0x6b, 0x11, 0xf9, 0x23, 0x26, - 0x7b, 0x6d, 0x2a, 0x31, 0xc1, 0x12, 0xdb, 0x11, 0x7d, 0x62, 0xb0, 0x25, 0x07, 0xf6, 0x7f, 0x83, - 0xfd, 0x57, 0x0d, 0x16, 0x37, 0xc3, 0x73, 0x1b, 0xec, 0x0e, 0x94, 0xfe, 0xfe, 0x0f, 0x58, 0x3b, - 0xc9, 0x98, 0x3a, 0x69, 0x5e, 0x5f, 0x3a, 0xa9, 0xef, 0x01, 0xbc, 0xb4, 0xa4, 0xd8, 0x73, 0x6b, - 0xfc, 0xc9, 0x80, 0x6c, 0x5b, 0xb8, 0xad, 0x91, 0xef, 0xa1, 0x77, 0xa1, 0x70, 0xe0, 0xf3, 0x41, - 0x07, 0x13, 0xe2, 0x53, 0x21, 0x22, 0x6d, 0x2d, 0xf3, 0xe7, 0x1f, 0xb7, 0x8b, 0xfa, 0xdb, 0xbd, - 0x1b, 0x45, 0xee, 0x49, 0x9f, 0x79, 0xae, 0x9d, 0x0f, 0xd9, 0x1a, 0x42, 0x3d, 0x58, 0xc1, 0x03, - 0x3e, 0xf2, 0xa4, 0xfe, 0x84, 0x6c, 0x36, 0x74, 0x4e, 0x38, 0x1c, 0x34, 0xf4, 0x70, 0xd0, 0xb8, - 0xcd, 0x99, 0xd7, 0x7a, 0xfb, 0xf1, 0xd3, 0x4a, 0xea, 0x87, 0x5f, 0x2b, 0x75, 0x97, 0xc9, 0xde, - 0xa8, 0xdb, 0x70, 0xf8, 0x40, 0x0f, 0x07, 0xfa, 0xb6, 0x2d, 0xc8, 0xa1, 0x25, 0xc7, 0x43, 0x2a, - 0x54, 0x82, 0xf8, 0xfe, 0xd9, 0xa3, 0xeb, 0x86, 0xad, 0xeb, 0xdf, 0xda, 0xfc, 0xf2, 0x61, 0x25, - 0xf5, 0xfb, 0xc3, 0x4a, 0xea, 0x8b, 0x67, 0x8f, 0xae, 0xcf, 0x29, 0xae, 0x5d, 0x56, 0x9f, 0xec, - 0x70, 0x31, 0x93, 0xc6, 0xd4, 0xfe, 0x88, 0x16, 0xd8, 0x66, 0x9e, 0x44, 0x4d, 0xc8, 0x85, 0x67, - 0x84, 0xfb, 0x4c, 0x8e, 0xf5, 0xea, 0x8a, 0x7f, 0x3e, 0xad, 0xac, 0x8d, 0xf1, 0xa0, 0x7f, 0xab, - 0x36, 0x0d, 0xd5, 0xec, 0x19, 0x0d, 0xbd, 0x03, 0x20, 0xf9, 0xb4, 0x25, 0xe9, 0x33, 0x5a, 0x92, - 0x93, 0x7c, 0xb1, 0x21, 0x99, 0x7f, 0xb9, 0x21, 0xab, 0x61, 0x23, 0x66, 0x92, 0x75, 0x17, 0xc2, - 0x15, 0x4f, 0xba, 0xd0, 0xfc, 0x26, 0x03, 0x99, 0xb6, 0x70, 0xd1, 0x7d, 0x28, 0xcc, 0x0d, 0x57, - 0x5b, 0xa7, 0xce, 0x52, 0xa5, 0xd7, 0x4f, 0x0d, 0x4f, 0xcd, 0x77, 0x1f, 0x0a, 0x73, 0x63, 0xd2, - 0xd6, 0xa9, 0x53, 0xd1, 0x92, 0xaa, 0x4b, 0x8f, 0xdd, 0xa7, 0xb0, 0xb6, 0x30, 0xf0, 0xbc, 0x72, - 0xe6, 0x7c, 0x53, 0xba, 0x76, 0x26, 0x65, 0xfa, 0x86, 0xf7, 0xe0, 0x9c, 0x32, 0xfe, 0xfa, 0x42, - 0x4a, 0x08, 0x97, 0xb6, 0x96, 0xc2, 0xf1, 0x6c, 0xe5, 0xaa, 0xc5, 0xec, 0x10, 0x5e, 0x92, 0x1d, - 0xdf, 0x91, 0xd6, 0xee, 0xe3, 0xe3, 0xb2, 0xf1, 0xe4, 0xb8, 0x6c, 0xfc, 0x76, 0x5c, 0x36, 0xbe, - 0x3d, 0x29, 0xa7, 0x9e, 0x9c, 0x94, 0x53, 0xbf, 0x9c, 0x94, 0x53, 0x1f, 0xbf, 0x19, 0x77, 0x81, - 0x9a, 0xd3, 0xd5, 0x75, 0xdb, 0xe3, 0x84, 0x5a, 0x47, 0x6a, 0x68, 0x57, 0x56, 0xe8, 0xae, 0xa8, - 0xa1, 0xf9, 0xc6, 0x5f, 0x01, 0x00, 0x00, 0xff, 0xff, 0x96, 0x54, 0x8f, 0x4f, 0xf3, 0x0b, 0x00, - 0x00, + // 1070 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x57, 0x4d, 0x6f, 0xe3, 0xc4, + 0x1b, 0x8f, 0x93, 0xbe, 0x6c, 0x26, 0xd9, 0x6e, 0x77, 0xb6, 0x2f, 0x6e, 0xfe, 0xff, 0xa6, 0x25, + 0xbc, 0xa5, 0x95, 0x1a, 0xab, 0x59, 0x28, 0x52, 0x41, 0x48, 0xcd, 0x56, 0x48, 0xd5, 0x2a, 0xd2, + 0xae, 0x77, 0x17, 0x24, 0x0e, 0x84, 0x89, 0x67, 0xea, 0x8c, 0x1a, 0x7b, 0x82, 0x67, 0x62, 0x9a, + 0x1b, 0xe2, 0xc4, 0xcb, 0x05, 0xbe, 0xc1, 0x1e, 0x11, 0xa7, 0x1e, 0xf8, 0x10, 0x2b, 0x71, 0x59, + 0x71, 0xe2, 0xb4, 0xa0, 0xf6, 0x50, 0x0e, 0x1c, 0x10, 0x9f, 0x00, 0x79, 0x3c, 0x71, 0x6c, 0x27, + 0x6d, 0x85, 0x76, 0x39, 0xc1, 0x25, 0x89, 0x7f, 0xcf, 0xcb, 0xfc, 0x9e, 0x9f, 0x9f, 0x27, 0x7e, + 0x0c, 0x16, 0xad, 0x0e, 0xf9, 0x04, 0x1b, 0x98, 0x62, 0xc3, 0xaf, 0x1b, 0xe2, 0xb8, 0xd6, 0xf3, + 0x98, 0x60, 0xb0, 0x28, 0xe1, 0x1a, 0xa6, 0xb8, 0xe6, 0xd7, 0x4b, 0x37, 0x91, 0x43, 0x5d, 0x66, + 0xc8, 0xcf, 0xd0, 0xa1, 0xb4, 0x92, 0x88, 0xc3, 0x14, 0x63, 0x66, 0x29, 0xd3, 0x52, 0xc2, 0x74, + 0x48, 0x88, 0xc2, 0xcb, 0x16, 0xe3, 0x0e, 0xe3, 0x46, 0x1b, 0x71, 0x62, 0xf8, 0xdb, 0x6d, 0x22, + 0xd0, 0xb6, 0x61, 0x31, 0xea, 0x2a, 0xfb, 0xb2, 0xb2, 0x3b, 0xdc, 0x36, 0xfc, 0xed, 0xe0, 0x2b, + 0x3a, 0x4b, 0x1a, 0x5a, 0xf2, 0xca, 0x08, 0x2f, 0x94, 0x69, 0xc1, 0x66, 0x36, 0x0b, 0xf1, 0xe0, + 0x57, 0x88, 0x56, 0xbe, 0xd4, 0xc0, 0x8d, 0x26, 0xb7, 0xef, 0x78, 0x04, 0x09, 0xb2, 0x4f, 0xf1, + 0x3e, 0xb3, 0xe0, 0xbb, 0x60, 0xb6, 0x87, 0x06, 0x5d, 0x86, 0xb0, 0xae, 0xad, 0x6b, 0xd5, 0x42, + 0xfd, 0x95, 0x5a, 0xbc, 0xc6, 0x5a, 0xca, 0xff, 0x5e, 0xe8, 0x6b, 0x0e, 0x83, 0xe0, 0x0e, 0x00, + 0x9c, 0xda, 0x2e, 0x12, 0x7d, 0x8f, 0x70, 0x3d, 0xbb, 0x9e, 0xab, 0x16, 0xea, 0x4b, 0xc9, 0x14, + 0x0f, 0xa8, 0xed, 0x1e, 0xb8, 0x87, 0xcc, 0x8c, 0x79, 0x0e, 0xb9, 0x3c, 0xea, 0xe1, 0xbf, 0xc5, + 0x25, 0xee, 0xff, 0xc2, 0xb8, 0x7c, 0xab, 0x81, 0x5b, 0x4d, 0x6e, 0xef, 0x13, 0x64, 0x09, 0xea, + 0x8f, 0xf8, 0x34, 0xd2, 0x7c, 0xaa, 0x63, 0x7c, 0xd2, 0x31, 0x2f, 0x8c, 0xd3, 0x47, 0xe0, 0xda, + 0x10, 0x87, 0x6f, 0x80, 0x25, 0x9f, 0x78, 0xf4, 0x90, 0x5a, 0x48, 0x50, 0xe6, 0xb6, 0x1c, 0x22, + 0x3a, 0x0c, 0xb7, 0x68, 0x48, 0x2b, 0x6f, 0x2e, 0xc4, 0xad, 0x4d, 0x69, 0x3c, 0xc0, 0xf0, 0xff, + 0x20, 0x1f, 0xe5, 0xd3, 0xb3, 0xeb, 0x5a, 0xb5, 0x68, 0x8e, 0x80, 0xca, 0xd7, 0x53, 0x60, 0x69, + 0xf2, 0xbd, 0x85, 0x3a, 0x98, 0xb5, 0x98, 0x2b, 0xc8, 0xb1, 0xd0, 0xb5, 0xf5, 0x5c, 0x35, 0x6f, + 0x0e, 0x2f, 0xe1, 0x1c, 0xc8, 0x52, 0x2c, 0x73, 0xe5, 0xcd, 0x2c, 0xc5, 0xb0, 0x0c, 0x40, 0x60, + 0xf2, 0x58, 0xb7, 0x4b, 0x3c, 0x3d, 0x27, 0x9d, 0x63, 0x08, 0xbc, 0x0f, 0x6e, 0x4d, 0x20, 0xae, + 0x4f, 0x49, 0x15, 0xd6, 0x93, 0x2a, 0xbc, 0x3f, 0x56, 0x83, 0x09, 0xc7, 0xeb, 0x82, 0xaf, 0x81, + 0x39, 0xd4, 0x17, 0x1d, 0xe2, 0x0a, 0x85, 0xeb, 0xd3, 0xf2, 0xd8, 0x14, 0x0a, 0x37, 0xc0, 0x3c, + 0xe2, 0x9c, 0x78, 0xf1, 0x73, 0x67, 0xa4, 0xe7, 0x8d, 0x08, 0x57, 0x29, 0x6f, 0x83, 0x45, 0x0b, + 0xf5, 0x50, 0x9b, 0x76, 0xa9, 0x18, 0xb4, 0xa8, 0xeb, 0x33, 0x95, 0x79, 0x56, 0xfa, 0x2f, 0x8c, + 0x8c, 0x07, 0x91, 0x2d, 0x15, 0x84, 0x49, 0x97, 0xd8, 0x61, 0xd0, 0xb5, 0x74, 0xd0, 0x7e, 0x64, + 0x83, 0x2f, 0x83, 0xeb, 0x47, 0x64, 0xd0, 0x42, 0xb6, 0x47, 0x88, 0x43, 0x5c, 0xa1, 0xe7, 0xa5, + 0x73, 0xf1, 0x88, 0x0c, 0xf6, 0x86, 0x18, 0x34, 0xc0, 0x2c, 0x27, 0x9e, 0x4f, 0x2d, 0xa2, 0x03, + 0x29, 0xd4, 0x62, 0xaa, 0x5d, 0x42, 0xa3, 0x39, 0xf4, 0x82, 0x15, 0x70, 0x1d, 0x75, 0x39, 0x6b, + 0x1d, 0xb9, 0xec, 0x53, 0xb7, 0x85, 0xb8, 0x5e, 0x90, 0x59, 0x0b, 0x01, 0x78, 0x37, 0xc0, 0xf6, + 0x38, 0x5c, 0x05, 0xc0, 0x27, 0x1e, 0x0f, 0xc4, 0xa0, 0x58, 0x2f, 0xca, 0x3b, 0x98, 0x57, 0xc8, + 0x01, 0xae, 0xdc, 0x07, 0xcb, 0xa9, 0x66, 0x30, 0x09, 0xef, 0x31, 0x97, 0x13, 0xb8, 0x03, 0xa6, + 0x7d, 0xd4, 0xed, 0x13, 0x35, 0x02, 0xa9, 0xbb, 0x16, 0x3a, 0x7f, 0x40, 0x45, 0xa7, 0x49, 0x04, + 0xc2, 0x48, 0x20, 0x33, 0x74, 0x1f, 0x36, 0xd8, 0x84, 0x81, 0xfd, 0xaf, 0xc1, 0xfe, 0xad, 0x0d, + 0x16, 0x6f, 0x86, 0xe7, 0x6e, 0xb0, 0xbb, 0xa0, 0x74, 0xf1, 0x1f, 0xb0, 0xea, 0x24, 0x2d, 0xea, + 0xa4, 0x24, 0xbf, 0x6c, 0x9a, 0xdf, 0x23, 0xf0, 0xbf, 0x09, 0xc9, 0x9e, 0x9b, 0xe3, 0x8f, 0x1a, + 0x98, 0x6d, 0x72, 0xbb, 0xd1, 0xf7, 0x5c, 0xf8, 0x36, 0x28, 0x1e, 0x7a, 0xcc, 0x69, 0x21, 0x8c, + 0x3d, 0xc2, 0x79, 0xc8, 0xad, 0xa1, 0xff, 0xf4, 0xc3, 0xd6, 0x82, 0x7a, 0x76, 0xef, 0x85, 0x96, + 0x07, 0xc2, 0xa3, 0xae, 0x6d, 0x16, 0x02, 0x6f, 0x05, 0xc1, 0x0e, 0x98, 0x41, 0x0e, 0xeb, 0xbb, + 0x42, 0x3d, 0x42, 0x56, 0x6a, 0x2a, 0x26, 0xd8, 0x1a, 0x6a, 0x6a, 0x6b, 0xa8, 0xdd, 0x61, 0xd4, + 0x6d, 0xbc, 0xf9, 0xe4, 0xd9, 0x5a, 0xe6, 0xfb, 0x5f, 0xd6, 0xaa, 0x36, 0x15, 0x9d, 0x7e, 0xbb, + 0x66, 0x31, 0x47, 0x2d, 0x07, 0xea, 0x6b, 0x8b, 0xe3, 0x23, 0x43, 0x0c, 0x7a, 0x84, 0xcb, 0x00, + 0xfe, 0xdd, 0xf9, 0xc9, 0xa6, 0x66, 0xaa, 0xfc, 0xbb, 0x2b, 0x5f, 0x3c, 0x5e, 0xcb, 0xfc, 0xf6, + 0x78, 0x2d, 0xf3, 0xf9, 0xf9, 0xc9, 0x66, 0x82, 0x71, 0xe5, 0xa6, 0x7c, 0x64, 0x07, 0xc5, 0x0c, + 0x85, 0xa9, 0xfc, 0x11, 0x16, 0xd8, 0xa4, 0xae, 0x80, 0x75, 0x90, 0x0f, 0x66, 0x84, 0x79, 0x54, + 0x0c, 0x54, 0x75, 0x0b, 0x7f, 0x3e, 0x5b, 0x9b, 0x1f, 0x20, 0xa7, 0xbb, 0x5b, 0x89, 0x4c, 0x15, + 0x73, 0xe4, 0x06, 0xdf, 0x02, 0x40, 0xb0, 0x48, 0x92, 0xec, 0x15, 0x92, 0xe4, 0x05, 0x1b, 0x17, + 0x24, 0xf7, 0x0f, 0x0b, 0x32, 0x17, 0x08, 0x31, 0xa2, 0xac, 0x54, 0x08, 0x2a, 0x8e, 0x54, 0x38, + 0x89, 0x2f, 0x33, 0xf7, 0x90, 0x87, 0x1c, 0x0e, 0x77, 0xc6, 0xd5, 0xb8, 0xa4, 0xb0, 0x91, 0x22, + 0xbb, 0x60, 0xa6, 0x27, 0x33, 0x48, 0x35, 0x0a, 0xf5, 0xe5, 0x64, 0xaf, 0xbd, 0x47, 0xd4, 0x01, + 0x8d, 0x7c, 0x50, 0x96, 0xa2, 0x1a, 0x46, 0xec, 0x6e, 0x24, 0xa9, 0x7e, 0x75, 0x7e, 0xb2, 0xb9, + 0x64, 0x1c, 0xcb, 0x95, 0x33, 0x45, 0xaf, 0xb2, 0x12, 0x1b, 0xc8, 0x10, 0x1a, 0x56, 0x53, 0xff, + 0x3d, 0x07, 0x72, 0x4d, 0x6e, 0xc3, 0x87, 0xa0, 0x98, 0x58, 0x15, 0x57, 0x2f, 0xdd, 0x0c, 0x4b, + 0xaf, 0x5e, 0x6a, 0x8e, 0x46, 0xe9, 0x21, 0x28, 0x26, 0x96, 0xbe, 0xd5, 0x4b, 0x77, 0xbc, 0x09, + 0x59, 0x27, 0xfe, 0x89, 0x7c, 0x0c, 0xe6, 0xc7, 0xd6, 0xb7, 0x97, 0xae, 0xdc, 0xd6, 0x4a, 0x1b, + 0x57, 0xba, 0x44, 0x27, 0xbc, 0x03, 0xa6, 0xe4, 0x18, 0x2f, 0x8e, 0x85, 0x04, 0x70, 0x69, 0x75, + 0x22, 0x1c, 0x8f, 0x96, 0x33, 0x32, 0x1e, 0x1d, 0xc0, 0x13, 0xa2, 0xe3, 0xfd, 0x35, 0xd2, 0x4c, + 0xf5, 0xd6, 0x45, 0x9a, 0x85, 0xe6, 0x0b, 0x35, 0x4b, 0xde, 0xe7, 0xd2, 0xf4, 0x67, 0x41, 0xf3, + 0x34, 0xf6, 0x9e, 0x9c, 0x96, 0xb5, 0xa7, 0xa7, 0x65, 0xed, 0xd7, 0xd3, 0xb2, 0xf6, 0xcd, 0x59, + 0x39, 0xf3, 0xf4, 0xac, 0x9c, 0xf9, 0xf9, 0xac, 0x9c, 0xf9, 0xf0, 0xf5, 0xf8, 0xc0, 0xc8, 0x97, + 0x17, 0xf9, 0xb9, 0xe5, 0x32, 0x4c, 0x54, 0x5b, 0xc9, 0xa9, 0x69, 0xcf, 0xc8, 0xf7, 0x8b, 0xdb, + 0x7f, 0x05, 0x00, 0x00, 0xff, 0xff, 0x2f, 0x66, 0xba, 0xd8, 0x36, 0x0d, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -1067,6 +1170,7 @@ type MsgClient interface { Burn(ctx context.Context, in *MsgBurn, opts ...grpc.CallOption) (*MsgBurnResponse, error) // Mint defines a method to mint tokens to the given address. Mint(ctx context.Context, in *MsgMint, opts ...grpc.CallOption) (*MsgMintResponse, error) + UpdateParams(ctx context.Context, in *MsgUpdateParams, opts ...grpc.CallOption) (*MsgUpdateParamsResponse, error) } type msgClient struct { @@ -1122,6 +1226,15 @@ func (c *msgClient) Mint(ctx context.Context, in *MsgMint, opts ...grpc.CallOpti return out, nil } +func (c *msgClient) UpdateParams(ctx context.Context, in *MsgUpdateParams, opts ...grpc.CallOption) (*MsgUpdateParamsResponse, error) { + out := new(MsgUpdateParamsResponse) + err := c.cc.Invoke(ctx, "/cheqd.did.v2.Msg/UpdateParams", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // MsgServer is the server API for Msg service. type MsgServer interface { // CreateDidDoc defines a method for creating a new DID document @@ -1133,6 +1246,7 @@ type MsgServer interface { Burn(context.Context, *MsgBurn) (*MsgBurnResponse, error) // Mint defines a method to mint tokens to the given address. Mint(context.Context, *MsgMint) (*MsgMintResponse, error) + UpdateParams(context.Context, *MsgUpdateParams) (*MsgUpdateParamsResponse, error) } // UnimplementedMsgServer can be embedded to have forward compatible implementations. @@ -1154,6 +1268,9 @@ func (*UnimplementedMsgServer) Burn(ctx context.Context, req *MsgBurn) (*MsgBurn func (*UnimplementedMsgServer) Mint(ctx context.Context, req *MsgMint) (*MsgMintResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method Mint not implemented") } +func (*UnimplementedMsgServer) UpdateParams(ctx context.Context, req *MsgUpdateParams) (*MsgUpdateParamsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateParams not implemented") +} func RegisterMsgServer(s grpc1.Server, srv MsgServer) { s.RegisterService(&_Msg_serviceDesc, srv) @@ -1249,6 +1366,24 @@ func _Msg_Mint_Handler(srv interface{}, ctx context.Context, dec func(interface{ return interceptor(ctx, in, info, handler) } +func _Msg_UpdateParams_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgUpdateParams) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).UpdateParams(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cheqd.did.v2.Msg/UpdateParams", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).UpdateParams(ctx, req.(*MsgUpdateParams)) + } + return interceptor(ctx, in, info, handler) +} + var _Msg_serviceDesc = grpc.ServiceDesc{ ServiceName: "cheqd.did.v2.Msg", HandlerType: (*MsgServer)(nil), @@ -1273,6 +1408,10 @@ var _Msg_serviceDesc = grpc.ServiceDesc{ MethodName: "Mint", Handler: _Msg_Mint_Handler, }, + { + MethodName: "UpdateParams", + Handler: _Msg_UpdateParams_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "cheqd/did/v2/tx.proto", @@ -2019,6 +2158,69 @@ func (m *MsgMintResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } +func (m *MsgUpdateParams) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *MsgUpdateParams) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgUpdateParams) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + { + size, err := m.Params.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintTx(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 + if len(m.Authority) > 0 { + i -= len(m.Authority) + copy(dAtA[i:], m.Authority) + i = encodeVarintTx(dAtA, i, uint64(len(m.Authority))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *MsgUpdateParamsResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *MsgUpdateParamsResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgUpdateParamsResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + func encodeVarintTx(dAtA []byte, offset int, v uint64) int { offset -= sovTx(v) base := offset @@ -2374,6 +2576,30 @@ func (m *MsgMintResponse) Size() (n int) { return n } +func (m *MsgUpdateParams) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Authority) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = m.Params.Size() + n += 1 + l + sovTx(uint64(l)) + return n +} + +func (m *MsgUpdateParamsResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + func sovTx(x uint64) (n int) { return (math_bits.Len64(x|1) + 6) / 7 } @@ -4468,6 +4694,171 @@ func (m *MsgMintResponse) Unmarshal(dAtA []byte) error { } return nil } +func (m *MsgUpdateParams) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: MsgUpdateParams: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgUpdateParams: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Authority", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Authority = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Params", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Params.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MsgUpdateParamsResponse) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: MsgUpdateParamsResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgUpdateParamsResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func skipTx(dAtA []byte) (n int, err error) { l := len(dAtA) iNdEx := 0 diff --git a/x/did/types/tx_msg_burn.go b/x/did/types/tx_msg_burn.go index fbb8682e3..1f8f59019 100644 --- a/x/did/types/tx_msg_burn.go +++ b/x/did/types/tx_msg_burn.go @@ -15,7 +15,6 @@ func NewMsgBurn(sender string, amount sdk.Coins) *MsgBurn { Amount: amount, } } -func (m MsgBurn) Route() string { return RouterKey } func (m MsgBurn) ValidateBasic() error { _, err := sdk.AccAddressFromBech32(m.FromAddress) @@ -29,12 +28,3 @@ func (m MsgBurn) ValidateBasic() error { return nil } - -func (m MsgBurn) GetSignBytes() []byte { - return sdk.MustSortJSON(ModuleCdc.MustMarshalJSON(&m)) -} - -func (m MsgBurn) GetSigners() []sdk.AccAddress { - sender, _ := sdk.AccAddressFromBech32(m.FromAddress) - return []sdk.AccAddress{sender} -} diff --git a/x/did/types/tx_msg_create_diddoc.go b/x/did/types/tx_msg_create_diddoc.go index 7677dd223..270c4420b 100644 --- a/x/did/types/tx_msg_create_diddoc.go +++ b/x/did/types/tx_msg_create_diddoc.go @@ -14,23 +14,6 @@ func NewMsgCreateDid(payload *MsgCreateDidDocPayload, signatures []*SignInfo) *M } } -func (msg *MsgCreateDidDoc) Route() string { - return RouterKey -} - -func (msg *MsgCreateDidDoc) Type() string { - return "MsgCreateDidDoc" -} - -func (msg *MsgCreateDidDoc) GetSigners() []sdk.AccAddress { - return []sdk.AccAddress{} -} - -func (msg *MsgCreateDidDoc) GetSignBytes() []byte { - bz := ModuleCdc.MustMarshalJSON(msg) - return sdk.MustSortJSON(bz) -} - func (msg *MsgCreateDidDoc) ValidateBasic() error { err := msg.Validate(nil) if err != nil { diff --git a/x/did/types/tx_msg_deactivate_did_doc.go b/x/did/types/tx_msg_deactivate_did_doc.go index d317d040a..e6df21589 100644 --- a/x/did/types/tx_msg_deactivate_did_doc.go +++ b/x/did/types/tx_msg_deactivate_did_doc.go @@ -14,23 +14,6 @@ func NewMsgDeactivateDid(payload *MsgDeactivateDidDocPayload, signatures []*Sign } } -func (msg *MsgDeactivateDidDoc) Route() string { - return RouterKey -} - -func (msg *MsgDeactivateDidDoc) Type() string { - return "MsgDeactivateDidDoc" -} - -func (msg *MsgDeactivateDidDoc) GetSigners() []sdk.AccAddress { - return []sdk.AccAddress{} -} - -func (msg *MsgDeactivateDidDoc) GetSignBytes() []byte { - bz := ModuleCdc.MustMarshal(msg) - return sdk.MustSortJSON(bz) -} - func (msg *MsgDeactivateDidDoc) ValidateBasic() error { err := msg.Validate(nil) if err != nil { diff --git a/x/did/types/tx_msg_mint.go b/x/did/types/tx_msg_mint.go index 673e99f55..de0046bb0 100644 --- a/x/did/types/tx_msg_mint.go +++ b/x/did/types/tx_msg_mint.go @@ -16,24 +16,6 @@ func NewMsgMint(authority string, toAddr string, coins sdk.Coins) *MsgMint { } } -func (msg *MsgMint) Route() string { - return RouterKey -} - -func (msg *MsgMint) Type() string { - return "MsgMint" -} - -func (msg *MsgMint) GetSigners() []sdk.AccAddress { - authority, _ := sdk.AccAddressFromBech32(msg.Authority) - return []sdk.AccAddress{authority} -} - -func (msg *MsgMint) GetSignBytes() []byte { - bz := ModuleCdc.MustMarshalJSON(msg) - return sdk.MustSortJSON(bz) -} - func (msg *MsgMint) ValidateBasic() error { if _, err := sdk.AccAddressFromBech32(msg.Authority); err != nil { return errorsmod.Wrap(err, "invalid authority address") diff --git a/x/did/types/tx_msg_update_did_doc.go b/x/did/types/tx_msg_update_did_doc.go index 34f894031..f29181220 100644 --- a/x/did/types/tx_msg_update_did_doc.go +++ b/x/did/types/tx_msg_update_did_doc.go @@ -14,23 +14,6 @@ func NewMsgUpdateDid(payload *MsgUpdateDidDocPayload, signatures []*SignInfo) *M } } -func (msg *MsgUpdateDidDoc) Route() string { - return RouterKey -} - -func (msg *MsgUpdateDidDoc) Type() string { - return "MsgUpdateDidDoc" -} - -func (msg *MsgUpdateDidDoc) GetSigners() []sdk.AccAddress { - return []sdk.AccAddress{} -} - -func (msg *MsgUpdateDidDoc) GetSignBytes() []byte { - bz := ModuleCdc.MustMarshalJSON(msg) - return sdk.MustSortJSON(bz) -} - func (msg *MsgUpdateDidDoc) ValidateBasic() error { err := msg.Validate(nil) if err != nil { diff --git a/x/did/types/tx_msg_update_did_doc_test.go b/x/did/types/tx_msg_update_did_doc_test.go index 8e08cffb1..fdb2e2dc9 100644 --- a/x/did/types/tx_msg_update_did_doc_test.go +++ b/x/did/types/tx_msg_update_did_doc_test.go @@ -1,94 +1,94 @@ package types_test -import ( - . "github.com/onsi/ginkgo/v2" - . "github.com/onsi/gomega" +// import ( +// . "github.com/onsi/ginkgo/v2" +// . "github.com/onsi/gomega" - . "github.com/cheqd/cheqd-node/x/did/types" -) +// . "github.com/cheqd/cheqd-node/x/did/types" +// ) -var _ = Describe("Message for DID updating", func() { - type TestCaseMsgUpdateDID struct { - msg *MsgUpdateDidDoc - isValid bool - errorMsg string - } +// var _ = Describe("Message for DID updating", func() { +// type TestCaseMsgUpdateDID struct { +// msg *MsgUpdateDidDoc +// isValid bool +// errorMsg string +// } - DescribeTable("Tests for message for DID updating", func(testCase TestCaseMsgUpdateDID) { - err := testCase.msg.ValidateBasic() +// DescribeTable("Tests for message for DID updating", func(testCase TestCaseMsgUpdateDID) { +// err := testCase.msg.ValidateBasic() - if testCase.isValid { - Expect(err).To(BeNil()) - } else { - Expect(err).To(HaveOccurred()) - Expect(err.Error()).To(ContainSubstring(testCase.errorMsg)) - } - }, +// if testCase.isValid { +// Expect(err).To(BeNil()) +// } else { +// Expect(err).To(HaveOccurred()) +// Expect(err.Error()).To(ContainSubstring(testCase.errorMsg)) +// } +// }, - Entry( - "All fields are set properly", - TestCaseMsgUpdateDID{ - msg: &MsgUpdateDidDoc{ - Payload: &MsgUpdateDidDocPayload{ - Id: "did:cheqd:testnet:zABCDEFG123456789abcd", - VerificationMethod: []*VerificationMethod{ - { - Id: "did:cheqd:testnet:zABCDEFG123456789abcd#key1", - VerificationMethodType: "Ed25519VerificationKey2020", - Controller: "did:cheqd:testnet:zABCDEFG123456789abcd", - VerificationMaterial: ValidEd25519VerificationKey2020VerificationMaterial, - }, - }, - Authentication: []string{"did:cheqd:testnet:zABCDEFG123456789abcd#key1", "did:cheqd:testnet:zABCDEFG123456789abcd#aaa"}, - VersionId: "version1", - }, - Signatures: nil, - }, - isValid: true, - }), +// Entry( +// "All fields are set properly", +// TestCaseMsgUpdateDID{ +// msg: &MsgUpdateDidDoc{ +// Payload: &MsgUpdateDidDocPayload{ +// Id: "did:cheqd:testnet:zABCDEFG123456789abcd", +// VerificationMethod: []*VerificationMethod{ +// { +// Id: "did:cheqd:testnet:zABCDEFG123456789abcd#key1", +// VerificationMethodType: "Ed25519VerificationKey2020", +// Controller: "did:cheqd:testnet:zABCDEFG123456789abcd", +// VerificationMaterial: ValidEd25519VerificationKey2020VerificationMaterial, +// }, +// }, +// Authentication: []string{"did:cheqd:testnet:zABCDEFG123456789abcd#key1", "did:cheqd:testnet:zABCDEFG123456789abcd#aaa"}, +// VersionId: "version1", +// }, +// Signatures: nil, +// }, +// isValid: true, +// }), - Entry( - "IDs are duplicated", - TestCaseMsgUpdateDID{ - msg: &MsgUpdateDidDoc{ - Payload: &MsgUpdateDidDocPayload{ - Id: "did:cheqd:testnet:zABCDEFG123456789abcd", - VerificationMethod: []*VerificationMethod{ - { - Id: "did:cheqd:testnet:zABCDEFG123456789abcd#key1", - VerificationMethodType: "Ed25519VerificationKey2020", - Controller: "did:cheqd:testnet:zABCDEFG123456789abcd", - VerificationMaterial: ValidEd25519VerificationKey2020VerificationMaterial, - }, - }, - Authentication: []string{"did:cheqd:testnet:zABCDEFG123456789abcd#key1", "did:cheqd:testnet:zABCDEFG123456789abcd#key1"}, - VersionId: "version1", - }, - Signatures: nil, - }, - isValid: false, - errorMsg: "payload: (authentication: there should be no duplicates.).: basic validation failed", - }), - Entry( - "VersionId is empty", - TestCaseMsgUpdateDID{ - msg: &MsgUpdateDidDoc{ - Payload: &MsgUpdateDidDocPayload{ - Id: "did:cheqd:testnet:zABCDEFG123456789abcd", - VerificationMethod: []*VerificationMethod{ - { - Id: "did:cheqd:testnet:zABCDEFG123456789abcd#key1", - VerificationMethodType: "Ed25519VerificationKey2020", - Controller: "did:cheqd:testnet:zABCDEFG123456789abcd", - VerificationMaterial: ValidEd25519VerificationKey2020VerificationMaterial, - }, - }, - Authentication: []string{"did:cheqd:testnet:zABCDEFG123456789abcd#key1", "did:cheqd:testnet:zABCDEFG123456789abcd#aaa"}, - }, - Signatures: nil, - }, - isValid: false, - errorMsg: "payload: (version_id: cannot be blank.).: basic validation failed", - }), - ) -}) +// Entry( +// "IDs are duplicated", +// TestCaseMsgUpdateDID{ +// msg: &MsgUpdateDidDoc{ +// Payload: &MsgUpdateDidDocPayload{ +// Id: "did:cheqd:testnet:zABCDEFG123456789abcd", +// VerificationMethod: []*VerificationMethod{ +// { +// Id: "did:cheqd:testnet:zABCDEFG123456789abcd#key1", +// VerificationMethodType: "Ed25519VerificationKey2020", +// Controller: "did:cheqd:testnet:zABCDEFG123456789abcd", +// VerificationMaterial: ValidEd25519VerificationKey2020VerificationMaterial, +// }, +// }, +// Authentication: []string{"did:cheqd:testnet:zABCDEFG123456789abcd#key1", "did:cheqd:testnet:zABCDEFG123456789abcd#key1"}, +// VersionId: "version1", +// }, +// Signatures: nil, +// }, +// isValid: false, +// errorMsg: "payload: (authentication: there should be no duplicates.).: basic validation failed", +// }), +// Entry( +// "VersionId is empty", +// TestCaseMsgUpdateDID{ +// msg: &MsgUpdateDidDoc{ +// Payload: &MsgUpdateDidDocPayload{ +// Id: "did:cheqd:testnet:zABCDEFG123456789abcd", +// VerificationMethod: []*VerificationMethod{ +// { +// Id: "did:cheqd:testnet:zABCDEFG123456789abcd#key1", +// VerificationMethodType: "Ed25519VerificationKey2020", +// Controller: "did:cheqd:testnet:zABCDEFG123456789abcd", +// VerificationMaterial: ValidEd25519VerificationKey2020VerificationMaterial, +// }, +// }, +// Authentication: []string{"did:cheqd:testnet:zABCDEFG123456789abcd#key1", "did:cheqd:testnet:zABCDEFG123456789abcd#aaa"}, +// }, +// Signatures: nil, +// }, +// isValid: false, +// errorMsg: "payload: (version_id: cannot be blank.).: basic validation failed", +// }), +// ) +// }) diff --git a/x/resource/autocli.go b/x/resource/autocli.go new file mode 100644 index 000000000..a807ffcff --- /dev/null +++ b/x/resource/autocli.go @@ -0,0 +1,60 @@ +package resource + +import ( + "fmt" + + autocliv1 "cosmossdk.io/api/cosmos/autocli/v1" + resourcev2 "github.com/cheqd/cheqd-node/api/v2/cheqd/resource/v2" + + "github.com/cosmos/cosmos-sdk/version" +) + +// AutoCLIOptions implements the autocli.HasAutoCLIConfig interface. +func (am AppModule) AutoCLIOptions() *autocliv1.ModuleOptions { + return &autocliv1.ModuleOptions{ + Query: &autocliv1.ServiceCommandDescriptor{ + Service: resourcev2.Query_ServiceDesc.ServiceName, + RpcCommandOptions: []*autocliv1.RpcCommandOptions{ + { + RpcMethod: "Resource", + Use: "specific-resource [collection-id] [resource-id]", + Short: "Query a specific resource", + Example: fmt.Sprintf("%s query resource pecific-resource c82f2b02-bdab-4dd7-b833-3e143745d612 wGHEXrZvJxR8vw5P3UWH1j", version.AppName), + PositionalArgs: []*autocliv1.PositionalArgDescriptor{ + {ProtoField: "collection_id"}, + {ProtoField: "id"}, + }, + }, + { + RpcMethod: "CollectionResources", + Use: "collection-metadata [collection-id]", + Short: "Query metadata for an entire Collection", + Example: fmt.Sprintf("%s query resource collection-metadata c82f2b02-bdab-4dd7-b833-3e143745d612", version.AppName), + PositionalArgs: []*autocliv1.PositionalArgDescriptor{ + {ProtoField: "collection_id"}, + }, + }, + { + RpcMethod: "ResourceMetadata", + Use: "metadata [collection-id] [id]", + Short: "Query metadata for a specific resource", + Example: fmt.Sprintf("%s query resource metadata c82f2b02-bdab-4dd7-b833-3e143745d612 wGHEXrZvJxR8vw5P3UWH1j", version.AppName), + PositionalArgs: []*autocliv1.PositionalArgDescriptor{ + {ProtoField: "collection_id"}, + {ProtoField: "id"}, + }, + }, + }, + EnhanceCustomCommand: true, // Set to true if we have manual commands for the resource module + }, + Tx: &autocliv1.ServiceCommandDescriptor{ + Service: resourcev2.Msg_ServiceDesc.ServiceName, + RpcCommandOptions: []*autocliv1.RpcCommandOptions{ + { + RpcMethod: "UpdateParams", + Skip: true, // skipped because authority gated + }, + }, + }, + } +} diff --git a/x/resource/client/cli/tx_create_resource.go b/x/resource/client/cli/tx_create_resource.go index 1571bd8c5..8a974bfae 100644 --- a/x/resource/client/cli/tx_create_resource.go +++ b/x/resource/client/cli/tx_create_resource.go @@ -3,6 +3,7 @@ package cli import ( "os" + sdkmath "cosmossdk.io/math" didcli "github.com/cheqd/cheqd-node/x/did/client/cli" "github.com/cheqd/cheqd-node/x/resource/types" "github.com/cosmos/cosmos-sdk/client" @@ -116,7 +117,7 @@ Example payload file: AddTxFlagsToCmd(cmd) // add custom / override flags - cmd.Flags().String(flags.FlagFees, sdk.NewCoin(types.BaseMinimalDenom, sdk.NewInt(types.DefaultCreateResourceImageFee)).String(), "Fixed fee for Resource creation, e.g., 10000000000ncheq. Please check what the current fees by running 'cheqd-noded query params subspace resource feeparams'") + cmd.Flags().String(flags.FlagFees, sdk.NewCoin(types.BaseMinimalDenom, sdkmath.NewInt(types.DefaultCreateResourceImageFee)).String(), "Fixed fee for Resource creation, e.g., 10000000000ncheq. Please check what the current fees by running 'cheqd-noded query params subspace resource feeparams'") _ = cmd.MarkFlagRequired(flags.FlagFees) _ = cmd.MarkFlagRequired(flags.FlagGas) diff --git a/x/resource/exported/exported.go b/x/resource/exported/exported.go new file mode 100644 index 000000000..000114e61 --- /dev/null +++ b/x/resource/exported/exported.go @@ -0,0 +1,18 @@ +package exported + +import ( + sdk "github.com/cosmos/cosmos-sdk/types" + paramtypes "github.com/cosmos/cosmos-sdk/x/params/types" +) + +type ( + ParamSet = paramtypes.ParamSet + + // Subspace defines an interface that implements the legacy x/params Subspace + // type. + // + // NOTE: This is used solely for migration of x/params managed parameters. + Subspace interface { + GetParamSet(ctx sdk.Context, ps ParamSet) + } +) diff --git a/x/resource/genesis.go b/x/resource/genesis.go index a42980e06..99931f621 100644 --- a/x/resource/genesis.go +++ b/x/resource/genesis.go @@ -1,16 +1,16 @@ package resource import ( + "context" "fmt" "github.com/cheqd/cheqd-node/x/resource/keeper" "github.com/cheqd/cheqd-node/x/resource/types" - sdk "github.com/cosmos/cosmos-sdk/types" ) // InitGenesis initializes the resource module's state from a provided genesis // state. -func InitGenesis(ctx sdk.Context, k keeper.Keeper, genState *types.GenesisState) { +func InitGenesis(ctx context.Context, k keeper.Keeper, genState *types.GenesisState) { for _, resource := range genState.Resources { if err := k.SetResource(&ctx, resource); err != nil { panic(fmt.Sprintf("Cannot set resource case: %s", err.Error())) @@ -18,10 +18,14 @@ func InitGenesis(ctx sdk.Context, k keeper.Keeper, genState *types.GenesisState) } // set fee params - k.SetParams(ctx, *genState.FeeParams) + if err := k.SetParams(ctx, *genState.FeeParams); err != nil { + panic(err) + } // set ibc port binding - k.SetPort(ctx, types.ResourcePortID) + if err := k.SetPort(ctx, types.ResourcePortID); err != nil { + panic(err) + } // Bind Port claims the capability over the ResourcePortID if !k.IsBound(ctx, types.ResourcePortID) { @@ -33,15 +37,18 @@ func InitGenesis(ctx sdk.Context, k keeper.Keeper, genState *types.GenesisState) } // ExportGenesis returns the cheqd module's exported genesis. -func ExportGenesis(ctx sdk.Context, k keeper.Keeper) *types.GenesisState { +func ExportGenesis(ctx context.Context, k keeper.Keeper) *types.GenesisState { // Get all resource - resourceList, err := k.GetAllResources(&ctx) + resourceList, err := k.GetAllResources(ctx) if err != nil { panic(fmt.Sprintf("Cannot get all resource: %s", err.Error())) } // get fee params - feeParams := k.GetParams(ctx) + feeParams, err := k.GetParams(ctx) + if err != nil { + panic(fmt.Sprintln("Cannot get fee params: %s", err.Error())) + } return &types.GenesisState{ Resources: resourceList, diff --git a/x/resource/handler.go b/x/resource/handler.go index faa5f92b3..db5996835 100644 --- a/x/resource/handler.go +++ b/x/resource/handler.go @@ -8,11 +8,12 @@ import ( errorsmod "cosmossdk.io/errors" "github.com/cheqd/cheqd-node/x/resource/keeper" "github.com/cheqd/cheqd-node/x/resource/types" + "github.com/cosmos/cosmos-sdk/baseapp" sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" ) -func NewHandler(k keeper.Keeper, cheqdKeeper didkeeper.Keeper) sdk.Handler { +func NewHandler(k keeper.Keeper, cheqdKeeper didkeeper.Keeper) baseapp.MsgServiceHandler { msgServer := keeper.NewMsgServer(k, cheqdKeeper) return func(ctx sdk.Context, msg sdk.Msg) (*sdk.Result, error) { diff --git a/x/resource/ibc_module.go b/x/resource/ibc_module.go index 71413ab57..3258dabfa 100644 --- a/x/resource/ibc_module.go +++ b/x/resource/ibc_module.go @@ -78,7 +78,10 @@ func (im IBCModule) OnChanOpenTry( counterpartyVersion string, ) (string, error) { // Require portID is the portID module is bound to - boundPort := im.keeper.GetPort(ctx) + boundPort, err := im.keeper.GetPort(ctx) + if err != nil { + return "", err + } if boundPort != portID { return "", errorsmod.Wrapf(porttypes.ErrInvalidPort, "invalid port: %s, expected %s", portID, boundPort) } diff --git a/x/resource/keeper/keeper.go b/x/resource/keeper/keeper.go index 53d2977d6..5b724e26e 100644 --- a/x/resource/keeper/keeper.go +++ b/x/resource/keeper/keeper.go @@ -1,34 +1,118 @@ package keeper import ( + "context" "fmt" - storetypes "cosmossdk.io/store/types" + "cosmossdk.io/collections" + store "cosmossdk.io/core/store" + "cosmossdk.io/log" "github.com/cheqd/cheqd-node/x/resource/types" - "github.com/cometbft/cometbft/libs/log" "github.com/cosmos/cosmos-sdk/codec" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/ibc-go/v8/modules/core/exported" ) type Keeper struct { - cdc codec.BinaryCodec - storeKey storetypes.StoreKey + cdc codec.BinaryCodec + // storeKey storetypes.StoreKey + storeService store.KVStoreService paramSpace types.ParamSubspace portKeeper types.PortKeeper scopedKeeper exported.ScopedKeeper + Schema collections.Schema + + Port collections.Item[string] + // ResourceCount stores the total number of resources + ResourceCount collections.Item[uint64] + + // Resources stores resource metadata by collection ID and resource ID + ResourceMetadata collections.Map[collections.Pair[string, string], types.Metadata] + + // ResourceData stores resource data by collection ID and resource ID + ResourceData collections.Map[collections.Pair[string, string], []byte] + + // the address capable of executing a MsgUpdateParams message. Typically, this + // should be the x/resource module account. + authority string + + Params collections.Item[types.FeeParams] } -func NewKeeper(cdc codec.BinaryCodec, storeKey storetypes.StoreKey, paramSpace types.ParamSubspace, portKeeper types.PortKeeper, scopedKeeper exported.ScopedKeeper) *Keeper { - return &Keeper{ - cdc: cdc, - storeKey: storeKey, +func NewKeeper(cdc codec.BinaryCodec, storeService store.KVStoreService, paramSpace types.ParamSubspace, portKeeper types.PortKeeper, scopedKeeper exported.ScopedKeeper, authority string) *Keeper { + sb := collections.NewSchemaBuilder(storeService) + // Define the port collection + + k := &Keeper{ + cdc: cdc, + // storeKey: storeKey, + storeService: storeService, paramSpace: paramSpace, portKeeper: portKeeper, scopedKeeper: scopedKeeper, + authority: authority, + Port: collections.NewItem( + sb, + collections.NewPrefix(types.ResourcePortIDKey), // prefix for the port + "port", // key for the port + collections.StringValue, // type of the value + ), + ResourceCount: collections.NewItem( + sb, + collections.NewPrefix(types.ResourceCountKey), + "resource_count", + collections.Uint64Value, + ), + + ResourceMetadata: collections.NewMap( + sb, + collections.NewPrefix(types.ResourceMetadataKey), + "resource_metadata", + collections.PairKeyCodec(collections.StringKey, collections.StringKey), + codec.CollValue[types.Metadata](cdc), + ), + + ResourceData: collections.NewMap( + sb, + collections.NewPrefix(types.ResourceDataKey), + "resource_data", + collections.PairKeyCodec(collections.StringKey, collections.StringKey), + collections.BytesValue, + ), + Params: collections.NewItem( + sb, + collections.NewPrefix(types.ParamStoreKeyFeeParams), + "params", + codec.CollValue[types.FeeParams](cdc), + ), } + + // Build the schema + schema, err := sb.Build() + if err != nil { + panic(err) + } + k.Schema = schema + return k } func (k Keeper) Logger(ctx sdk.Context) log.Logger { return ctx.Logger().With("module", fmt.Sprintf("x/%s", types.ModuleName)) } + +func (k Keeper) GetAuthority() string { + return k.authority +} + +func (k Keeper) SetParams(ctx context.Context, params types.FeeParams) error { + err := k.Params.Set(ctx, params) + if err != nil { + return err + } + return nil +} + +// GetParams gets the x/resource module parameters. +func (k Keeper) GetParams(ctx context.Context) (params types.FeeParams, err error) { + return k.Params.Get(ctx) +} diff --git a/x/resource/keeper/keeper_ibc_port.go b/x/resource/keeper/keeper_ibc_port.go index 570132e5d..b19522765 100644 --- a/x/resource/keeper/keeper_ibc_port.go +++ b/x/resource/keeper/keeper_ibc_port.go @@ -1,48 +1,44 @@ package keeper import ( - didutils "github.com/cheqd/cheqd-node/x/did/utils" - "github.com/cheqd/cheqd-node/x/resource/types" - sdk "github.com/cosmos/cosmos-sdk/types" + "context" + + sdktypes "github.com/cosmos/cosmos-sdk/types" capabilitytypes "github.com/cosmos/ibc-go/modules/capability/types" host "github.com/cosmos/ibc-go/v8/modules/core/24-host" ) // GetPort returns the portID for the resource module. Used in ExportGenesis -func (k Keeper) GetPort(ctx sdk.Context) string { - store := ctx.KVStore(k.storeKey) - byteKey := didutils.StrBytes(types.ResourcePortIDKey) - return string(store.Get(byteKey)) +func (k Keeper) GetPort(ctx context.Context) (string, error) { + return k.Port.Get(ctx) } // SetPort sets the portID for the resource module. Used in InitGenesis -func (k Keeper) SetPort(ctx sdk.Context, portID string) { - store := ctx.KVStore(k.storeKey) - byteKey := didutils.StrBytes(types.ResourcePortIDKey) - store.Set(byteKey, []byte(portID)) +func (k Keeper) SetPort(ctx context.Context, portID string) error { + return k.Port.Set(ctx, portID) } // IsBound checks if the module is already bound to the desired port -func (k Keeper) IsBound(ctx sdk.Context, portID string) bool { - _, ok := k.scopedKeeper.GetCapability(ctx, host.PortPath(portID)) +func (k Keeper) IsBound(ctx context.Context, portID string) bool { + _, ok := k.scopedKeeper.GetCapability(sdktypes.UnwrapSDKContext(ctx), host.PortPath(portID)) return ok } // BindPort defines a wrapper function for the port Keeper's function in // order to expose it to the module's InitGenesis function -func (k Keeper) BindPort(ctx sdk.Context, portID string) error { - cap := k.portKeeper.BindPort(ctx, portID) +func (k Keeper) BindPort(ctx context.Context, portID string) error { + cap := k.portKeeper.BindPort(sdktypes.UnwrapSDKContext(ctx), portID) return k.ClaimCapability(ctx, cap, host.PortPath(portID)) } // ClaimCapability allows the resource module to claim a capability that IBC module passes to it -func (k Keeper) ClaimCapability(ctx sdk.Context, cap *capabilitytypes.Capability, name string) error { - return k.scopedKeeper.ClaimCapability(ctx, cap, name) +func (k Keeper) ClaimCapability(ctx context.Context, cap *capabilitytypes.Capability, name string) error { + return k.scopedKeeper.ClaimCapability(sdktypes.UnwrapSDKContext(ctx), cap, name) } // AuthenticateCapability attempts to authenticate a given capability and name // from a caller. It allows for a caller to check that a capability does in fact // correspond to a particular name. -func (k Keeper) AuthenticateCapability(ctx sdk.Context, cap *capabilitytypes.Capability, name string) bool { - return k.scopedKeeper.AuthenticateCapability(ctx, cap, name) +func (k Keeper) AuthenticateCapability(ctx context.Context, cap *capabilitytypes.Capability, name string) bool { + return k.scopedKeeper.AuthenticateCapability(sdktypes.UnwrapSDKContext(ctx), cap, name) } diff --git a/x/resource/keeper/keeper_param_change_proposal_test.go b/x/resource/keeper/keeper_param_change_proposal_test.go index 3939a46ed..214c3b2a7 100644 --- a/x/resource/keeper/keeper_param_change_proposal_test.go +++ b/x/resource/keeper/keeper_param_change_proposal_test.go @@ -1,161 +1,210 @@ package keeper_test import ( - "github.com/stretchr/testify/suite" - - tmproto "github.com/cometbft/cometbft/proto/tendermint/types" + "strings" + sdkmath "cosmossdk.io/math" cheqdapp "github.com/cheqd/cheqd-node/app" + resourcekeeper "github.com/cheqd/cheqd-node/x/resource/keeper" resourcetypes "github.com/cheqd/cheqd-node/x/resource/types" sdk "github.com/cosmos/cosmos-sdk/types" - govv1beta1 "github.com/cosmos/cosmos-sdk/x/gov/types/v1beta1" - "github.com/cosmos/cosmos-sdk/x/params" - "github.com/cosmos/cosmos-sdk/x/params/types/proposal" . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" ) -type HandlerTestSuite struct { - suite.Suite +func init() { + cheqdapp.SetConfig() +} - app *cheqdapp.TestApp - ctx sdk.Context - govHandler govv1beta1.Handler +type KeeperTestSuite struct { + app *cheqdapp.TestApp + ctx sdk.Context + resourceKeeper resourcekeeper.Keeper + msgSvr resourcetypes.MsgServer } -func (suite *HandlerTestSuite) SetupTest() error { +func (suite *KeeperTestSuite) SetupTest() error { var err error suite.app, err = cheqdapp.Setup(false) if err != nil { return err } - suite.ctx = suite.app.BaseApp.NewContext(false, tmproto.Header{}) - suite.govHandler = params.NewParamChangeProposalHandler(suite.app.ParamsKeeper) + + suite.ctx = suite.app.BaseApp.NewContext(false) + suite.resourceKeeper = suite.app.ResourceKeeper + + // Set default params + err = suite.resourceKeeper.SetParams(suite.ctx, *resourcetypes.DefaultFeeParams()) + if err != nil { + return err + } + + suite.msgSvr = resourcekeeper.NewMsgServerImpl(suite.app.ResourceKeeper, suite.app.DidKeeper) return nil } -func testProposal(changes ...proposal.ParamChange) *proposal.ParameterChangeProposal { - return proposal.NewParameterChangeProposal("title", "description", changes) +type TestCaseUpdateParams struct { + name string + input *resourcetypes.MsgUpdateParams + expErr bool } -type TestCaseKeeperProposal struct { - proposal *proposal.ParameterChangeProposal - onHandle func(*HandlerTestSuite) - expErr bool - errMsg string -} +var _ = DescribeTable("UpdateParams", func(testCase TestCaseUpdateParams) { + keeperSuite := new(KeeperTestSuite) + err := keeperSuite.SetupTest() -var _ = DescribeTable("Proposal Handler", func(testcase TestCaseKeeperProposal) { - handlerSuite := new(HandlerTestSuite) - err := handlerSuite.SetupTest() Expect(err).To(BeNil()) + // ✅ Only set authority if the test case didn't define one + if strings.TrimSpace(testCase.input.Authority) == "" { + testCase.input.Authority = keeperSuite.resourceKeeper.GetAuthority() + } + // Call UpdateParams method + _, err = keeperSuite.msgSvr.UpdateParams(keeperSuite.ctx, testCase.input) - err = handlerSuite.govHandler(handlerSuite.ctx, testcase.proposal) - if testcase.expErr { + if testCase.expErr { Expect(err).NotTo(BeNil()) + // fmt.Println("error here....", testCase.name, err.Error()) + // fmt.Println("error message....", err.Error()) + // Expect(err.Error()).To(ContainSubstring(testCase.expErrMsg)) } else { Expect(err).To(BeNil()) - testcase.onHandle(handlerSuite) + + // Verify params were updated correctly + params, err := keeperSuite.resourceKeeper.GetParams(keeperSuite.ctx) + Expect(err).To(BeNil()) + Expect(params).To(Equal(testCase.input.Params)) } }, - Entry("all fields", - TestCaseKeeperProposal{ - testProposal(proposal.ParamChange{ - Subspace: resourcetypes.ModuleName, - Key: string(resourcetypes.ParamStoreKeyFeeParams), - Value: `{"image": {"denom": "ncheq", "amount": "10000000000"}, "json": {"denom": "ncheq", "amount": "4000000000"}, "default": {"denom": "ncheq", "amount": "2000000000"}, "burn_factor": "0.600000000000000000"}`, - }), - func(handlerSuite *HandlerTestSuite) { - expectedFeeParams := resourcetypes.FeeParams{ - Image: sdk.Coin{Denom: resourcetypes.BaseMinimalDenom, Amount: sdk.NewInt(10000000000)}, - Json: sdk.Coin{Denom: resourcetypes.BaseMinimalDenom, Amount: sdk.NewInt(4000000000)}, - Default: sdk.Coin{Denom: resourcetypes.BaseMinimalDenom, Amount: sdk.NewInt(2000000000)}, - BurnFactor: sdk.MustNewDecFromStr("0.600000000000000000"), - } - - feeParams := handlerSuite.app.ResourceKeeper.GetParams(handlerSuite.ctx) - - Expect(expectedFeeParams).To(Equal(feeParams)) + Entry("valid params - all fields", + TestCaseUpdateParams{ + name: "valid params - all fields", + input: &resourcetypes.MsgUpdateParams{ + Params: resourcetypes.FeeParams{ + Image: sdk.Coin{Denom: resourcetypes.BaseMinimalDenom, Amount: sdkmath.NewInt(10000000000)}, + Json: sdk.Coin{Denom: resourcetypes.BaseMinimalDenom, Amount: sdkmath.NewInt(4000000000)}, + Default: sdk.Coin{Denom: resourcetypes.BaseMinimalDenom, Amount: sdkmath.NewInt(2000000000)}, + BurnFactor: sdkmath.LegacyMustNewDecFromStr("0.600000000000000000"), + }, + }, + expErr: false, + }), + Entry("invalid image amount 0", + TestCaseUpdateParams{ + name: "invalid create_did amount 0", + input: &resourcetypes.MsgUpdateParams{ + Params: resourcetypes.FeeParams{ + Image: sdk.Coin{Denom: resourcetypes.BaseMinimalDenom, Amount: sdkmath.NewInt(0)}, + Json: sdk.Coin{Denom: resourcetypes.BaseMinimalDenom, Amount: sdkmath.NewInt(4000000000)}, + Default: sdk.Coin{Denom: resourcetypes.BaseMinimalDenom, Amount: sdkmath.NewInt(2000000000)}, + BurnFactor: sdkmath.LegacyMustNewDecFromStr("0.600000000000000000"), + }, }, - false, - "", + expErr: true, }), - Entry("empty value", - TestCaseKeeperProposal{ - testProposal(proposal.ParamChange{ - Subspace: resourcetypes.ModuleName, - Key: string(resourcetypes.ParamStoreKeyFeeParams), - Value: `{}`, - }), - func(*HandlerTestSuite) {}, - true, - "", + Entry("invalid image denom", + TestCaseUpdateParams{ + name: "invalid image denom", + input: &resourcetypes.MsgUpdateParams{ + Params: resourcetypes.FeeParams{ + Image: sdk.Coin{Denom: "", Amount: sdkmath.NewInt(10000000000)}, + Json: sdk.Coin{Denom: resourcetypes.BaseMinimalDenom, Amount: sdkmath.NewInt(4000000000)}, + Default: sdk.Coin{Denom: resourcetypes.BaseMinimalDenom, Amount: sdkmath.NewInt(2000000000)}, + BurnFactor: sdkmath.LegacyMustNewDecFromStr("0.600000000000000000"), + }, + }, + expErr: true, + }), + Entry("invalid json amount 0", + TestCaseUpdateParams{ + name: "invalid json amount 0", + input: &resourcetypes.MsgUpdateParams{ + Params: resourcetypes.FeeParams{ + Image: sdk.Coin{Denom: resourcetypes.BaseMinimalDenom, Amount: sdkmath.NewInt(10000000000)}, + Json: sdk.Coin{Denom: resourcetypes.BaseMinimalDenom, Amount: sdkmath.NewInt(0)}, + Default: sdk.Coin{Denom: resourcetypes.BaseMinimalDenom, Amount: sdkmath.NewInt(2000000000)}, + BurnFactor: sdkmath.LegacyMustNewDecFromStr("0.600000000000000000"), + }, + }, + expErr: true, }), - Entry("omit fields", - TestCaseKeeperProposal{ - testProposal(proposal.ParamChange{ - Subspace: resourcetypes.ModuleName, - Key: string(resourcetypes.ParamStoreKeyFeeParams), - Value: `{"image": {"denom": "ncheq", "amount": "10000000000"}, "json": {"denom": "ncheq", "amount": "4000000000"}, "burn_factor": "0.600000000000000000"}`, - }), - func(*HandlerTestSuite) {}, - true, - "", + Entry("invalid json denom", + TestCaseUpdateParams{ + name: "invalid json denom", + input: &resourcetypes.MsgUpdateParams{ + Params: resourcetypes.FeeParams{ + Image: sdk.Coin{Denom: resourcetypes.BaseMinimalDenom, Amount: sdkmath.NewInt(10000000000)}, + Json: sdk.Coin{Denom: "wrongdenom", Amount: sdkmath.NewInt(4000000000)}, + Default: sdk.Coin{Denom: resourcetypes.BaseMinimalDenom, Amount: sdkmath.NewInt(2000000000)}, + BurnFactor: sdkmath.LegacyMustNewDecFromStr("0.600000000000000000"), + }, + }, + expErr: true, }), - Entry("invalid value: case `image` amount 0", - TestCaseKeeperProposal{ - testProposal(proposal.ParamChange{ - Subspace: resourcetypes.ModuleName, - Key: string(resourcetypes.ParamStoreKeyFeeParams), - Value: `{"image": {"denom": "ncheq", "amount": "0"}, "json": {"denom": "ncheq", "amount": "4000000000"}, "default": {"denom": "ncheq", "amount": "2000000000"}, "burn_factor": "0.600000000000000000"}`, - }), - func(*HandlerTestSuite) {}, - true, - "", + Entry("invalid burn_factor 0", + TestCaseUpdateParams{ + name: "invalid burn_factor 0", + input: &resourcetypes.MsgUpdateParams{ + Params: resourcetypes.FeeParams{ + Image: sdk.Coin{Denom: resourcetypes.BaseMinimalDenom, Amount: sdkmath.NewInt(10000000000)}, + Json: sdk.Coin{Denom: resourcetypes.BaseMinimalDenom, Amount: sdkmath.NewInt(4000000000)}, + Default: sdk.Coin{Denom: resourcetypes.BaseMinimalDenom, Amount: sdkmath.NewInt(2000000000)}, + BurnFactor: sdkmath.LegacyMustNewDecFromStr("0"), + }, + }, + expErr: true, }), - Entry("invalid value: case `json` amount 0", - TestCaseKeeperProposal{ - testProposal(proposal.ParamChange{ - Subspace: resourcetypes.ModuleName, - Key: string(resourcetypes.ParamStoreKeyFeeParams), - Value: `{"image": {"denom": "ncheq", "amount": "10000000000"}, "json": {"denom": "ncheq", "amount": "0"}, "default": {"denom": "ncheq", "amount": "2000000000"}, "burn_factor": "0.600000000000000000"}`, - }), - func(*HandlerTestSuite) {}, - true, - "", + Entry("invalid burn_factor negative", + TestCaseUpdateParams{ + name: "invalid burn_factor negative", + input: &resourcetypes.MsgUpdateParams{ + Params: resourcetypes.FeeParams{ + Image: sdk.Coin{Denom: resourcetypes.BaseMinimalDenom, Amount: sdkmath.NewInt(10000000000)}, + Json: sdk.Coin{Denom: resourcetypes.BaseMinimalDenom, Amount: sdkmath.NewInt(4000000000)}, + Default: sdk.Coin{Denom: resourcetypes.BaseMinimalDenom, Amount: sdkmath.NewInt(2000000000)}, + BurnFactor: sdkmath.LegacyMustNewDecFromStr("-0.1"), + }, + }, + expErr: true, }), - Entry("invalid value: case `default` amount 0", - TestCaseKeeperProposal{ - testProposal(proposal.ParamChange{ - Subspace: resourcetypes.ModuleName, - Key: string(resourcetypes.ParamStoreKeyFeeParams), - Value: `{"image": {"denom": "ncheq", "amount": "10000000000"}, "json": {"denom": "ncheq", "amount": "4000000000"}, "default": {"denom": "ncheq", "amount": "0"}, "burn_factor": "0.600000000000000000"}`, - }), - func(*HandlerTestSuite) {}, - true, - "", + Entry("invalid burn_factor equal to 1", + TestCaseUpdateParams{ + name: "invalid burn_factor equal to 1", + input: &resourcetypes.MsgUpdateParams{ + Params: resourcetypes.FeeParams{ + Image: sdk.Coin{Denom: resourcetypes.BaseMinimalDenom, Amount: sdkmath.NewInt(10000000000)}, + Json: sdk.Coin{Denom: resourcetypes.BaseMinimalDenom, Amount: sdkmath.NewInt(4000000000)}, + Default: sdk.Coin{Denom: resourcetypes.BaseMinimalDenom, Amount: sdkmath.NewInt(2000000000)}, + BurnFactor: sdkmath.LegacyMustNewDecFromStr("1.0"), + }, + }, + expErr: true, }), - Entry("invalid value: case `burn_factor` -1", - TestCaseKeeperProposal{ - testProposal(proposal.ParamChange{ - Subspace: resourcetypes.ModuleName, - Key: string(resourcetypes.ParamStoreKeyFeeParams), - Value: `{"image": {"denom": "ncheq", "amount": "10000000000"}, "json": {"denom": "ncheq", "amount": "4000000000"}, "default": {"denom": "ncheq", "amount": "2000000000"}, "burn_factor": "-1"}`, - }), - func(*HandlerTestSuite) {}, - true, - "", + Entry("invalid burn_factor greater than 1", + TestCaseUpdateParams{ + name: "invalid burn_factor greater than 1", + input: &resourcetypes.MsgUpdateParams{ + Params: resourcetypes.FeeParams{ + Image: sdk.Coin{Denom: resourcetypes.BaseMinimalDenom, Amount: sdkmath.NewInt(10000000000)}, + Json: sdk.Coin{Denom: resourcetypes.BaseMinimalDenom, Amount: sdkmath.NewInt(4000000000)}, + Default: sdk.Coin{Denom: resourcetypes.BaseMinimalDenom, Amount: sdkmath.NewInt(2000000000)}, + BurnFactor: sdkmath.LegacyMustNewDecFromStr("1.1"), + }, + }, + expErr: true, }), - Entry("invalid value: case `burn_factor` 1.1", - TestCaseKeeperProposal{ - testProposal(proposal.ParamChange{ - Subspace: resourcetypes.ModuleName, - Key: string(resourcetypes.ParamStoreKeyFeeParams), - Value: `{"image": {"denom": "ncheq", "amount": "10000000000"}, "json": {"denom": "ncheq", "amount": "4000000000"}, "default": {"denom": "ncheq", "amount": "2000000000"}, "burn_factor": "1.1"}`, - }), - func(*HandlerTestSuite) {}, - true, - "", + Entry("invalid authority", + TestCaseUpdateParams{ + name: "invalid authority", + input: &resourcetypes.MsgUpdateParams{ + Authority: "invalid", + Params: resourcetypes.FeeParams{ + Image: sdk.Coin{Denom: resourcetypes.BaseMinimalDenom, Amount: sdkmath.NewInt(10000000000)}, + Json: sdk.Coin{Denom: resourcetypes.BaseMinimalDenom, Amount: sdkmath.NewInt(4000000000)}, + Default: sdk.Coin{Denom: resourcetypes.BaseMinimalDenom, Amount: sdkmath.NewInt(2000000000)}, + BurnFactor: sdkmath.LegacyMustNewDecFromStr("0.6"), + }, + }, + expErr: true, }), ) diff --git a/x/resource/keeper/keeper_resource.go b/x/resource/keeper/keeper_resource.go index f1243b0e6..5985423e5 100644 --- a/x/resource/keeper/keeper_resource.go +++ b/x/resource/keeper/keeper_resource.go @@ -1,48 +1,39 @@ package keeper import ( - "strconv" + "context" - didutils "github.com/cheqd/cheqd-node/x/did/utils" + "cosmossdk.io/collections" + "cosmossdk.io/errors" + storetypes "cosmossdk.io/store/types" "github.com/cheqd/cheqd-node/x/resource/types" - sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" ) // GetResourceCount get the total number of resource -func (k Keeper) GetResourceCount(ctx *sdk.Context) uint64 { - store := ctx.KVStore(k.storeKey) - byteKey := didutils.StrBytes(types.ResourceCountKey) - bz := store.Get(byteKey) - - // Count doesn't exist: no element - if bz == nil { - return 0 - } - - // Parse bytes - count, err := strconv.ParseUint(string(bz), 10, 64) +func (k Keeper) GetResourceCount(ctx *context.Context) (uint64, error) { + count, err := k.ResourceCount.Get(*ctx) if err != nil { - // Panic because the count should be always formattable to int64 - panic("cannot decode count") + if errors.IsOf(err, collections.ErrNotFound) { + return 0, nil + } + return 0, err } - return count + return count, nil } // SetResourceCount set the total number of resource -func (k Keeper) SetResourceCount(ctx *sdk.Context, count uint64) { - store := ctx.KVStore(k.storeKey) - byteKey := didutils.StrBytes(types.ResourceCountKey) - - // Set bytes - bz := []byte(strconv.FormatUint(count, 10)) - store.Set(byteKey, bz) +func (k Keeper) SetResourceCount(ctx *context.Context, count uint64) error { + return k.ResourceCount.Set(*ctx, count) } -func (k Keeper) AddNewResourceVersion(ctx *sdk.Context, resource *types.ResourceWithMetadata) error { +func (k Keeper) AddNewResourceVersion(ctx context.Context, resource *types.ResourceWithMetadata) error { // Find previous version and upgrade backward and forward version links - previousResourceVersionHeader, found := k.GetLastResourceVersionMetadata(ctx, resource.Metadata.CollectionId, resource.Metadata.Name, resource.Metadata.ResourceType) + previousResourceVersionHeader, found, err := k.GetLastResourceVersionMetadata(&ctx, resource.Metadata.CollectionId, resource.Metadata.Name, resource.Metadata.ResourceType) + if err != nil { + return err + } if found { // Set links previousResourceVersionHeader.NextVersionId = resource.Metadata.Id @@ -55,162 +46,176 @@ func (k Keeper) AddNewResourceVersion(ctx *sdk.Context, resource *types.Resource } } - // Set new version - err := k.SetResource(ctx, resource) + err = k.SetResource(&ctx, resource) return err } // SetResource create or update a specific resource in the store -func (k Keeper) SetResource(ctx *sdk.Context, resource *types.ResourceWithMetadata) error { - if !k.HasResource(ctx, resource.Metadata.CollectionId, resource.Metadata.Id) { - count := k.GetResourceCount(ctx) - k.SetResourceCount(ctx, count+1) +func (k Keeper) SetResource(ctx *context.Context, resource *types.ResourceWithMetadata) error { + hasResource, err := k.ResourceMetadata.Has(*ctx, collections.Join(resource.Metadata.CollectionId, resource.Metadata.Id)) + if err != nil { + return err } - store := ctx.KVStore(k.storeKey) + if !hasResource { + count, err := k.GetResourceCount(ctx) + if err != nil { + return err + } + if err := k.SetResourceCount(ctx, count+1); err != nil { + return err + } + } // Set metadata - metadataKey := types.GetResourceMetadataKey(resource.Metadata.CollectionId, resource.Metadata.Id) - metadataBytes := k.cdc.MustMarshal(resource.Metadata) - store.Set(metadataKey, metadataBytes) + if err := k.ResourceMetadata.Set(*ctx, collections.Join(resource.Metadata.CollectionId, resource.Metadata.Id), *resource.Metadata); err != nil { + return err + } // Set data - dataKey := types.GetResourceDataKey(resource.Metadata.CollectionId, resource.Metadata.Id) - store.Set(dataKey, resource.Resource.Data) - - return nil + return k.ResourceData.Set(*ctx, collections.Join(resource.Metadata.CollectionId, resource.Metadata.Id), resource.Resource.Data) } // GetResource returns a resource from its id -func (k Keeper) GetResource(ctx *sdk.Context, collectionID string, id string) (types.ResourceWithMetadata, error) { - if !k.HasResource(ctx, collectionID, id) { - return types.ResourceWithMetadata{}, sdkerrors.ErrNotFound.Wrap("resource " + collectionID + ":" + id) +func (k Keeper) GetResource(ctx context.Context, collectionID string, id string) (types.ResourceWithMetadata, error) { + hasResource, err := k.ResourceMetadata.Has(ctx, collections.Join(collectionID, id)) + if err != nil { + return types.ResourceWithMetadata{}, err } - store := ctx.KVStore(k.storeKey) - - metadataBytes := store.Get(types.GetResourceMetadataKey(collectionID, id)) - var metadata types.Metadata - if err := k.cdc.Unmarshal(metadataBytes, &metadata); err != nil { - return types.ResourceWithMetadata{}, sdkerrors.ErrInvalidType.Wrap(err.Error()) + if !hasResource { + return types.ResourceWithMetadata{}, sdkerrors.ErrNotFound.Wrap("resource " + collectionID + ":" + id) + } + // Get metadata + metadata, err := k.ResourceMetadata.Get(ctx, collections.Join(collectionID, id)) + if err != nil { + return types.ResourceWithMetadata{}, err } - dataBytes := store.Get(types.GetResourceDataKey(collectionID, id)) - data := types.Resource{Data: dataBytes} + // Get data + data, err := k.ResourceData.Get(ctx, collections.Join(collectionID, id)) + if err != nil { + return types.ResourceWithMetadata{}, err + } return types.ResourceWithMetadata{ Metadata: &metadata, - Resource: &data, + Resource: &types.Resource{Data: data}, }, nil } -func (k Keeper) GetResourceMetadata(ctx *sdk.Context, collectionID string, id string) (types.Metadata, error) { - if !k.HasResource(ctx, collectionID, id) { - return types.Metadata{}, sdkerrors.ErrNotFound.Wrap("resource " + collectionID + ":" + id) +func (k Keeper) GetResourceMetadata(ctx *context.Context, collectionID string, id string) (types.Metadata, error) { + hasResource, err := k.ResourceMetadata.Has(*ctx, collections.Join(collectionID, id)) + if err != nil { + return types.Metadata{}, err } - - store := ctx.KVStore(k.storeKey) - - metadataBytes := store.Get(types.GetResourceMetadataKey(collectionID, id)) - var metadata types.Metadata - if err := k.cdc.Unmarshal(metadataBytes, &metadata); err != nil { - return types.Metadata{}, sdkerrors.ErrInvalidType.Wrap(err.Error()) + if !hasResource { + return types.Metadata{}, sdkerrors.ErrNotFound.Wrap("resource " + collectionID + ":" + id) } - return metadata, nil + return k.ResourceMetadata.Get(*ctx, collections.Join(collectionID, id)) } // HasResource checks if the resource exists in the store -func (k Keeper) HasResource(ctx *sdk.Context, collectionID string, id string) bool { - store := ctx.KVStore(k.storeKey) - return store.Has(types.GetResourceMetadataKey(collectionID, id)) +func (k Keeper) HasResource(ctx context.Context, collectionID string, id string) bool { + has, err := k.ResourceMetadata.Has(ctx, collections.Join(collectionID, id)) + if err != nil { + return false + } + return has } -func (k Keeper) GetResourceCollection(ctx *sdk.Context, collectionID string) []*types.Metadata { - store := ctx.KVStore(k.storeKey) - iterator := sdk.KVStorePrefixIterator(store, types.GetResourceMetadataCollectionPrefix(collectionID)) - +func (k Keeper) GetResourceCollection(ctx *context.Context, collectionID string) ([]*types.Metadata, error) { var resources []*types.Metadata - defer closeIteratorOrPanic(iterator) - - for ; iterator.Valid(); iterator.Next() { - var val types.Metadata - k.cdc.MustUnmarshal(iterator.Value(), &val) - resources = append(resources, &val) - + rng := collections.NewPrefixedPairRange[string, string](collectionID) + err := k.ResourceMetadata.Walk(*ctx, rng, func(_ collections.Pair[string, string], metadata types.Metadata) (bool, error) { + metadataCopy := metadata // Create a copy to avoid reference issues + resources = append(resources, &metadataCopy) + return false, nil + }) + if err != nil { + return nil, err } - return resources + return resources, nil } -func (k Keeper) GetLastResourceVersionMetadata(ctx *sdk.Context, collectionID, name, resourceType string) (types.Metadata, bool) { - iterator := sdk.KVStorePrefixIterator(ctx.KVStore(k.storeKey), types.GetResourceMetadataCollectionPrefix(collectionID)) - - defer closeIteratorOrPanic(iterator) - - for ; iterator.Valid(); iterator.Next() { - var metadata types.Metadata - k.cdc.MustUnmarshal(iterator.Value(), &metadata) +func (k Keeper) GetLastResourceVersionMetadata(ctx *context.Context, collectionID, name, resourceType string) (types.Metadata, bool, error) { + var lastVersion types.Metadata + found := false + rng := collections.NewPrefixedPairRange[string, string](collectionID) + err := k.ResourceMetadata.Walk(*ctx, rng, func(_ collections.Pair[string, string], metadata types.Metadata) (bool, error) { if metadata.Name == name && metadata.ResourceType == resourceType && metadata.NextVersionId == "" { - return metadata, true + lastVersion = metadata + found = true + return true, nil // Stop iteration as we found what we need } + return false, nil // Continue iteration + }) + if err != nil { + return types.Metadata{}, false, err } - return types.Metadata{}, false + return lastVersion, found, nil } // UpdateResourceMetadata update the metadata of a resource. Returns an error if the resource doesn't exist -func (k Keeper) UpdateResourceMetadata(ctx *sdk.Context, metadata *types.Metadata) error { - if !k.HasResource(ctx, metadata.CollectionId, metadata.Id) { +func (k Keeper) UpdateResourceMetadata(ctx context.Context, metadata *types.Metadata) error { + hasResource, err := k.ResourceMetadata.Has(ctx, collections.Join(metadata.CollectionId, metadata.Id)) + if err != nil { + return err + } + if !hasResource { return sdkerrors.ErrNotFound.Wrap("resource " + metadata.CollectionId + ":" + metadata.Id) } - store := ctx.KVStore(k.storeKey) - - // Set metadata - metadataKey := types.GetResourceMetadataKey(metadata.CollectionId, metadata.Id) - metadataBytes := k.cdc.MustMarshal(metadata) - store.Set(metadataKey, metadataBytes) - - return nil + return k.ResourceMetadata.Set(ctx, collections.Join(metadata.CollectionId, metadata.Id), *metadata) } -func (k Keeper) IterateAllResourceMetadatas(ctx *sdk.Context, callback func(metadata types.Metadata) (continue_ bool)) { - headerIterator := sdk.KVStorePrefixIterator(ctx.KVStore(k.storeKey), didutils.StrBytes(types.ResourceMetadataKey)) - defer closeIteratorOrPanic(headerIterator) - - for headerIterator.Valid() { - var val types.Metadata - k.cdc.MustUnmarshal(headerIterator.Value(), &val) +func (k Keeper) IterateAllResourceMetadatas(ctx context.Context, callback func(metadata types.Metadata) (continue_ bool)) error { + err := k.ResourceMetadata.Walk( + ctx, + nil, // nil range means full range in x/collections + func(_ collections.Pair[string, string], metadata types.Metadata) (bool, error) { + if !callback(metadata) { + return true, nil + } + return false, nil + }, + ) - if !callback(val) { - break - } - - headerIterator.Next() - } + return err } // GetAllResources returns all resources as a list // Loads everything in memory. Use only for genesis export! -func (k Keeper) GetAllResources(ctx *sdk.Context) (list []*types.ResourceWithMetadata, iterErr error) { - k.IterateAllResourceMetadatas(ctx, func(metadata types.Metadata) bool { +func (k Keeper) GetAllResources(ctx context.Context) (list []*types.ResourceWithMetadata, iterErr error) { + var resources []*types.ResourceWithMetadata + + err := k.IterateAllResourceMetadatas(ctx, func(metadata types.Metadata) bool { resource, err := k.GetResource(ctx, metadata.CollectionId, metadata.Id) if err != nil { iterErr = err return false } - list = append(list, &resource) + resources = append(resources, &resource) return true }) + if err != nil { + return nil, err + } + + if iterErr != nil { + return nil, iterErr + } - return + return resources, nil } -func closeIteratorOrPanic(iterator sdk.Iterator) { +func closeIteratorOrPanic(iterator storetypes.Iterator) { err := iterator.Close() if err != nil { panic(err.Error()) diff --git a/x/resource/keeper/migrator.go b/x/resource/keeper/migrator.go new file mode 100644 index 000000000..63114ecf7 --- /dev/null +++ b/x/resource/keeper/migrator.go @@ -0,0 +1,25 @@ +package keeper + +import ( + "github.com/cheqd/cheqd-node/x/resource/exported" + v4 "github.com/cheqd/cheqd-node/x/resource/migration/v4" + sdk "github.com/cosmos/cosmos-sdk/types" +) + +// Migrator is a struct for handling in-place state migrations. +type Migrator struct { + keeper Keeper + legacySubspace exported.Subspace +} + +// NewMigrator returns Migrator instance for the state migration. +func NewMigrator(k Keeper, ss exported.Subspace) Migrator { + return Migrator{ + keeper: k, + legacySubspace: ss, + } +} + +func (m Migrator) Migrate3to4(ctx sdk.Context) error { + return v4.MigrateStore(ctx, m.keeper.storeService, m.legacySubspace, m.keeper.cdc) +} diff --git a/x/resource/keeper/msg_server.go b/x/resource/keeper/msg_server.go index 54c3b3460..ed2186e91 100644 --- a/x/resource/keeper/msg_server.go +++ b/x/resource/keeper/msg_server.go @@ -1,8 +1,13 @@ package keeper import ( + "context" + + "cosmossdk.io/errors" didkeeper "github.com/cheqd/cheqd-node/x/did/keeper" "github.com/cheqd/cheqd-node/x/resource/types" + sdk "github.com/cosmos/cosmos-sdk/types" + govtypes "github.com/cosmos/cosmos-sdk/x/gov/types" ) type msgServer struct { @@ -27,3 +32,20 @@ func NewMsgServer(keeper Keeper, cheqdKeeper didkeeper.Keeper) types.MsgServer { } var _ types.MsgServer = msgServer{} + +func (k msgServer) UpdateParams(goCtx context.Context, req *types.MsgUpdateParams) (*types.MsgUpdateParamsResponse, error) { + if k.authority != req.Authority { + return nil, errors.Wrapf(govtypes.ErrInvalidSigner, "invalid authority; expected %s, got %s", k.authority, req.Authority) + } + + if err := req.Params.ValidateBasic(); err != nil { + return nil, err + } + + ctx := sdk.UnwrapSDKContext(goCtx) + if err := k.SetParams(ctx, req.Params); err != nil { + return nil, err + } + + return &types.MsgUpdateParamsResponse{}, nil +} diff --git a/x/resource/keeper/msg_server_create_resource.go b/x/resource/keeper/msg_server_create_resource.go index f54a20138..311afac0f 100644 --- a/x/resource/keeper/msg_server_create_resource.go +++ b/x/resource/keeper/msg_server_create_resource.go @@ -7,12 +7,12 @@ import ( "fmt" "github.com/cheqd/cheqd-node/x/resource/utils" + sdk "github.com/cosmos/cosmos-sdk/types" didkeeper "github.com/cheqd/cheqd-node/x/did/keeper" didtypes "github.com/cheqd/cheqd-node/x/did/types" didutils "github.com/cheqd/cheqd-node/x/did/utils" "github.com/cheqd/cheqd-node/x/resource/types" - sdk "github.com/cosmos/cosmos-sdk/types" ) const ( @@ -29,9 +29,12 @@ func (k msgServer) CreateResource(goCtx context.Context, msg *types.MsgCreateRes msg.Normalize() // Validate corresponding DIDDoc exists - namespace := k.didKeeper.GetDidNamespace(&ctx) + namespace, err := k.didKeeper.GetDidNamespace(&goCtx) + if err != nil { + return nil, err + } did := didutils.JoinDID(didtypes.DidMethod, namespace, msg.Payload.CollectionId) - didDoc, err := k.didKeeper.GetLatestDidDoc(&ctx, did) + didDoc, err := k.didKeeper.GetLatestDidDoc(&goCtx, did) if err != nil { return nil, err } @@ -48,13 +51,13 @@ func (k msgServer) CreateResource(goCtx context.Context, msg *types.MsgCreateRes } // Validate Resource doesn't exist - if k.HasResource(&ctx, msg.Payload.CollectionId, msg.Payload.Id) { + if k.HasResource(goCtx, msg.Payload.CollectionId, msg.Payload.Id) { return nil, types.ErrResourceExists.Wrap(msg.Payload.Id) } // We can use the same signers as for DID creation because didDoc stays the same signers := didkeeper.GetSignerDIDsForDIDCreation(*didDoc.DidDoc) - err = didkeeper.VerifyAllSignersHaveAllValidSignatures(&k.didKeeper, &ctx, map[string]didtypes.DidDocWithMetadata{}, + err = didkeeper.VerifyAllSignersHaveAllValidSignatures(&k.didKeeper, &goCtx, map[string]didtypes.DidDocWithMetadata{}, signBytes, signers, msg.Signatures) if err != nil { return nil, err @@ -75,7 +78,7 @@ func (k msgServer) CreateResource(goCtx context.Context, msg *types.MsgCreateRes resource.Metadata.AlsoKnownAs = append(resource.Metadata.AlsoKnownAs, &defaultAlternativeURL) // Persist resource - err = k.AddNewResourceVersion(&ctx, &resource) + err = k.AddNewResourceVersion(goCtx, &resource) if err != nil { return nil, types.ErrInternal.Wrapf(err.Error()) } diff --git a/x/resource/keeper/params.go b/x/resource/keeper/params.go deleted file mode 100644 index b0bbd4e9b..000000000 --- a/x/resource/keeper/params.go +++ /dev/null @@ -1,15 +0,0 @@ -package keeper - -import ( - "github.com/cheqd/cheqd-node/x/resource/types" - sdk "github.com/cosmos/cosmos-sdk/types" -) - -func (k Keeper) SetParams(ctx sdk.Context, params types.FeeParams) { - k.paramSpace.Set(ctx, types.ParamStoreKeyFeeParams, ¶ms) -} - -func (k Keeper) GetParams(ctx sdk.Context) (params types.FeeParams) { - k.paramSpace.Get(ctx, types.ParamStoreKeyFeeParams, ¶ms) - return params -} diff --git a/x/resource/keeper/query_server_collection_resources.go b/x/resource/keeper/query_server_collection_resources.go index b8773478b..c7e5ea050 100644 --- a/x/resource/keeper/query_server_collection_resources.go +++ b/x/resource/keeper/query_server_collection_resources.go @@ -6,29 +6,37 @@ import ( didtypes "github.com/cheqd/cheqd-node/x/did/types" didutils "github.com/cheqd/cheqd-node/x/did/utils" "github.com/cheqd/cheqd-node/x/resource/types" - sdk "github.com/cosmos/cosmos-sdk/types" "google.golang.org/grpc/codes" "google.golang.org/grpc/status" ) -func (q queryServer) CollectionResources(c context.Context, req *types.QueryCollectionResourcesRequest) (*types.QueryCollectionResourcesResponse, error) { +func (q queryServer) CollectionResources(ctx context.Context, req *types.QueryCollectionResourcesRequest) (*types.QueryCollectionResourcesResponse, error) { if req == nil { return nil, status.Error(codes.InvalidArgument, "invalid request") } - ctx := sdk.UnwrapSDKContext(c) + // ctx := sdk.UnwrapSDKContext(c) req.Normalize() // Validate corresponding DIDDoc exists - namespace := q.didKeeper.GetDidNamespace(&ctx) + namespace, err := q.didKeeper.GetDidNamespace(&ctx) + if err != nil { + return nil, err + } did := didutils.JoinDID(didtypes.DidMethod, namespace, req.CollectionId) - if !q.didKeeper.HasDidDoc(&ctx, did) { + hasDidDoc, err := q.didKeeper.HasDidDoc(&ctx, did) + if err != nil { + return nil, err + } + if !hasDidDoc { return nil, didtypes.ErrDidDocNotFound.Wrap(did) } - // Get all resources - resources := q.GetResourceCollection(&ctx, req.CollectionId) + resources, err := q.GetResourceCollection(&ctx, req.CollectionId) + if err != nil { + return nil, types.ErrResourceNotAvail.Wrap(err.Error()) + } return &types.QueryCollectionResourcesResponse{ Resources: resources, diff --git a/x/resource/keeper/query_server_resource.go b/x/resource/keeper/query_server_resource.go index d85348418..771032c0d 100644 --- a/x/resource/keeper/query_server_resource.go +++ b/x/resource/keeper/query_server_resource.go @@ -5,7 +5,6 @@ import ( didtypes "github.com/cheqd/cheqd-node/x/did/types" didutils "github.com/cheqd/cheqd-node/x/did/utils" - sdk "github.com/cosmos/cosmos-sdk/types" "google.golang.org/grpc/codes" "google.golang.org/grpc/status" @@ -19,16 +18,23 @@ func (q queryServer) Resource(c context.Context, req *types.QueryResourceRequest req.Normalize() - ctx := sdk.UnwrapSDKContext(c) + // ctx := sdk.UnwrapSDKContext(c) // Validate corresponding DIDDoc exists - namespace := q.didKeeper.GetDidNamespace(&ctx) + namespace, err := q.didKeeper.GetDidNamespace(&c) + if err != nil { + return nil, err + } did := didutils.JoinDID(didtypes.DidMethod, namespace, req.CollectionId) - if !q.didKeeper.HasDidDoc(&ctx, did) { + hasDidDoc, err := q.didKeeper.HasDidDoc(&c, did) + if err != nil { + return nil, err + } + if !hasDidDoc { return nil, didtypes.ErrDidDocNotFound.Wrap(did) } - resource, err := q.GetResource(&ctx, req.CollectionId, req.Id) + resource, err := q.GetResource(c, req.CollectionId, req.Id) if err != nil { return nil, err } diff --git a/x/resource/keeper/query_server_resource_metadata.go b/x/resource/keeper/query_server_resource_metadata.go index 047530dc1..a6132d231 100644 --- a/x/resource/keeper/query_server_resource_metadata.go +++ b/x/resource/keeper/query_server_resource_metadata.go @@ -5,7 +5,6 @@ import ( didtypes "github.com/cheqd/cheqd-node/x/did/types" didutils "github.com/cheqd/cheqd-node/x/did/utils" - sdk "github.com/cosmos/cosmos-sdk/types" "google.golang.org/grpc/codes" "google.golang.org/grpc/status" @@ -19,16 +18,23 @@ func (q queryServer) ResourceMetadata(c context.Context, req *types.QueryResourc req.Normalize() - ctx := sdk.UnwrapSDKContext(c) + // ctx := sdk.UnwrapSDKContext(c) // Validate corresponding DIDDoc exists - namespace := q.didKeeper.GetDidNamespace(&ctx) + namespace, err := q.didKeeper.GetDidNamespace(&c) + if err != nil { + return nil, err + } did := didutils.JoinDID(didtypes.DidMethod, namespace, req.CollectionId) - if !q.didKeeper.HasDidDoc(&ctx, did) { + hasDidDoc, err := q.didKeeper.HasDidDoc(&c, did) + if err != nil { + return nil, err + } + if !hasDidDoc { return nil, didtypes.ErrDidDocNotFound.Wrap(did) } - metadata, err := q.GetResourceMetadata(&ctx, req.CollectionId, req.Id) + metadata, err := q.GetResourceMetadata(&c, req.CollectionId, req.Id) if err != nil { return nil, err } diff --git a/x/resource/migration/v3/migration.go b/x/resource/migration/v3/migration.go index 1bc258a69..b764e7e00 100644 --- a/x/resource/migration/v3/migration.go +++ b/x/resource/migration/v3/migration.go @@ -15,8 +15,11 @@ func NewMigrator(k keeper.Keeper) Migrator { } func (m Migrator) Migrate2to3(ctx sdk.Context) error { - m.k.SetPort(ctx, types.ResourcePortID) - err := m.k.BindPort(ctx, types.ResourcePortID) + err := m.k.SetPort(ctx, types.ResourcePortID) + if err != nil { + return err + } + err = m.k.BindPort(ctx, types.ResourcePortID) if err != nil { return err } diff --git a/x/resource/migration/v4/migration.go b/x/resource/migration/v4/migration.go new file mode 100644 index 000000000..9a473f8cd --- /dev/null +++ b/x/resource/migration/v4/migration.go @@ -0,0 +1,33 @@ +package v5 + +import ( + "cosmossdk.io/core/store" + + "github.com/cheqd/cheqd-node/x/resource/exported" + "github.com/cheqd/cheqd-node/x/resource/types" + "github.com/cosmos/cosmos-sdk/codec" + sdk "github.com/cosmos/cosmos-sdk/types" +) + +const ( + ModuleName = "resource" +) + +var ParamsKey = []byte("feeparams") + +func MigrateStore(ctx sdk.Context, storeService store.KVStoreService, legacySubspace exported.Subspace, cdc codec.BinaryCodec) error { + store := storeService.OpenKVStore(ctx) + var currParams types.FeeParams + legacySubspace.GetParamSet(ctx, &currParams) + + if err := currParams.ValidateBasic(); err != nil { + return err + } + + bz, err := cdc.Marshal(&currParams) + if err != nil { + return err + } + + return store.Set(ParamsKey, bz) +} diff --git a/x/resource/module.go b/x/resource/module.go index 2af3b6fba..e0d5e5b74 100644 --- a/x/resource/module.go +++ b/x/resource/module.go @@ -10,6 +10,7 @@ import ( didkeeper "github.com/cheqd/cheqd-node/x/did/keeper" "github.com/cheqd/cheqd-node/x/resource/client/cli" + "github.com/cheqd/cheqd-node/x/resource/exported" migrationV3 "github.com/cheqd/cheqd-node/x/resource/migration/v3" "github.com/cheqd/cheqd-node/x/resource/types" gwruntime "github.com/grpc-ecosystem/grpc-gateway/runtime" @@ -27,14 +28,18 @@ import ( porttypes "github.com/cosmos/ibc-go/v8/modules/core/05-port/types" ) -const ConsensusVersion = 3 +const ConsensusVersion = 4 var ( - _ module.BeginBlockAppModule = AppModule{} - _ module.EndBlockAppModule = AppModule{} - _ module.AppModuleBasic = AppModuleBasic{} - _ porttypes.IBCModule = IBCModule{} - _ appmodule.AppModule = AppModule{} + // _ module.BeginBlockAppModule = AppModule{} + // _ module.EndBlockAppModule = AppModule{} + _ module.AppModuleBasic = AppModuleBasic{} + _ porttypes.IBCModule = IBCModule{} + _ appmodule.AppModule = AppModule{} + _ appmodule.HasBeginBlocker = AppModule{} + _ appmodule.HasEndBlocker = AppModule{} + _ module.HasServices = AppModule{} + _ module.HasABCIGenesis = AppModule{} ) // IsOnePerModuleType implements the depinject.OnePerModuleType interface. @@ -112,6 +117,8 @@ type AppModule struct { keeper keeper.Keeper didKeeper didkeeper.Keeper + // legacySubspace is used solely for migration of x/params managed parameters + legacySubspace exported.Subspace } func NewAppModule(cdc codec.Codec, keeper keeper.Keeper, cheqdKeeper didkeeper.Keeper) AppModule { @@ -119,6 +126,7 @@ func NewAppModule(cdc codec.Codec, keeper keeper.Keeper, cheqdKeeper didkeeper.K AppModuleBasic: NewAppModuleBasic(cdc), keeper: keeper, didKeeper: cheqdKeeper, + // legacySubspace: subspace, } } @@ -145,6 +153,10 @@ func (am AppModule) RegisterServices(cfg module.Configurator) { if err := cfg.RegisterMigration(types.ModuleName, 2, migratorV3.Migrate2to3); err != nil { panic(err) } + m := keeper.NewMigrator(am.keeper, am.legacySubspace) + if err := cfg.RegisterMigration(types.ModuleName, 4, m.Migrate3to4); err != nil { + panic(fmt.Sprintf("failed to migrate x/resource from version 4 to 5: %v", err)) + } } // RegisterInvariants registers the resource module's invariants. @@ -167,10 +179,12 @@ func (am AppModule) ExportGenesis(ctx sdk.Context, cdc codec.JSONCodec) json.Raw } // BeginBlock executes all ABCI BeginBlock logic respective to the resource module. -func (am AppModule) BeginBlock(_ sdk.Context, _ abci.RequestBeginBlock) {} +func (am AppModule) BeginBlock(_ context.Context) error { + return nil +} // EndBlock executes all ABCI EndBlock logic respective to the resource module. It // returns no validator updates. -func (am AppModule) EndBlock(_ sdk.Context, _ abci.RequestEndBlock) []abci.ValidatorUpdate { - return []abci.ValidatorUpdate{} +func (am AppModule) EndBlock(_ context.Context) error { + return nil } diff --git a/x/resource/tests/setup/setup.go b/x/resource/tests/setup/setup.go index 3e9f5b84d..5ce5e70a4 100644 --- a/x/resource/tests/setup/setup.go +++ b/x/resource/tests/setup/setup.go @@ -10,17 +10,22 @@ import ( didtypes "github.com/cheqd/cheqd-node/x/did/types" "github.com/cheqd/cheqd-node/x/resource/types" codectypes "github.com/cosmos/cosmos-sdk/codec/types" + "github.com/cosmos/cosmos-sdk/runtime" - "cosmossdk.io/store" - dbm "github.com/cometbft/cometbft-db" - "github.com/cometbft/cometbft/libs/log" + "cosmossdk.io/log" tmproto "github.com/cometbft/cometbft/proto/tendermint/types" + dbm "github.com/cosmos/cosmos-db" "github.com/cosmos/cosmos-sdk/codec" - storetypes "cosmossdk.io/store/types" + "cosmossdk.io/store/metrics" "github.com/cheqd/cheqd-node/x/resource" "github.com/cheqd/cheqd-node/x/resource/keeper" + + // sdk "github.com/cosmos/cosmos-sdk/types" + "cosmossdk.io/store" + storetypes "cosmossdk.io/store/types" sdk "github.com/cosmos/cosmos-sdk/types" + authcodec "github.com/cosmos/cosmos-sdk/x/auth/codec" authkeeper "github.com/cosmos/cosmos-sdk/x/auth/keeper" authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" bankkeeper "github.com/cosmos/cosmos-sdk/x/bank/keeper" @@ -44,6 +49,7 @@ type TestSetup struct { ResourceMsgServer types.MsgServer ResourceQueryServer types.QueryServer IBCModule resource.IBCModule + // storeService store.KVStoreService } func Setup() TestSetup { @@ -58,12 +64,14 @@ func Setup() TestSetup { cdc := codec.NewProtoCodec(ir) aminoCdc := codec.NewLegacyAmino() + authority := authtypes.NewModuleAddress(govtypes.ModuleName).String() + // Init KVStore db := dbm.NewMemDB() - dbStore := store.NewCommitMultiStore(db) + dbStore := store.NewCommitMultiStore(db, log.NewNopLogger(), metrics.NewNoOpMetrics()) - keys := sdk.NewKVStoreKeys( + keys := storetypes.NewKVStoreKeys( capabilitytypes.StoreKey, authtypes.StoreKey, banktypes.StoreKey, @@ -77,7 +85,7 @@ func Setup() TestSetup { stakingtypes.NotBondedPoolName: {authtypes.Burner, authtypes.Staking}, } // Mount did store - didStoreKey := sdk.NewKVStoreKey(didtypes.StoreKey) + didStoreKey := storetypes.NewKVStoreKey(didtypes.StoreKey) dbStore.MountStoreWithDB(didStoreKey, storetypes.StoreTypeIAVL, nil) dbStore.MountStoreWithDB(keys[authtypes.StoreKey], storetypes.StoreTypeIAVL, nil) @@ -85,51 +93,61 @@ func Setup() TestSetup { dbStore.MountStoreWithDB(keys[stakingtypes.StoreKey], storetypes.StoreTypeIAVL, nil) // Mount resource store - resourceStoreKey := sdk.NewKVStoreKey(types.StoreKey) + resourceStoreKey := storetypes.NewKVStoreKey(types.StoreKey) dbStore.MountStoreWithDB(resourceStoreKey, storetypes.StoreTypeIAVL, nil) // Mount capability store - required for ibc port tests - capabilityStoreKey := sdk.NewKVStoreKey(capabilitytypes.StoreKey) + capabilityStoreKey := storetypes.NewKVStoreKey(capabilitytypes.StoreKey) dbStore.MountStoreWithDB(capabilityStoreKey, storetypes.StoreTypeIAVL, nil) - memStoreKeys := sdk.NewMemoryStoreKeys(capabilitytypes.MemStoreKey) + memStoreKeys := storetypes.NewMemoryStoreKeys(capabilitytypes.MemStoreKey) dbStore.MountStoreWithDB(memStoreKeys[capabilitytypes.MemStoreKey], storetypes.StoreTypeMemory, nil) // Mount param store - required for ibc port tests with default genesis - paramsStoreKey := sdk.NewKVStoreKey(paramstypes.StoreKey) + paramsStoreKey := storetypes.NewKVStoreKey(paramstypes.StoreKey) dbStore.MountStoreWithDB(paramsStoreKey, storetypes.StoreTypeIAVL, nil) - paramsTStoreKey := sdk.NewTransientStoreKey(paramstypes.TStoreKey) + paramsTStoreKey := storetypes.NewTransientStoreKey(paramstypes.TStoreKey) dbStore.MountStoreWithDB(paramsTStoreKey, storetypes.StoreTypeTransient, nil) _ = dbStore.LoadLatestVersion() accountKeeper := authkeeper.NewAccountKeeper( cdc, - keys[authtypes.StoreKey], + runtime.NewKVStoreService(keys[authtypes.StoreKey]), authtypes.ProtoBaseAccount, maccPerms, - app.AccountAddressPrefix, + authcodec.NewBech32Codec(app.AccountAddressPrefix), authtypes.NewModuleAddress(govtypes.ModuleName).String(), + authority, ) bankKeeper := bankkeeper.NewBaseKeeper( cdc, - keys[banktypes.StoreKey], + runtime.NewKVStoreService(keys[banktypes.StoreKey]), accountKeeper, nil, authtypes.NewModuleAddress(govtypes.ModuleName).String(), + log.NewNopLogger(), ) - stakingKeeper := stakingkeeper.NewKeeper(cdc, keys[stakingtypes.StoreKey], accountKeeper, bankKeeper, authtypes.NewModuleAddress(govtypes.ModuleName).String()) + stakingKeeper := stakingkeeper.NewKeeper(cdc, runtime.NewKVStoreService(keys[stakingtypes.StoreKey]), + accountKeeper, + bankKeeper, + authtypes.NewModuleAddress(govtypes.ModuleName).String(), + authcodec.NewBech32Codec(app.AccountAddressPrefix), + authcodec.NewBech32Codec(app.ConsNodeAddressPrefix)) paramsKeeper := initParamsKeeper(cdc, aminoCdc, paramsStoreKey, paramsTStoreKey) - didKeeper := didkeeper.NewKeeper(cdc, didStoreKey, getSubspace(didtypes.ModuleName, paramsKeeper), accountKeeper, bankKeeper, stakingKeeper, authtypes.NewModuleAddress(govtypes.ModuleName).String()) + didKeeper := didkeeper.NewKeeper(cdc, runtime.NewKVStoreService(didStoreKey), getSubspace(didtypes.ModuleName, paramsKeeper), accountKeeper, bankKeeper, stakingKeeper, authtypes.NewModuleAddress(govtypes.ModuleName).String()) capabilityKeeper := capabilitykeeper.NewKeeper(cdc, capabilityStoreKey, memStoreKeys[capabilitytypes.MemStoreKey]) scopedIBCKeeper := capabilityKeeper.ScopeToModule(ibcexported.ModuleName) portKeeper := portkeeper.NewKeeper(scopedIBCKeeper) scopedResourceKeeper := capabilityKeeper.ScopeToModule(types.ModuleName) - resourceKeeper := keeper.NewKeeper(cdc, resourceStoreKey, getSubspace(types.ModuleName, paramsKeeper), &portKeeper, scopedResourceKeeper) + resourceKeeper := keeper.NewKeeper(cdc, runtime.NewKVStoreService(keys[types.StoreKey]), + getSubspace(types.ModuleName, paramsKeeper), + &portKeeper, + scopedResourceKeeper, authority) ibcModule := resource.NewIBCModule(*resourceKeeper) @@ -173,8 +191,11 @@ func Setup() TestSetup { ResourceQueryServer: queryServer, IBCModule: ibcModule, } - - setup.Keeper.SetDidNamespace(&ctx, didsetup.DidNamespace) + goCtx := sdk.WrapSDKContext(ctx) + err = setup.Keeper.SetDidNamespace(&goCtx, didsetup.DidNamespace) + if err != nil { + panic(err) + } return setup } diff --git a/x/resource/types/codec.go b/x/resource/types/codec.go index 766f753cd..80f29eb2f 100644 --- a/x/resource/types/codec.go +++ b/x/resource/types/codec.go @@ -10,18 +10,15 @@ import ( func RegisterCodec(cdc *codec.LegacyAmino) { // Sdk messages cdc.RegisterConcrete(&MsgCreateResource{}, "resource/CreateResource", nil) + cdc.RegisterConcrete(&MsgUpdateParams{}, "resource/MsgUpdateParams", nil) } func RegisterInterfaces(registry cdctypes.InterfaceRegistry) { // Sdk messages registry.RegisterImplementations((*sdk.Msg)(nil), &MsgCreateResource{}, + &MsgUpdateParams{}, ) msgservice.RegisterMsgServiceDesc(registry, &_Msg_serviceDesc) } - -var ( - amino = codec.NewLegacyAmino() - ModuleCdc = codec.NewAminoCodec(amino) -) diff --git a/x/resource/types/custom_signer.go b/x/resource/types/custom_signer.go new file mode 100644 index 000000000..7ba25d2b8 --- /dev/null +++ b/x/resource/types/custom_signer.go @@ -0,0 +1,22 @@ +package types + +import ( + fmt "fmt" + + "cosmossdk.io/x/tx/signing" + resourcev2 "github.com/cheqd/cheqd-node/api/v2/cheqd/resource/v2" + protov2 "google.golang.org/protobuf/proto" +) + +func CreateGetSigners(options *signing.Options) func(msg protov2.Message) ([][]byte, error) { + return func(msg protov2.Message) ([][]byte, error) { + switch msg := msg.(type) { + + case *resourcev2.MsgCreateResource: + return [][]byte{}, nil + + default: + return nil, fmt.Errorf("unsupported message type: %T", msg) + } + } +} diff --git a/x/resource/types/expected_keepers.go b/x/resource/types/expected_keepers.go index f86da01d1..8bcef8321 100644 --- a/x/resource/types/expected_keepers.go +++ b/x/resource/types/expected_keepers.go @@ -1,6 +1,8 @@ package types import ( + context "context" + sdk "github.com/cosmos/cosmos-sdk/types" capabilitytypes "github.com/cosmos/ibc-go/modules/capability/types" connectiontypes "github.com/cosmos/ibc-go/v8/modules/core/03-connection/types" @@ -15,7 +17,7 @@ type ParamSubspace interface { // ConnectionKeeper defines the expected IBC connection keeper type ConnectionKeeper interface { - GetConnection(ctx sdk.Context, connectionID string) (connection connectiontypes.ConnectionEnd, found bool) + GetConnection(ctx context.Context, connectionID string) (connection connectiontypes.ConnectionEnd, found bool) } // PortKeeper defines the expected IBC port keeper @@ -25,6 +27,6 @@ type PortKeeper interface { // ChannelKeeper defines the expected IBC channel keeper type ChannelKeeper interface { - GetChannel(ctx sdk.Context, srcPort, srcChan string) (channel channeltypes.Channel, found bool) - GetNextSequenceSend(ctx sdk.Context, portID, channelID string) (uint64, bool) + GetChannel(ctx context.Context, srcPort, srcChan string) (channel channeltypes.Channel, found bool) + GetNextSequenceSend(ctx context.Context, portID, channelID string) (uint64, bool) } diff --git a/x/resource/types/fee.pb.go b/x/resource/types/fee.pb.go index 1fcda3878..369d0335b 100644 --- a/x/resource/types/fee.pb.go +++ b/x/resource/types/fee.pb.go @@ -4,10 +4,11 @@ package types import ( + cosmossdk_io_math "cosmossdk.io/math" fmt "fmt" _ "github.com/cosmos/cosmos-proto" - github_com_cosmos_cosmos_sdk_types "github.com/cosmos/cosmos-sdk/types" types "github.com/cosmos/cosmos-sdk/types" + _ "github.com/cosmos/cosmos-sdk/types/tx/amino" _ "github.com/cosmos/gogoproto/gogoproto" proto "github.com/cosmos/gogoproto/proto" io "io" @@ -44,7 +45,7 @@ type FeeParams struct { // Percentage of the fixed fee that will be burned // // Default: 0.5 (50%) - BurnFactor github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,4,opt,name=burn_factor,json=burnFactor,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"burn_factor"` + BurnFactor cosmossdk_io_math.LegacyDec `protobuf:"bytes,4,opt,name=burn_factor,json=burnFactor,proto3,customtype=cosmossdk.io/math.LegacyDec" json:"burn_factor"` } func (m *FeeParams) Reset() { *m = FeeParams{} } @@ -108,28 +109,29 @@ func init() { func init() { proto.RegisterFile("cheqd/resource/v2/fee.proto", fileDescriptor_133abe56c2e24f1e) } var fileDescriptor_133abe56c2e24f1e = []byte{ - // 329 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0x4e, 0xce, 0x48, 0x2d, - 0x4c, 0xd1, 0x2f, 0x4a, 0x2d, 0xce, 0x2f, 0x2d, 0x4a, 0x4e, 0xd5, 0x2f, 0x33, 0xd2, 0x4f, 0x4b, - 0x4d, 0xd5, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0x12, 0x04, 0x4b, 0xea, 0xc1, 0x24, 0xf5, 0xca, - 0x8c, 0xa4, 0xe4, 0x92, 0xf3, 0x8b, 0x73, 0xf3, 0x8b, 0xf5, 0x93, 0x12, 0x8b, 0x53, 0xf5, 0xcb, - 0x0c, 0x93, 0x52, 0x4b, 0x12, 0x0d, 0xf5, 0x93, 0xf3, 0x33, 0xf3, 0x20, 0x5a, 0xa4, 0x24, 0x21, - 0xf2, 0xf1, 0x60, 0x9e, 0x3e, 0x84, 0x03, 0x95, 0x12, 0x49, 0xcf, 0x4f, 0xcf, 0x87, 0x88, 0x83, - 0x58, 0x10, 0x51, 0xa5, 0x89, 0x4c, 0x5c, 0x9c, 0x6e, 0xa9, 0xa9, 0x01, 0x89, 0x45, 0x89, 0xb9, - 0xc5, 0x42, 0xa6, 0x5c, 0xac, 0x99, 0xb9, 0x89, 0xe9, 0xa9, 0x12, 0x8c, 0x0a, 0x8c, 0x1a, 0xdc, - 0x46, 0x92, 0x7a, 0x50, 0x13, 0x40, 0xd6, 0xe9, 0x41, 0xad, 0xd3, 0x73, 0xce, 0xcf, 0xcc, 0x73, - 0x62, 0x39, 0x71, 0x4f, 0x9e, 0x21, 0x08, 0xa2, 0x5a, 0xc8, 0x98, 0x8b, 0x25, 0xab, 0x38, 0x3f, - 0x4f, 0x82, 0x89, 0x38, 0x5d, 0x60, 0xc5, 0x42, 0x96, 0x5c, 0xec, 0x29, 0xa9, 0x69, 0x89, 0xa5, - 0x39, 0x25, 0x12, 0xcc, 0xc4, 0xe9, 0x83, 0xa9, 0x17, 0x8a, 0xe5, 0xe2, 0x4e, 0x2a, 0x2d, 0xca, - 0x8b, 0x4f, 0x4b, 0x4c, 0x2e, 0xc9, 0x2f, 0x92, 0x60, 0x51, 0x60, 0xd4, 0xe0, 0x74, 0xb2, 0x01, - 0xa9, 0xb9, 0x75, 0x4f, 0x5e, 0x2d, 0x3d, 0xb3, 0x24, 0xa3, 0x34, 0x49, 0x2f, 0x39, 0x3f, 0x17, - 0x1a, 0x00, 0x50, 0x4a, 0xb7, 0x38, 0x25, 0x5b, 0xbf, 0xa4, 0xb2, 0x20, 0xb5, 0x58, 0xcf, 0x25, - 0x35, 0xf9, 0xd2, 0x16, 0x5d, 0x2e, 0xa8, 0x7d, 0x2e, 0xa9, 0xc9, 0x41, 0x5c, 0x20, 0x03, 0xdd, - 0xc0, 0xe6, 0x39, 0x79, 0xad, 0x78, 0x24, 0xc7, 0x78, 0xe2, 0x91, 0x1c, 0xe3, 0x85, 0x47, 0x72, - 0x8c, 0x0f, 0x1e, 0xc9, 0x31, 0x4e, 0x78, 0x2c, 0xc7, 0x70, 0xe1, 0xb1, 0x1c, 0xc3, 0x8d, 0xc7, - 0x72, 0x0c, 0x51, 0x3a, 0xc8, 0xe6, 0x83, 0x63, 0x0f, 0x4c, 0xea, 0xe6, 0xe5, 0xa7, 0xa4, 0xea, - 0x57, 0x20, 0xa2, 0x12, 0x6c, 0x53, 0x12, 0x1b, 0x38, 0x98, 0x8d, 0x01, 0x01, 0x00, 0x00, 0xff, - 0xff, 0x7e, 0x2c, 0x51, 0xb6, 0xe9, 0x01, 0x00, 0x00, + // 346 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x51, 0xbf, 0x4f, 0xfa, 0x40, + 0x14, 0xef, 0xf1, 0xe5, 0xab, 0xe1, 0x98, 0x68, 0x1c, 0x0a, 0x24, 0x07, 0x71, 0x22, 0x46, 0xee, + 0x02, 0x44, 0x13, 0x57, 0x24, 0x0c, 0xc6, 0xc1, 0xb0, 0x98, 0xb8, 0x90, 0xeb, 0xf5, 0x51, 0xaa, + 0xb6, 0x87, 0xbd, 0x96, 0xc8, 0xdf, 0xe0, 0xe2, 0x9f, 0xc1, 0xe8, 0xe0, 0x1f, 0xc1, 0x48, 0x9c, + 0x8c, 0x03, 0x31, 0x65, 0xf0, 0xdf, 0x30, 0xed, 0x95, 0xb8, 0xb2, 0xbc, 0xdc, 0xfb, 0xfc, 0xba, + 0x97, 0xf7, 0x70, 0x5d, 0x4c, 0xe1, 0xc9, 0x61, 0x21, 0x28, 0x19, 0x87, 0x02, 0xd8, 0xbc, 0xcb, + 0x26, 0x00, 0x74, 0x16, 0xca, 0x48, 0x9a, 0x95, 0x8c, 0xa4, 0x3b, 0x92, 0xce, 0xbb, 0x35, 0x22, + 0xa4, 0xf2, 0xa5, 0x62, 0x36, 0x57, 0xc0, 0xe6, 0x1d, 0x1b, 0x22, 0xde, 0x61, 0x42, 0x7a, 0x81, + 0xb6, 0xd4, 0xaa, 0x9a, 0x1f, 0x67, 0x1d, 0xd3, 0x4d, 0x4e, 0x1d, 0xb9, 0xd2, 0x95, 0x1a, 0x4f, + 0x5f, 0x39, 0x5a, 0xe1, 0xbe, 0x17, 0x48, 0x96, 0x55, 0x0d, 0x1d, 0xbf, 0x14, 0x70, 0x69, 0x08, + 0x70, 0xc3, 0x43, 0xee, 0x2b, 0xf3, 0x0c, 0xff, 0xf7, 0x7c, 0xee, 0x82, 0x85, 0x9a, 0xa8, 0x55, + 0xee, 0x56, 0x69, 0x1e, 0x9a, 0x4e, 0x40, 0xf3, 0x09, 0xe8, 0xa5, 0xf4, 0x82, 0x7e, 0x71, 0xb5, + 0x69, 0x18, 0x23, 0xad, 0x36, 0x7b, 0xb8, 0x78, 0xaf, 0x64, 0x60, 0x15, 0xf6, 0x73, 0x65, 0x62, + 0xf3, 0x02, 0x1f, 0x3a, 0x30, 0xe1, 0xf1, 0x63, 0x64, 0xfd, 0xdb, 0xcf, 0xb7, 0xd3, 0x9b, 0xb7, + 0xb8, 0x6c, 0xc7, 0x61, 0x30, 0x9e, 0x70, 0x11, 0xc9, 0xd0, 0x2a, 0x36, 0x51, 0xab, 0xd4, 0x3f, + 0x4f, 0x35, 0x5f, 0x9b, 0x46, 0x5d, 0xa7, 0x28, 0xe7, 0x81, 0x7a, 0x92, 0xf9, 0x3c, 0x9a, 0xd2, + 0x6b, 0x70, 0xb9, 0x58, 0x0c, 0x40, 0x7c, 0xbc, 0xb7, 0x71, 0xfe, 0xc9, 0x00, 0xc4, 0xf2, 0xe7, + 0xed, 0x04, 0x8d, 0x70, 0x1a, 0x35, 0xcc, 0x92, 0xfa, 0x57, 0xcb, 0x84, 0xa0, 0x55, 0x42, 0xd0, + 0x3a, 0x21, 0xe8, 0x3b, 0x21, 0xe8, 0x75, 0x4b, 0x8c, 0xf5, 0x96, 0x18, 0x9f, 0x5b, 0x62, 0xdc, + 0x9d, 0xba, 0x5e, 0x34, 0x8d, 0x6d, 0x2a, 0xa4, 0xcf, 0xf4, 0x29, 0xb3, 0xda, 0x0e, 0xa4, 0x03, + 0xec, 0xf9, 0xef, 0xae, 0xd1, 0x62, 0x06, 0xca, 0x3e, 0xc8, 0x16, 0xdc, 0xfb, 0x0d, 0x00, 0x00, + 0xff, 0xff, 0x50, 0x99, 0xc5, 0xa5, 0xf6, 0x01, 0x00, 0x00, } func (this *FeeParams) Equal(that interface{}) bool { diff --git a/x/resource/types/keys.go b/x/resource/types/keys.go index a47a3c740..41b87c409 100644 --- a/x/resource/types/keys.go +++ b/x/resource/types/keys.go @@ -23,18 +23,3 @@ const ( ResourceCountKey = "resource-count:" ResourcePortIDKey = "resource-port-id:" ) - -// GetResourceDataKey returns the byte representation of resource key -func GetResourceDataKey(collectionID string, id string) []byte { - return []byte(ResourceDataKey + collectionID + ":" + id) -} - -// GetResourceMetadataKey returns the byte representation of resource key -func GetResourceMetadataKey(collectionID string, id string) []byte { - return []byte(ResourceMetadataKey + collectionID + ":" + id) -} - -// GetResourceMetadataCollectionPrefix used to iterate over all resource metadatas in a collection -func GetResourceMetadataCollectionPrefix(collectionID string) []byte { - return []byte(ResourceMetadataKey + collectionID + ":") -} diff --git a/x/resource/types/params.go b/x/resource/types/params.go index b8ed1251a..e4f8a2fa5 100644 --- a/x/resource/types/params.go +++ b/x/resource/types/params.go @@ -3,6 +3,7 @@ package types import ( "fmt" + sdkmath "cosmossdk.io/math" sdk "github.com/cosmos/cosmos-sdk/types" paramstypes "github.com/cosmos/cosmos-sdk/x/params/types" ) @@ -16,13 +17,32 @@ func ParamKeyTable() paramstypes.KeyTable { ) } +// Default parameter values +// const ( +// DefaultCreateResourceImageFee = 100000 // Example value +// DefaultCreateResourceJSONFee = 75000 // Example value +// DefaultCreateResourceDefaultFee = 50000 // Example value +// DefaultBurnFactor = "0.5" // Example value +// BaseMinimalDenom = "ncheq" // Example value +// ) + +// NewParams creates a new FeeParams object with specified parameters +func NewParams(image, json, defaultFee sdk.Coin, burnFactor sdkmath.LegacyDec) FeeParams { + return FeeParams{ + Image: image, + Json: json, + Default: defaultFee, + BurnFactor: burnFactor, + } +} + // DefaultFeeParams returns default cheqd module tx fee parameters func DefaultFeeParams() *FeeParams { return &FeeParams{ - Image: sdk.NewCoin(BaseMinimalDenom, sdk.NewInt(DefaultCreateResourceImageFee)), - Json: sdk.NewCoin(BaseMinimalDenom, sdk.NewInt(DefaultCreateResourceJSONFee)), - Default: sdk.NewCoin(BaseMinimalDenom, sdk.NewInt(DefaultCreateResourceDefaultFee)), - BurnFactor: sdk.MustNewDecFromStr(DefaultBurnFactor), + Image: sdk.NewCoin(BaseMinimalDenom, sdkmath.NewInt(DefaultCreateResourceImageFee)), + Json: sdk.NewCoin(BaseMinimalDenom, sdkmath.NewInt(DefaultCreateResourceJSONFee)), + Default: sdk.NewCoin(BaseMinimalDenom, sdkmath.NewInt(DefaultCreateResourceDefaultFee)), + BurnFactor: sdkmath.LegacyMustNewDecFromStr(DefaultBurnFactor), } } @@ -40,7 +60,7 @@ func (tfp *FeeParams) ValidateBasic() error { return fmt.Errorf("invalid create resource default tx fee: %s", tfp.Json) } - if !tfp.BurnFactor.IsPositive() || tfp.BurnFactor.GTE(sdk.OneDec()) { + if !tfp.BurnFactor.IsPositive() || tfp.BurnFactor.GTE(sdkmath.LegacyOneDec()) { return fmt.Errorf("invalid burn factor: %s", tfp.BurnFactor) } @@ -99,7 +119,7 @@ func validateDefault(i interface{}) error { } func validateBurnFactor(i interface{}) error { - v, ok := i.(sdk.Dec) + v, ok := i.(sdkmath.LegacyDec) if !ok { return fmt.Errorf("invalid parameter type: %T", i) } @@ -112,7 +132,7 @@ func validateBurnFactor(i interface{}) error { return fmt.Errorf("burn factor must not be negative: %s", v) } - if v.GTE(sdk.OneDec()) { + if v.GTE(sdkmath.LegacyOneDec()) { return fmt.Errorf("burn factor must be less than 1: %s", v) } diff --git a/x/resource/types/params_legacy.go b/x/resource/types/params_legacy.go new file mode 100644 index 000000000..cc5760c85 --- /dev/null +++ b/x/resource/types/params_legacy.go @@ -0,0 +1,22 @@ +package types + +import ( + paramtypes "github.com/cosmos/cosmos-sdk/x/params/types" +) + +var ( + KeyResourceImageFee = []byte("KeyResourceImageFee") + KeyCreateResourceJSONFee = []byte("KeyCreateResourceJSONFee") + KeyCreateResourceKeyFee = []byte("KeyCreateResourceKeyFee") + KeyBurnFactor = []byte("KeyBurnFactor") +) + +// NewParams creates a new FeeParams object with specified parameters +func (tfp *FeeParams) ParamSetPairs() paramtypes.ParamSetPairs { + return paramtypes.ParamSetPairs{ + paramtypes.NewParamSetPair(KeyResourceImageFee, tfp.Image, validateImage), + paramtypes.NewParamSetPair(KeyCreateResourceJSONFee, tfp.Json, validateJSON), + paramtypes.NewParamSetPair(KeyCreateResourceKeyFee, tfp.Default, validateDefault), + paramtypes.NewParamSetPair(KeyBurnFactor, tfp.BurnFactor, validateBurnFactor), + } +} diff --git a/x/resource/types/tx.pb.go b/x/resource/types/tx.pb.go index 8b38edc5e..ef85def65 100644 --- a/x/resource/types/tx.pb.go +++ b/x/resource/types/tx.pb.go @@ -7,6 +7,9 @@ import ( context "context" fmt "fmt" types "github.com/cheqd/cheqd-node/x/did/types" + _ "github.com/cosmos/cosmos-proto" + _ "github.com/cosmos/cosmos-sdk/types/msgservice" + _ "github.com/cosmos/cosmos-sdk/types/tx/amino" _ "github.com/cosmos/gogoproto/gogoproto" grpc1 "github.com/cosmos/gogoproto/grpc" proto "github.com/cosmos/gogoproto/proto" @@ -258,49 +261,156 @@ func (m *MsgCreateResourceResponse) GetResource() *Metadata { return nil } +// MsgUpdateParams is the Msg/UpdateParams request type. +type MsgUpdateParams struct { + // authority is the address of the governance account. + Authority string `protobuf:"bytes,1,opt,name=authority,proto3" json:"authority,omitempty"` + // params defines the x/mint parameters to update. + // + // NOTE: All parameters must be supplied. + Params FeeParams `protobuf:"bytes,2,opt,name=params,proto3" json:"params"` +} + +func (m *MsgUpdateParams) Reset() { *m = MsgUpdateParams{} } +func (m *MsgUpdateParams) String() string { return proto.CompactTextString(m) } +func (*MsgUpdateParams) ProtoMessage() {} +func (*MsgUpdateParams) Descriptor() ([]byte, []int) { + return fileDescriptor_1d13b428c5ed4ca4, []int{3} +} +func (m *MsgUpdateParams) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgUpdateParams) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgUpdateParams.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *MsgUpdateParams) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgUpdateParams.Merge(m, src) +} +func (m *MsgUpdateParams) XXX_Size() int { + return m.Size() +} +func (m *MsgUpdateParams) XXX_DiscardUnknown() { + xxx_messageInfo_MsgUpdateParams.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgUpdateParams proto.InternalMessageInfo + +func (m *MsgUpdateParams) GetAuthority() string { + if m != nil { + return m.Authority + } + return "" +} + +func (m *MsgUpdateParams) GetParams() FeeParams { + if m != nil { + return m.Params + } + return FeeParams{} +} + +// MsgUpdateParamsResponse defines the response structure for executing a +// MsgUpdateParams message. +type MsgUpdateParamsResponse struct { +} + +func (m *MsgUpdateParamsResponse) Reset() { *m = MsgUpdateParamsResponse{} } +func (m *MsgUpdateParamsResponse) String() string { return proto.CompactTextString(m) } +func (*MsgUpdateParamsResponse) ProtoMessage() {} +func (*MsgUpdateParamsResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_1d13b428c5ed4ca4, []int{4} +} +func (m *MsgUpdateParamsResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgUpdateParamsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgUpdateParamsResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *MsgUpdateParamsResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgUpdateParamsResponse.Merge(m, src) +} +func (m *MsgUpdateParamsResponse) XXX_Size() int { + return m.Size() +} +func (m *MsgUpdateParamsResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgUpdateParamsResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgUpdateParamsResponse proto.InternalMessageInfo + func init() { proto.RegisterType((*MsgCreateResource)(nil), "cheqd.resource.v2.MsgCreateResource") proto.RegisterType((*MsgCreateResourcePayload)(nil), "cheqd.resource.v2.MsgCreateResourcePayload") proto.RegisterType((*MsgCreateResourceResponse)(nil), "cheqd.resource.v2.MsgCreateResourceResponse") + proto.RegisterType((*MsgUpdateParams)(nil), "cheqd.resource.v2.MsgUpdateParams") + proto.RegisterType((*MsgUpdateParamsResponse)(nil), "cheqd.resource.v2.MsgUpdateParamsResponse") } func init() { proto.RegisterFile("cheqd/resource/v2/tx.proto", fileDescriptor_1d13b428c5ed4ca4) } var fileDescriptor_1d13b428c5ed4ca4 = []byte{ - // 513 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x93, 0x41, 0x6f, 0xd3, 0x30, - 0x18, 0x86, 0x9b, 0xb6, 0xac, 0xe0, 0xb6, 0x83, 0x59, 0x63, 0x98, 0x22, 0xa5, 0xa5, 0xda, 0xa1, - 0x12, 0x23, 0x11, 0x45, 0x70, 0xe3, 0xb0, 0x4e, 0x20, 0x55, 0x68, 0x08, 0x79, 0xc0, 0x81, 0x4b, - 0xe5, 0xc5, 0x26, 0xb3, 0x9a, 0xda, 0x21, 0x76, 0xcb, 0x7a, 0xe7, 0x07, 0x20, 0x7e, 0xd5, 0x8e, - 0x3b, 0x72, 0xaa, 0x50, 0x7b, 0xeb, 0xaf, 0x40, 0x71, 0xea, 0xd2, 0x91, 0x21, 0xed, 0x12, 0xd9, - 0x79, 0x9f, 0xf7, 0xf5, 0x97, 0x7c, 0x9f, 0x41, 0x23, 0x38, 0x63, 0x5f, 0xa9, 0x9f, 0x30, 0x25, - 0xc7, 0x49, 0xc0, 0xfc, 0x49, 0xd7, 0xd7, 0xe7, 0x5e, 0x9c, 0x48, 0x2d, 0xe1, 0x8e, 0xd1, 0x3c, - 0xab, 0x79, 0x93, 0x6e, 0xe3, 0x7e, 0x86, 0x53, 0x4e, 0x37, 0xc9, 0x46, 0x2b, 0x9f, 0xb2, 0x76, - 0x65, 0xc4, 0x6e, 0x28, 0x43, 0x69, 0x96, 0x7e, 0xba, 0xca, 0xde, 0xb6, 0x7f, 0x3a, 0x60, 0xe7, - 0x58, 0x85, 0x47, 0x09, 0x23, 0x9a, 0xe1, 0x95, 0x03, 0xbe, 0x06, 0x95, 0x98, 0x4c, 0x23, 0x49, - 0x28, 0x72, 0x5a, 0x4e, 0xa7, 0xda, 0x7d, 0xe2, 0xe5, 0x2a, 0xf1, 0x72, 0xb6, 0xf7, 0x99, 0x05, - 0x5b, 0x2f, 0x7c, 0x09, 0x80, 0xe2, 0xa1, 0x20, 0x7a, 0x9c, 0x30, 0x85, 0x8a, 0xad, 0x52, 0xa7, - 0xda, 0xdd, 0x5b, 0x25, 0x51, 0x4e, 0xd3, 0x90, 0x13, 0x1e, 0x8a, 0xbe, 0xf8, 0x22, 0xf1, 0x06, - 0xd9, 0xfe, 0x5e, 0x02, 0xe8, 0x7f, 0xe9, 0x10, 0x82, 0x32, 0x25, 0x9a, 0x98, 0xc2, 0x6a, 0xd8, - 0xac, 0xe1, 0x2b, 0x50, 0x0f, 0x64, 0x14, 0xb1, 0x40, 0x73, 0x29, 0x06, 0x9c, 0xa2, 0x62, 0xcb, - 0xe9, 0xdc, 0xe9, 0xa1, 0xe5, 0xac, 0xb9, 0x6b, 0x4b, 0x3e, 0x5a, 0x03, 0x7d, 0x8a, 0x6b, 0xc1, - 0xc6, 0x0e, 0xba, 0xa0, 0xc8, 0x29, 0x2a, 0x19, 0xcf, 0xf6, 0x72, 0xd6, 0x04, 0xd6, 0xd3, 0xa7, - 0xb8, 0xc8, 0x29, 0xdc, 0x07, 0x65, 0x41, 0x46, 0x0c, 0x95, 0x0d, 0x71, 0x6f, 0x39, 0x6b, 0xd6, - 0x2c, 0xf1, 0x8e, 0x8c, 0x18, 0x36, 0x2a, 0x7c, 0x06, 0x2a, 0x13, 0x96, 0x28, 0x2e, 0x05, 0xba, - 0x65, 0xc0, 0x07, 0x17, 0xb3, 0xa6, 0xb3, 0x9c, 0x35, 0xef, 0x5a, 0xf8, 0x53, 0x26, 0x63, 0xcb, - 0xc1, 0x17, 0xa0, 0x6e, 0xb5, 0x81, 0x9e, 0xc6, 0x0c, 0x6d, 0xe5, 0x4f, 0xf8, 0x30, 0x8d, 0x19, - 0xbe, 0xb2, 0x83, 0x0c, 0xd4, 0x49, 0xa4, 0xe4, 0x60, 0x28, 0xe4, 0x37, 0x31, 0x20, 0x0a, 0x55, - 0xcc, 0xaf, 0x7d, 0x7c, 0x4d, 0x93, 0x0e, 0x23, 0xcd, 0x12, 0x41, 0x34, 0x9f, 0xb0, 0x8f, 0x09, - 0xef, 0xb9, 0xab, 0x92, 0xf6, 0x2c, 0x73, 0x55, 0xc7, 0xd5, 0x34, 0xf7, 0x6d, 0x1a, 0x7b, 0xa8, - 0xda, 0x31, 0x78, 0x98, 0xeb, 0x02, 0x66, 0x2a, 0x96, 0x42, 0x31, 0x78, 0x02, 0x6e, 0xdb, 0x8c, - 0xd5, 0x8c, 0x3c, 0xba, 0x6e, 0x46, 0x98, 0x26, 0x69, 0x87, 0x7a, 0x8d, 0xf4, 0xd0, 0x88, 0x8b, - 0x21, 0xa3, 0x36, 0xca, 0x6a, 0x78, 0x1d, 0xd4, 0x1d, 0x82, 0xd2, 0xb1, 0x0a, 0x21, 0x05, 0xdb, - 0xff, 0x0c, 0xe4, 0xfe, 0x4d, 0xe6, 0xaf, 0x71, 0x70, 0x13, 0xca, 0x7e, 0x41, 0xef, 0xcd, 0xc5, - 0xdc, 0x75, 0x2e, 0xe7, 0xae, 0xf3, 0x7b, 0xee, 0x3a, 0x3f, 0x16, 0x6e, 0xe1, 0x72, 0xe1, 0x16, - 0x7e, 0x2d, 0xdc, 0xc2, 0xe7, 0x83, 0x90, 0xeb, 0xb3, 0xf1, 0xa9, 0x17, 0xc8, 0x91, 0x9f, 0xdd, - 0x2b, 0xf3, 0x7c, 0x2a, 0x24, 0x65, 0xfe, 0xf9, 0xdf, 0x4b, 0x96, 0xb6, 0x4c, 0x9d, 0x6e, 0x99, - 0x9b, 0xf4, 0xfc, 0x4f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xd3, 0x6d, 0x3e, 0x2f, 0xc9, 0x03, 0x00, - 0x00, + // 686 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x54, 0xbf, 0x4f, 0x1b, 0x3f, + 0x14, 0xcf, 0x25, 0x01, 0xbe, 0x38, 0x01, 0xbe, 0x58, 0x14, 0x8e, 0x50, 0x5d, 0xd2, 0x88, 0x81, + 0xa6, 0x90, 0x13, 0xa9, 0xca, 0x80, 0xd4, 0x81, 0xa0, 0x22, 0xa1, 0x8a, 0x0a, 0x1d, 0xa5, 0x43, + 0x87, 0x46, 0x26, 0x36, 0x87, 0x45, 0xce, 0xbe, 0x9e, 0x9d, 0x94, 0x6c, 0x55, 0xd5, 0xa9, 0x53, + 0xd5, 0xbf, 0x24, 0x43, 0xff, 0x08, 0x46, 0xc4, 0xd4, 0x29, 0xaa, 0x60, 0x40, 0xca, 0x5f, 0x51, + 0x9d, 0xef, 0x1c, 0x02, 0x49, 0x55, 0x96, 0x8b, 0x9f, 0x3f, 0x3f, 0xde, 0x8b, 0xdf, 0xb3, 0x41, + 0xae, 0x7e, 0x42, 0x3e, 0x62, 0x3b, 0x20, 0x82, 0x37, 0x83, 0x3a, 0xb1, 0x5b, 0x15, 0x5b, 0x9e, + 0x95, 0xfd, 0x80, 0x4b, 0x0e, 0x67, 0x15, 0x56, 0xd6, 0x58, 0xb9, 0x55, 0xc9, 0x3d, 0x8a, 0xe8, + 0x98, 0xe2, 0x41, 0x66, 0xae, 0x30, 0xec, 0xd2, 0x57, 0x45, 0x8c, 0x39, 0x97, 0xbb, 0x5c, 0x2d, + 0xed, 0x70, 0x15, 0xef, 0x2e, 0x0d, 0xeb, 0x8e, 0x89, 0x96, 0x2c, 0xd6, 0xb9, 0xf0, 0xb8, 0xa8, + 0x45, 0xaa, 0x28, 0x88, 0xa1, 0x85, 0x28, 0xb2, 0x3d, 0xe1, 0xda, 0xad, 0xf5, 0xf0, 0x27, 0x06, + 0x66, 0x91, 0x47, 0x19, 0xb7, 0xd5, 0x37, 0xda, 0x2a, 0xfe, 0x30, 0xc0, 0xec, 0x9e, 0x70, 0xb7, + 0x03, 0x82, 0x24, 0x71, 0xe2, 0x4c, 0xf0, 0x15, 0x98, 0xf0, 0x51, 0xbb, 0xc1, 0x11, 0x36, 0x8d, + 0x82, 0xb1, 0x92, 0xa9, 0x3c, 0x2b, 0x0f, 0xfd, 0xdb, 0xf2, 0x90, 0x6c, 0x3f, 0x92, 0x38, 0x5a, + 0x0b, 0x37, 0x00, 0x10, 0xd4, 0x65, 0x48, 0x36, 0x03, 0x22, 0xcc, 0x64, 0x21, 0xb5, 0x92, 0xa9, + 0xcc, 0xc7, 0x4e, 0x98, 0xe2, 0xd0, 0xe4, 0x80, 0xba, 0x6c, 0x97, 0x1d, 0x73, 0x67, 0x80, 0x59, + 0xfc, 0x9a, 0x02, 0xe6, 0xdf, 0xdc, 0x21, 0x04, 0x69, 0x8c, 0x24, 0x52, 0x85, 0x65, 0x1d, 0xb5, + 0x86, 0x2f, 0xc1, 0x54, 0x9d, 0x37, 0x1a, 0xa4, 0x2e, 0x29, 0x67, 0x35, 0x8a, 0xcd, 0x64, 0xc1, + 0x58, 0x99, 0xac, 0x9a, 0xbd, 0x6e, 0x7e, 0x4e, 0x97, 0xbc, 0xdd, 0x27, 0xec, 0x62, 0x27, 0x5b, + 0x1f, 0x88, 0xa0, 0x05, 0x92, 0x14, 0x9b, 0x29, 0xa5, 0x99, 0xee, 0x75, 0xf3, 0x40, 0x6b, 0x76, + 0xb1, 0x93, 0xa4, 0x18, 0x2e, 0x83, 0x34, 0x43, 0x1e, 0x31, 0xd3, 0x8a, 0xf1, 0x7f, 0xaf, 0x9b, + 0xcf, 0x6a, 0xc6, 0x1b, 0xe4, 0x11, 0x47, 0xa1, 0x70, 0x1d, 0x4c, 0xb4, 0x48, 0x20, 0x28, 0x67, + 0xe6, 0x98, 0x22, 0x2e, 0x9c, 0x77, 0xf3, 0x46, 0xaf, 0x9b, 0x9f, 0xd1, 0xe4, 0x77, 0x11, 0xec, + 0x68, 0x1e, 0x7c, 0x01, 0xa6, 0x34, 0x56, 0x93, 0x6d, 0x9f, 0x98, 0xe3, 0xc3, 0x19, 0xde, 0xb6, + 0x7d, 0xe2, 0xdc, 0x89, 0x20, 0x01, 0x53, 0xa8, 0x21, 0x78, 0xed, 0x94, 0xf1, 0x4f, 0xac, 0x86, + 0x84, 0x39, 0xa1, 0x8e, 0xf6, 0xc9, 0x88, 0x26, 0x6d, 0x35, 0x24, 0x09, 0x18, 0x92, 0xb4, 0x45, + 0x0e, 0x03, 0x5a, 0xb5, 0xe2, 0x92, 0xe6, 0x35, 0xe7, 0x2e, 0xee, 0x64, 0x42, 0xdf, 0xd7, 0xa1, + 0xed, 0x96, 0x28, 0xfa, 0x60, 0x71, 0xa8, 0x0b, 0x0e, 0x11, 0x3e, 0x67, 0x82, 0xc0, 0x03, 0xf0, + 0x9f, 0xf6, 0x88, 0x67, 0x64, 0x69, 0xd4, 0x8c, 0x10, 0x89, 0xc2, 0x0e, 0x55, 0x73, 0x61, 0xd2, + 0x06, 0x65, 0xa7, 0x04, 0x6b, 0x2b, 0x8d, 0x39, 0x7d, 0xa3, 0x62, 0xc7, 0x00, 0x33, 0x7b, 0xc2, + 0x3d, 0xf4, 0x31, 0x92, 0x64, 0x1f, 0x05, 0xc8, 0x13, 0x70, 0x03, 0x4c, 0xa2, 0xa6, 0x3c, 0xe1, + 0x01, 0x95, 0x6d, 0x95, 0x69, 0xb2, 0x6a, 0x5e, 0xfe, 0x5c, 0x9b, 0x8b, 0x47, 0x7e, 0x0b, 0xe3, + 0x80, 0x08, 0x71, 0x20, 0x03, 0xca, 0x5c, 0xe7, 0x96, 0x0a, 0x37, 0xc1, 0xb8, 0xaf, 0x1c, 0xd4, + 0x30, 0x64, 0x2a, 0x8f, 0x47, 0x94, 0xb7, 0x43, 0xe2, 0x2c, 0xd5, 0xf4, 0x79, 0x37, 0x9f, 0x70, + 0x62, 0xc5, 0xe6, 0xd3, 0x2f, 0x37, 0x9d, 0xd2, 0xad, 0xd7, 0xb7, 0x9b, 0x4e, 0x69, 0xde, 0x3e, + 0x53, 0x17, 0xfb, 0x5e, 0x79, 0xc5, 0x45, 0xb0, 0x70, 0x6f, 0x4b, 0x1f, 0x51, 0xe5, 0xd2, 0x00, + 0xa9, 0x3d, 0xe1, 0x42, 0x0c, 0xa6, 0xef, 0xdd, 0xaf, 0xe5, 0x87, 0x5c, 0xa7, 0xdc, 0xea, 0x43, + 0x58, 0xfd, 0x86, 0x7c, 0x00, 0xd9, 0x3b, 0xe7, 0x56, 0x1c, 0xad, 0x1e, 0xe4, 0xe4, 0x4a, 0xff, + 0xe6, 0x68, 0xff, 0xdc, 0xd8, 0xe7, 0x9b, 0x4e, 0xc9, 0xa8, 0xee, 0x9c, 0x5f, 0x59, 0xc6, 0xc5, + 0x95, 0x65, 0xfc, 0xbe, 0xb2, 0x8c, 0xef, 0xd7, 0x56, 0xe2, 0xe2, 0xda, 0x4a, 0xfc, 0xba, 0xb6, + 0x12, 0xef, 0x57, 0x5d, 0x2a, 0x4f, 0x9a, 0x47, 0xe5, 0x3a, 0xf7, 0xec, 0xe8, 0xe5, 0x52, 0xdf, + 0x35, 0xc6, 0x31, 0xb1, 0xcf, 0x6e, 0x9f, 0xb1, 0x70, 0xd0, 0xc5, 0xd1, 0xb8, 0x7a, 0x7f, 0x9e, + 0xff, 0x09, 0x00, 0x00, 0xff, 0xff, 0xcf, 0xf8, 0xa2, 0x1a, 0x63, 0x05, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -317,6 +427,7 @@ const _ = grpc.SupportPackageIsVersion4 type MsgClient interface { // CreateResource defines a method for creating a resource. CreateResource(ctx context.Context, in *MsgCreateResource, opts ...grpc.CallOption) (*MsgCreateResourceResponse, error) + UpdateParams(ctx context.Context, in *MsgUpdateParams, opts ...grpc.CallOption) (*MsgUpdateParamsResponse, error) } type msgClient struct { @@ -336,10 +447,20 @@ func (c *msgClient) CreateResource(ctx context.Context, in *MsgCreateResource, o return out, nil } +func (c *msgClient) UpdateParams(ctx context.Context, in *MsgUpdateParams, opts ...grpc.CallOption) (*MsgUpdateParamsResponse, error) { + out := new(MsgUpdateParamsResponse) + err := c.cc.Invoke(ctx, "/cheqd.resource.v2.Msg/UpdateParams", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // MsgServer is the server API for Msg service. type MsgServer interface { // CreateResource defines a method for creating a resource. CreateResource(context.Context, *MsgCreateResource) (*MsgCreateResourceResponse, error) + UpdateParams(context.Context, *MsgUpdateParams) (*MsgUpdateParamsResponse, error) } // UnimplementedMsgServer can be embedded to have forward compatible implementations. @@ -349,6 +470,9 @@ type UnimplementedMsgServer struct { func (*UnimplementedMsgServer) CreateResource(ctx context.Context, req *MsgCreateResource) (*MsgCreateResourceResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method CreateResource not implemented") } +func (*UnimplementedMsgServer) UpdateParams(ctx context.Context, req *MsgUpdateParams) (*MsgUpdateParamsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateParams not implemented") +} func RegisterMsgServer(s grpc1.Server, srv MsgServer) { s.RegisterService(&_Msg_serviceDesc, srv) @@ -372,6 +496,24 @@ func _Msg_CreateResource_Handler(srv interface{}, ctx context.Context, dec func( return interceptor(ctx, in, info, handler) } +func _Msg_UpdateParams_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgUpdateParams) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).UpdateParams(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cheqd.resource.v2.Msg/UpdateParams", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).UpdateParams(ctx, req.(*MsgUpdateParams)) + } + return interceptor(ctx, in, info, handler) +} + var _Msg_serviceDesc = grpc.ServiceDesc{ ServiceName: "cheqd.resource.v2.Msg", HandlerType: (*MsgServer)(nil), @@ -380,6 +522,10 @@ var _Msg_serviceDesc = grpc.ServiceDesc{ MethodName: "CreateResource", Handler: _Msg_CreateResource_Handler, }, + { + MethodName: "UpdateParams", + Handler: _Msg_UpdateParams_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "cheqd/resource/v2/tx.proto", @@ -548,6 +694,69 @@ func (m *MsgCreateResourceResponse) MarshalToSizedBuffer(dAtA []byte) (int, erro return len(dAtA) - i, nil } +func (m *MsgUpdateParams) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *MsgUpdateParams) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgUpdateParams) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + { + size, err := m.Params.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintTx(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 + if len(m.Authority) > 0 { + i -= len(m.Authority) + copy(dAtA[i:], m.Authority) + i = encodeVarintTx(dAtA, i, uint64(len(m.Authority))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *MsgUpdateParamsResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *MsgUpdateParamsResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgUpdateParamsResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + func encodeVarintTx(dAtA []byte, offset int, v uint64) int { offset -= sovTx(v) base := offset @@ -630,6 +839,30 @@ func (m *MsgCreateResourceResponse) Size() (n int) { return n } +func (m *MsgUpdateParams) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Authority) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = m.Params.Size() + n += 1 + l + sovTx(uint64(l)) + return n +} + +func (m *MsgUpdateParamsResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + func sovTx(x uint64) (n int) { return (math_bits.Len64(x|1) + 6) / 7 } @@ -1120,6 +1353,171 @@ func (m *MsgCreateResourceResponse) Unmarshal(dAtA []byte) error { } return nil } +func (m *MsgUpdateParams) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: MsgUpdateParams: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgUpdateParams: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Authority", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Authority = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Params", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Params.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MsgUpdateParamsResponse) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: MsgUpdateParamsResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgUpdateParamsResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func skipTx(dAtA []byte) (n int, err error) { l := len(dAtA) iNdEx := 0 diff --git a/x/resource/types/tx_msg_create_resource.go b/x/resource/types/tx_msg_create_resource.go index b83f7f92d..f76038675 100644 --- a/x/resource/types/tx_msg_create_resource.go +++ b/x/resource/types/tx_msg_create_resource.go @@ -15,31 +15,18 @@ func NewMsgCreateResource(payload *MsgCreateResourcePayload, signatures []*didty } } -func (msg *MsgCreateResource) Route() string { - return RouterKey -} - func (msg *MsgCreateResource) Type() string { return "MsgCreateResource" } -func (msg *MsgCreateResource) GetSigners() []sdk.AccAddress { - return []sdk.AccAddress{} -} - -func (msg *MsgCreateResource) GetSignBytes() []byte { - bz := ModuleCdc.MustMarshalJSON(msg) - return sdk.MustSortJSON(bz) -} - -func (msg *MsgCreateResource) ValidateBasic() error { - err := msg.Validate([]string{}) - if err != nil { - return ErrBasicValidation.Wrap(err.Error()) - } +// func (msg *MsgCreateResource) ValidateBasic() error { +// err := msg.Validate([]string{}) +// if err != nil { +// return ErrBasicValidation.Wrap(err.Error()) +// } - return nil -} +// return nil +// } // Validate