diff --git a/.fleet/run.json b/.fleet/run.json new file mode 100644 index 00000000..14451b61 --- /dev/null +++ b/.fleet/run.json @@ -0,0 +1,10 @@ +{ + "configurations": [ + { + "type": "command", + "name": "ignite chain serve -v", + "program": "./ignite", + "args": ["chain", "serve", "-v"] + }, + ] +} \ No newline at end of file diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 91606348..5f55f0fa 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -34,7 +34,7 @@ jobs: args: chain build --release --release.prefix ${{ steps.vars.outputs.tarball_prefix }} -t linux:amd64 -t darwin:amd64 --yes - name: Delete the "latest" Release - uses: dev-drprasad/delete-tag-and-release@v0.2.0 + uses: dev-drprasad/delete-tag-and-release@v0.2.1 if: ${{ steps.vars.outputs.is_release_type_latest == 'true' }} with: tag_name: ${{ steps.vars.outputs.tag_name }} diff --git a/.gitignore b/.gitignore index 780dfa07..f34bdf49 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,4 @@ -/blockchain-data +/backup vue/node_modules vue/dist /vue diff --git a/Dockerfile b/Dockerfile index 43678f2f..afeae5f1 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,18 +1,46 @@ -FROM ignitehq/cli:0.20.4 + +FROM ignitehq/cli:v0.26.1 + + +USER root +RUN apt-get -y -qq update && \ + apt-get install -y -qq apt-transport-https curl wget unzip screen bash jq python3 pip && \ + apt-get clean + +# install python script to download genesis +RUN pip install tendermint-chunked-genesis-download + + + +# install correct go version +RUN wget https://go.dev/dl/go1.20.2.linux-amd64.tar.gz +RUN tar -xvf go1.20.2.linux-amd64.tar.gz +RUN rm /usr/local/go -rf +RUN mv go /usr/local + +USER tendermint +WORKDIR /home/tendermint + +RUN export GOPATH=$HOME/go +RUN wget https://github.com/DecentralCardGame/go-faucet/archive/master.zip && \ + unzip master.zip -d . && cd go-faucet-master && go build EXPOSE 1317 EXPOSE 26657 EXPOSE 26658 EXPOSE 9090 +EXPOSE 9091 EXPOSE 4500 -WORKDIR . COPY --chown=tendermint:tendermint . . -RUN chmod +x ./docker-run.sh - RUN ignite chain build -#RUN ignite chain init -#RUN python3 ./scripts/migrate_with_data.py ./blockchain-data/exported_genesis.json ~/.Cardchain/config/genesis.json +RUN ignite chain init + +COPY scripts/download_genesis.py download_genesis.py +RUN python3 download_genesis.py +RUN mv genesis.json $HOME/.Cardchain/config/genesis.json +RUN wget -O $HOME/.Cardchain/config/addrbook.json "https://raw.githubusercontent.com/DecentralCardGame/Testnet/main/addrbook.json" -ENTRYPOINT ./docker-run.sh +RUN chmod +x ./docker-run.sh +ENTRYPOINT bash docker-run.sh diff --git a/app/app.go b/app/app.go index b072527e..2cfdb139 100644 --- a/app/app.go +++ b/app/app.go @@ -11,7 +11,6 @@ import ( "github.com/cosmos/cosmos-sdk/baseapp" "github.com/cosmos/cosmos-sdk/client" "github.com/cosmos/cosmos-sdk/client/grpc/tmservice" - "github.com/cosmos/cosmos-sdk/client/rpc" "github.com/cosmos/cosmos-sdk/codec" "github.com/cosmos/cosmos-sdk/codec/types" "github.com/cosmos/cosmos-sdk/server/api" @@ -22,14 +21,15 @@ import ( "github.com/cosmos/cosmos-sdk/types/module" "github.com/cosmos/cosmos-sdk/version" + storetypes "github.com/cosmos/cosmos-sdk/store/types" "github.com/cosmos/cosmos-sdk/x/auth" "github.com/cosmos/cosmos-sdk/x/auth/ante" - authrest "github.com/cosmos/cosmos-sdk/x/auth/client/rest" authkeeper "github.com/cosmos/cosmos-sdk/x/auth/keeper" authsims "github.com/cosmos/cosmos-sdk/x/auth/simulation" authtx "github.com/cosmos/cosmos-sdk/x/auth/tx" authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" "github.com/cosmos/cosmos-sdk/x/auth/vesting" + vestingtypes "github.com/cosmos/cosmos-sdk/x/auth/vesting/types" "github.com/cosmos/cosmos-sdk/x/authz" authzkeeper "github.com/cosmos/cosmos-sdk/x/authz/keeper" authzmodule "github.com/cosmos/cosmos-sdk/x/authz/module" @@ -58,6 +58,11 @@ import ( govclient "github.com/cosmos/cosmos-sdk/x/gov/client" govkeeper "github.com/cosmos/cosmos-sdk/x/gov/keeper" govtypes "github.com/cosmos/cosmos-sdk/x/gov/types" + govv1 "github.com/cosmos/cosmos-sdk/x/gov/types/v1" + govv1beta1 "github.com/cosmos/cosmos-sdk/x/gov/types/v1beta1" + "github.com/cosmos/cosmos-sdk/x/group" + groupkeeper "github.com/cosmos/cosmos-sdk/x/group/keeper" + groupmodule "github.com/cosmos/cosmos-sdk/x/group/module" "github.com/cosmos/cosmos-sdk/x/mint" mintkeeper "github.com/cosmos/cosmos-sdk/x/mint/keeper" minttypes "github.com/cosmos/cosmos-sdk/x/mint/types" @@ -76,14 +81,23 @@ import ( upgradeclient "github.com/cosmos/cosmos-sdk/x/upgrade/client" upgradekeeper "github.com/cosmos/cosmos-sdk/x/upgrade/keeper" upgradetypes "github.com/cosmos/cosmos-sdk/x/upgrade/types" - "github.com/cosmos/ibc-go/modules/apps/transfer" - ibctransferkeeper "github.com/cosmos/ibc-go/modules/apps/transfer/keeper" - ibctransfertypes "github.com/cosmos/ibc-go/modules/apps/transfer/types" - ibc "github.com/cosmos/ibc-go/modules/core" - ibcclient "github.com/cosmos/ibc-go/modules/core/02-client" - ibcporttypes "github.com/cosmos/ibc-go/modules/core/05-port/types" - ibchost "github.com/cosmos/ibc-go/modules/core/24-host" - ibckeeper "github.com/cosmos/ibc-go/modules/core/keeper" + ica "github.com/cosmos/ibc-go/v6/modules/apps/27-interchain-accounts" + icacontrollerkeeper "github.com/cosmos/ibc-go/v6/modules/apps/27-interchain-accounts/controller/keeper" + icacontrollertypes "github.com/cosmos/ibc-go/v6/modules/apps/27-interchain-accounts/controller/types" + icahost "github.com/cosmos/ibc-go/v6/modules/apps/27-interchain-accounts/host" + icahostkeeper "github.com/cosmos/ibc-go/v6/modules/apps/27-interchain-accounts/host/keeper" + icahosttypes "github.com/cosmos/ibc-go/v6/modules/apps/27-interchain-accounts/host/types" + icatypes "github.com/cosmos/ibc-go/v6/modules/apps/27-interchain-accounts/types" + "github.com/cosmos/ibc-go/v6/modules/apps/transfer" + ibctransferkeeper "github.com/cosmos/ibc-go/v6/modules/apps/transfer/keeper" + ibctransfertypes "github.com/cosmos/ibc-go/v6/modules/apps/transfer/types" + ibc "github.com/cosmos/ibc-go/v6/modules/core" + ibcclient "github.com/cosmos/ibc-go/v6/modules/core/02-client" + ibcclientclient "github.com/cosmos/ibc-go/v6/modules/core/02-client/client" + ibcclienttypes "github.com/cosmos/ibc-go/v6/modules/core/02-client/types" + ibcporttypes "github.com/cosmos/ibc-go/v6/modules/core/05-port/types" + ibchost "github.com/cosmos/ibc-go/v6/modules/core/24-host" + ibckeeper "github.com/cosmos/ibc-go/v6/modules/core/keeper" "github.com/spf13/cast" abci "github.com/tendermint/tendermint/abci/types" tmjson "github.com/tendermint/tendermint/libs/json" @@ -91,15 +105,20 @@ import ( tmos "github.com/tendermint/tendermint/libs/os" dbm "github.com/tendermint/tm-db" - "github.com/tendermint/spm/cosmoscmd" "github.com/tendermint/spm/openapiconsole" "github.com/DecentralCardGame/Cardchain/docs" cardchainmodule "github.com/DecentralCardGame/Cardchain/x/cardchain" + cardchainclient "github.com/DecentralCardGame/Cardchain/x/cardchain/client" cardchainmodulekeeper "github.com/DecentralCardGame/Cardchain/x/cardchain/keeper" cardchainmoduletypes "github.com/DecentralCardGame/Cardchain/x/cardchain/types" + appparams "github.com/DecentralCardGame/Cardchain/app/params" globtypes "github.com/DecentralCardGame/Cardchain/types" + featureflagmodule "github.com/DecentralCardGame/Cardchain/x/featureflag" + featureflagclient "github.com/DecentralCardGame/Cardchain/x/featureflag/client" + featureflagmodulekeeper "github.com/DecentralCardGame/Cardchain/x/featureflag/keeper" + featureflagmoduletypes "github.com/DecentralCardGame/Cardchain/x/featureflag/types" // this line is used by starport scaffolding # stargate/app/moduleImport ) @@ -121,9 +140,14 @@ func getGovProposalHandlers() []govclient.ProposalHandler { govProposalHandlers = append(govProposalHandlers, paramsclient.ProposalHandler, distrclient.ProposalHandler, - upgradeclient.ProposalHandler, - upgradeclient.CancelProposalHandler, - //cardchainclient.ProposalHandler, + upgradeclient.LegacyProposalHandler, + upgradeclient.LegacyCancelProposalHandler, + ibcclientclient.UpdateClientProposalHandler, + ibcclientclient.UpgradeProposalHandler, + cardchainclient.CopyrightProposalHandler, + cardchainclient.MatchReporterProposalHandler, + cardchainclient.SetProposalHandler, + featureflagclient.ProposalHandler, // this line is used by starport scaffolding # stargate/app/govProposalHandler ) @@ -139,24 +163,27 @@ var ( // and genesis verification. ModuleBasics = module.NewBasicManager( auth.AppModuleBasic{}, + authzmodule.AppModuleBasic{}, genutil.AppModuleBasic{}, bank.AppModuleBasic{}, capability.AppModuleBasic{}, staking.AppModuleBasic{}, mint.AppModuleBasic{}, distr.AppModuleBasic{}, - gov.NewAppModuleBasic(getGovProposalHandlers()...), + gov.NewAppModuleBasic(getGovProposalHandlers()), params.AppModuleBasic{}, crisis.AppModuleBasic{}, slashing.AppModuleBasic{}, feegrantmodule.AppModuleBasic{}, + groupmodule.AppModuleBasic{}, ibc.AppModuleBasic{}, upgrade.AppModuleBasic{}, evidence.AppModuleBasic{}, transfer.AppModuleBasic{}, - authzmodule.AppModuleBasic{}, + ica.AppModuleBasic{}, vesting.AppModuleBasic{}, cardchainmodule.AppModuleBasic{}, + featureflagmodule.AppModuleBasic{}, // this line is used by starport scaffolding # stargate/app/moduleBasic ) @@ -164,6 +191,7 @@ var ( maccPerms = map[string][]string{ authtypes.FeeCollectorName: nil, distrtypes.ModuleName: nil, + icatypes.ModuleName: nil, minttypes.ModuleName: {authtypes.Minter}, stakingtypes.BondedPoolName: {authtypes.Burner, authtypes.Staking}, stakingtypes.NotBondedPoolName: {authtypes.Burner, authtypes.Staking}, @@ -175,7 +203,6 @@ var ( ) var ( - _ cosmoscmd.App = (*App)(nil) _ servertypes.Application = (*App)(nil) _ simapp.App = (*App)(nil) ) @@ -202,9 +229,9 @@ type App struct { invCheckPeriod uint // keys to access the substores - keys map[string]*sdk.KVStoreKey - tkeys map[string]*sdk.TransientStoreKey - memKeys map[string]*sdk.MemoryStoreKey + keys map[string]*storetypes.KVStoreKey + tkeys map[string]*storetypes.TransientStoreKey + memKeys map[string]*storetypes.MemoryStoreKey // keepers AccountKeeper authkeeper.AccountKeeper @@ -222,20 +249,26 @@ type App struct { EvidenceKeeper evidencekeeper.Keeper AuthzKeeper authzkeeper.Keeper TransferKeeper ibctransferkeeper.Keeper + ICAHostKeeper icahostkeeper.Keeper FeeGrantKeeper feegrantkeeper.Keeper + GroupKeeper groupkeeper.Keeper // make scoped keepers public for test purposes ScopedIBCKeeper capabilitykeeper.ScopedKeeper ScopedTransferKeeper capabilitykeeper.ScopedKeeper + ScopedICAHostKeeper capabilitykeeper.ScopedKeeper CardchainKeeper cardchainmodulekeeper.Keeper + + FeatureflagKeeper featureflagmodulekeeper.Keeper // this line is used by starport scaffolding # stargate/app/keeperDeclaration // mm is the module manager mm *module.Manager // sm is the simulation manager - sm *module.SimulationManager + sm *module.SimulationManager + configurator module.Configurator } // New returns a reference to an initialized blockchain app @@ -247,25 +280,37 @@ func New( skipUpgradeHeights map[int64]bool, homePath string, invCheckPeriod uint, - encodingConfig cosmoscmd.EncodingConfig, + encodingConfig appparams.EncodingConfig, appOpts servertypes.AppOptions, baseAppOptions ...func(*baseapp.BaseApp), -) cosmoscmd.App { +) *App { appCodec := encodingConfig.Marshaler cdc := encodingConfig.Amino interfaceRegistry := encodingConfig.InterfaceRegistry - bApp := baseapp.NewBaseApp(Name, logger, db, encodingConfig.TxConfig.TxDecoder(), baseAppOptions...) + bApp := baseapp.NewBaseApp( + Name, + logger, + db, + encodingConfig.TxConfig.TxDecoder(), + baseAppOptions..., + ) bApp.SetCommitMultiStoreTracer(traceStore) bApp.SetVersion(version.Version) bApp.SetInterfaceRegistry(interfaceRegistry) keys := sdk.NewKVStoreKeys( - authtypes.StoreKey, banktypes.StoreKey, stakingtypes.StoreKey, + authtypes.StoreKey, authz.ModuleName, banktypes.StoreKey, stakingtypes.StoreKey, minttypes.StoreKey, distrtypes.StoreKey, slashingtypes.StoreKey, govtypes.StoreKey, paramstypes.StoreKey, ibchost.StoreKey, upgradetypes.StoreKey, feegrant.StoreKey, - evidencetypes.StoreKey, ibctransfertypes.StoreKey, capabilitytypes.StoreKey, - cardchainmoduletypes.UsersStoreKey, cardchainmoduletypes.CardsStoreKey, cardchainmoduletypes.MatchesStoreKey, cardchainmoduletypes.CollectionsStoreKey, cardchainmoduletypes.SellOffersStoreKey, cardchainmoduletypes.PoolsStoreKey, cardchainmoduletypes.RunningAveragesStoreKey, cardchainmoduletypes.CouncilsStoreKey, cardchainmoduletypes.ImagesStoreKey, cardchainmoduletypes.InternalStoreKey, authzkeeper.StoreKey, cardchainmoduletypes.ServersStoreKey, + evidencetypes.StoreKey, ibctransfertypes.StoreKey, capabilitytypes.StoreKey, group.StoreKey, + icahosttypes.StoreKey, icacontrollertypes.StoreKey, + cardchainmoduletypes.UsersStoreKey, cardchainmoduletypes.CardsStoreKey, cardchainmoduletypes.MatchesStoreKey, + cardchainmoduletypes.SetsStoreKey, cardchainmoduletypes.SellOffersStoreKey, cardchainmoduletypes.PoolsStoreKey, + cardchainmoduletypes.RunningAveragesStoreKey, cardchainmoduletypes.CouncilsStoreKey, + cardchainmoduletypes.ImagesStoreKey, cardchainmoduletypes.InternalStoreKey, + cardchainmoduletypes.ServersStoreKey, + featureflagmoduletypes.StoreKey, // this line is used by starport scaffolding # stargate/app/storeKey ) tkeys := sdk.NewTransientStoreKeys(paramstypes.TStoreKey) @@ -282,46 +327,123 @@ func New( memKeys: memKeys, } - app.ParamsKeeper = initParamsKeeper(appCodec, cdc, keys[paramstypes.StoreKey], tkeys[paramstypes.TStoreKey]) + app.ParamsKeeper = initParamsKeeper( + appCodec, + cdc, + keys[paramstypes.StoreKey], + tkeys[paramstypes.TStoreKey], + ) // set the BaseApp's parameter store - bApp.SetParamStore(app.ParamsKeeper.Subspace(baseapp.Paramspace).WithKeyTable(paramskeeper.ConsensusParamsKeyTable())) + bApp.SetParamStore(app.ParamsKeeper.Subspace(baseapp.Paramspace).WithKeyTable(paramstypes.ConsensusParamsKeyTable())) // add capability keeper and ScopeToModule for ibc module - app.CapabilityKeeper = capabilitykeeper.NewKeeper(appCodec, keys[capabilitytypes.StoreKey], memKeys[capabilitytypes.MemStoreKey]) + app.CapabilityKeeper = capabilitykeeper.NewKeeper( + appCodec, + keys[capabilitytypes.StoreKey], + memKeys[capabilitytypes.MemStoreKey], + ) // grant capabilities for the ibc and ibc-transfer modules scopedIBCKeeper := app.CapabilityKeeper.ScopeToModule(ibchost.ModuleName) + scopedICAControllerKeeper := app.CapabilityKeeper.ScopeToModule(icacontrollertypes.SubModuleName) + scopedICAHostKeeper := app.CapabilityKeeper.ScopeToModule(icahosttypes.SubModuleName) scopedTransferKeeper := app.CapabilityKeeper.ScopeToModule(ibctransfertypes.ModuleName) // this line is used by starport scaffolding # stargate/app/scopedKeeper // add keepers app.AccountKeeper = authkeeper.NewAccountKeeper( - appCodec, keys[authtypes.StoreKey], app.GetSubspace(authtypes.ModuleName), authtypes.ProtoBaseAccount, maccPerms, + appCodec, + keys[authtypes.StoreKey], + app.GetSubspace(authtypes.ModuleName), + authtypes.ProtoBaseAccount, + maccPerms, + sdk.Bech32PrefixAccAddr, + ) + + app.AuthzKeeper = authzkeeper.NewKeeper( + keys[authzkeeper.StoreKey], + appCodec, + app.BaseApp.MsgServiceRouter(), + app.AccountKeeper, ) + app.BankKeeper = bankkeeper.NewBaseKeeper( - appCodec, keys[banktypes.StoreKey], app.AccountKeeper, app.GetSubspace(banktypes.ModuleName), app.ModuleAccountAddrs(), + appCodec, + keys[banktypes.StoreKey], + app.AccountKeeper, + app.GetSubspace(banktypes.ModuleName), + app.ModuleAccountAddrs(), ) + stakingKeeper := stakingkeeper.NewKeeper( - appCodec, keys[stakingtypes.StoreKey], app.AccountKeeper, app.BankKeeper, app.GetSubspace(stakingtypes.ModuleName), + appCodec, + keys[stakingtypes.StoreKey], + app.AccountKeeper, + app.BankKeeper, + app.GetSubspace(stakingtypes.ModuleName), ) + app.MintKeeper = mintkeeper.NewKeeper( - appCodec, keys[minttypes.StoreKey], app.GetSubspace(minttypes.ModuleName), &stakingKeeper, - app.AccountKeeper, app.BankKeeper, authtypes.FeeCollectorName, + appCodec, + keys[minttypes.StoreKey], + app.GetSubspace(minttypes.ModuleName), + &stakingKeeper, + app.AccountKeeper, + app.BankKeeper, + authtypes.FeeCollectorName, ) + app.DistrKeeper = distrkeeper.NewKeeper( - appCodec, keys[distrtypes.StoreKey], app.GetSubspace(distrtypes.ModuleName), app.AccountKeeper, app.BankKeeper, - &stakingKeeper, authtypes.FeeCollectorName, app.ModuleAccountAddrs(), + appCodec, + keys[distrtypes.StoreKey], + app.GetSubspace(distrtypes.ModuleName), + app.AccountKeeper, + app.BankKeeper, + &stakingKeeper, + authtypes.FeeCollectorName, ) app.SlashingKeeper = slashingkeeper.NewKeeper( - appCodec, keys[slashingtypes.StoreKey], &stakingKeeper, app.GetSubspace(slashingtypes.ModuleName), + appCodec, + keys[slashingtypes.StoreKey], + &stakingKeeper, + app.GetSubspace(slashingtypes.ModuleName), ) + app.CrisisKeeper = crisiskeeper.NewKeeper( - app.GetSubspace(crisistypes.ModuleName), invCheckPeriod, app.BankKeeper, authtypes.FeeCollectorName, + app.GetSubspace(crisistypes.ModuleName), + invCheckPeriod, + app.BankKeeper, + authtypes.FeeCollectorName, ) - app.FeeGrantKeeper = feegrantkeeper.NewKeeper(appCodec, keys[feegrant.StoreKey], app.AccountKeeper) - app.UpgradeKeeper = upgradekeeper.NewKeeper(skipUpgradeHeights, keys[upgradetypes.StoreKey], appCodec, homePath, app.BaseApp) + groupConfig := group.DefaultConfig() + /* + Example of setting group params: + groupConfig.MaxMetadataLen = 1000 + */ + app.GroupKeeper = groupkeeper.NewKeeper( + keys[group.StoreKey], + appCodec, + app.MsgServiceRouter(), + app.AccountKeeper, + groupConfig, + ) + + app.FeeGrantKeeper = feegrantkeeper.NewKeeper( + appCodec, + keys[feegrant.StoreKey], + app.AccountKeeper, + ) + + app.UpgradeKeeper = upgradekeeper.NewKeeper( + skipUpgradeHeights, + keys[upgradetypes.StoreKey], + appCodec, + homePath, + app.BaseApp, + authtypes.NewModuleAddress(govtypes.ModuleName).String(), + ) // register the staking hooks // NOTE: stakingKeeper above is passed by reference, so that it will contain these hooks @@ -329,36 +451,76 @@ func New( stakingtypes.NewMultiStakingHooks(app.DistrKeeper.Hooks(), app.SlashingKeeper.Hooks()), ) - app.AuthzKeeper = authzkeeper.NewKeeper(keys[authzkeeper.StoreKey], appCodec, app.BaseApp.MsgServiceRouter()) - // ... other modules keepers // Create IBC Keeper app.IBCKeeper = ibckeeper.NewKeeper( - appCodec, keys[ibchost.StoreKey], app.GetSubspace(ibchost.ModuleName), app.StakingKeeper, app.UpgradeKeeper, scopedIBCKeeper, + appCodec, keys[ibchost.StoreKey], + app.GetSubspace(ibchost.ModuleName), + app.StakingKeeper, + app.UpgradeKeeper, + scopedIBCKeeper, ) // Create Transfer Keepers app.TransferKeeper = ibctransferkeeper.NewKeeper( - appCodec, keys[ibctransfertypes.StoreKey], app.GetSubspace(ibctransfertypes.ModuleName), - app.IBCKeeper.ChannelKeeper, &app.IBCKeeper.PortKeeper, - app.AccountKeeper, app.BankKeeper, scopedTransferKeeper, + appCodec, + keys[ibctransfertypes.StoreKey], + app.GetSubspace(ibctransfertypes.ModuleName), + app.IBCKeeper.ChannelKeeper, + app.IBCKeeper.ChannelKeeper, + &app.IBCKeeper.PortKeeper, + app.AccountKeeper, + app.BankKeeper, + scopedTransferKeeper, ) transferModule := transfer.NewAppModule(app.TransferKeeper) + transferIBCModule := transfer.NewIBCModule(app.TransferKeeper) + + app.ICAHostKeeper = icahostkeeper.NewKeeper( + appCodec, keys[icahosttypes.StoreKey], + app.GetSubspace(icahosttypes.SubModuleName), + app.IBCKeeper.ChannelKeeper, + app.IBCKeeper.ChannelKeeper, + &app.IBCKeeper.PortKeeper, + app.AccountKeeper, + scopedICAHostKeeper, + app.MsgServiceRouter(), + ) + icaControllerKeeper := icacontrollerkeeper.NewKeeper( + appCodec, keys[icacontrollertypes.StoreKey], + app.GetSubspace(icacontrollertypes.SubModuleName), + app.IBCKeeper.ChannelKeeper, // may be replaced with middleware such as ics29 fee + app.IBCKeeper.ChannelKeeper, &app.IBCKeeper.PortKeeper, + scopedICAControllerKeeper, app.MsgServiceRouter(), + ) + icaModule := ica.NewAppModule(&icaControllerKeeper, &app.ICAHostKeeper) + icaHostIBCModule := icahost.NewIBCModule(app.ICAHostKeeper) // Create evidence Keeper for to register the IBC light client misbehaviour evidence route evidenceKeeper := evidencekeeper.NewKeeper( - appCodec, keys[evidencetypes.StoreKey], &app.StakingKeeper, app.SlashingKeeper, + appCodec, + keys[evidencetypes.StoreKey], + &app.StakingKeeper, + app.SlashingKeeper, ) // If evidence needs to be handled for the app, set routes in router here and seal app.EvidenceKeeper = *evidenceKeeper + app.FeatureflagKeeper = *featureflagmodulekeeper.NewKeeper( + appCodec, + keys[featureflagmoduletypes.StoreKey], + keys[featureflagmoduletypes.MemStoreKey], + app.GetSubspace(featureflagmoduletypes.ModuleName), + ) + featureflagModule := featureflagmodule.NewAppModule(appCodec, app.FeatureflagKeeper, app.AccountKeeper, app.BankKeeper) + app.CardchainKeeper = *cardchainmodulekeeper.NewKeeper( appCodec, keys[cardchainmoduletypes.UsersStoreKey], keys[cardchainmoduletypes.CardsStoreKey], keys[cardchainmoduletypes.MatchesStoreKey], - keys[cardchainmoduletypes.CollectionsStoreKey], + keys[cardchainmoduletypes.SetsStoreKey], keys[cardchainmoduletypes.SellOffersStoreKey], keys[cardchainmoduletypes.PoolsStoreKey], keys[cardchainmoduletypes.CouncilsStoreKey], @@ -367,30 +529,46 @@ func New( keys[cardchainmoduletypes.ServersStoreKey], keys[cardchainmoduletypes.InternalStoreKey], app.GetSubspace(cardchainmoduletypes.ModuleName), - + app.FeatureflagKeeper, app.BankKeeper, ) + cardchainModule := cardchainmodule.NewAppModule(appCodec, app.CardchainKeeper, app.AccountKeeper, app.BankKeeper) + // this line is used by starport scaffolding # stargate/app/keeperDefinition + // register the proposal types - govRouter := govtypes.NewRouter() - govRouter.AddRoute(govtypes.RouterKey, govtypes.ProposalHandler). + govRouter := govv1beta1.NewRouter() + govRouter. + AddRoute(govtypes.RouterKey, govv1beta1.ProposalHandler). AddRoute(cardchainmoduletypes.RouterKey, cardchainmodule.NewProposalHandler(app.CardchainKeeper)). + AddRoute(featureflagmoduletypes.RouterKey, featureflagmodule.NewProposalHandler(app.FeatureflagKeeper)). AddRoute(paramproposal.RouterKey, params.NewParamChangeProposalHandler(app.ParamsKeeper)). AddRoute(distrtypes.RouterKey, distr.NewCommunityPoolSpendProposalHandler(app.DistrKeeper)). AddRoute(upgradetypes.RouterKey, upgrade.NewSoftwareUpgradeProposalHandler(app.UpgradeKeeper)). - AddRoute(ibchost.RouterKey, ibcclient.NewClientProposalHandler(app.IBCKeeper.ClientKeeper)) + AddRoute(ibcclienttypes.RouterKey, ibcclient.NewClientProposalHandler(app.IBCKeeper.ClientKeeper)) + govConfig := govtypes.DefaultConfig() app.GovKeeper = govkeeper.NewKeeper( - appCodec, keys[govtypes.StoreKey], app.GetSubspace(govtypes.ModuleName), app.AccountKeeper, app.BankKeeper, - &stakingKeeper, govRouter, + appCodec, + keys[govtypes.StoreKey], + app.GetSubspace(govtypes.ModuleName), + app.AccountKeeper, + app.BankKeeper, + &stakingKeeper, + govRouter, + app.MsgServiceRouter(), + govConfig, ) - // this line is used by starport scaffolding # stargate/app/keeperDefinition + // Sealing prevents other modules from creating scoped sub-keepers + app.CapabilityKeeper.Seal() // Create static IBC router, add transfer route, then set and seal it ibcRouter := ibcporttypes.NewRouter() - ibcRouter.AddRoute(ibctransfertypes.ModuleName, transferModule) + ibcRouter.AddRoute(icahosttypes.SubModuleName, icaHostIBCModule). + AddRoute(ibctransfertypes.ModuleName, transferIBCModule) + // this line is used by starport scaffolding # ibc/app/router app.IBCKeeper.SetRouter(ibcRouter) @@ -409,13 +587,15 @@ func New( encodingConfig.TxConfig, ), auth.NewAppModule(appCodec, app.AccountKeeper, nil), + authzmodule.NewAppModule(appCodec, app.AuthzKeeper, app.AccountKeeper, app.BankKeeper, app.interfaceRegistry), vesting.NewAppModule(app.AccountKeeper, app.BankKeeper), bank.NewAppModule(appCodec, app.BankKeeper, app.AccountKeeper), capability.NewAppModule(appCodec, *app.CapabilityKeeper), feegrantmodule.NewAppModule(appCodec, app.AccountKeeper, app.BankKeeper, app.FeeGrantKeeper, app.interfaceRegistry), + groupmodule.NewAppModule(appCodec, app.GroupKeeper, app.AccountKeeper, app.BankKeeper, app.interfaceRegistry), crisis.NewAppModule(&app.CrisisKeeper, skipGenesisInvariants), gov.NewAppModule(appCodec, app.GovKeeper, app.AccountKeeper, app.BankKeeper), - mint.NewAppModule(appCodec, app.MintKeeper, app.AccountKeeper), + mint.NewAppModule(appCodec, app.MintKeeper, app.AccountKeeper, minttypes.DefaultInflationCalculationFn), slashing.NewAppModule(appCodec, app.SlashingKeeper, app.AccountKeeper, app.BankKeeper, app.StakingKeeper), distr.NewAppModule(appCodec, app.DistrKeeper, app.AccountKeeper, app.BankKeeper, app.StakingKeeper), staking.NewAppModule(appCodec, app.StakingKeeper, app.AccountKeeper, app.BankKeeper), @@ -424,8 +604,9 @@ func New( ibc.NewAppModule(app.IBCKeeper), params.NewAppModule(app.ParamsKeeper), transferModule, + icaModule, cardchainModule, - authzmodule.NewAppModule(appCodec, app.AuthzKeeper, app.AccountKeeper, app.BankKeeper, app.interfaceRegistry), + featureflagModule, // this line is used by starport scaffolding # stargate/app/appModule ) @@ -434,12 +615,57 @@ func New( // CanWithdrawInvariant invariant. // NOTE: staking module is required if HistoricalEntries param > 0 app.mm.SetOrderBeginBlockers( - upgradetypes.ModuleName, capabilitytypes.ModuleName, minttypes.ModuleName, distrtypes.ModuleName, slashingtypes.ModuleName, - evidencetypes.ModuleName, authz.ModuleName, stakingtypes.ModuleName, ibchost.ModuleName, + // upgrades should be run first + upgradetypes.ModuleName, + capabilitytypes.ModuleName, + minttypes.ModuleName, + distrtypes.ModuleName, + slashingtypes.ModuleName, + evidencetypes.ModuleName, + stakingtypes.ModuleName, + authtypes.ModuleName, + banktypes.ModuleName, + govtypes.ModuleName, + crisistypes.ModuleName, + ibctransfertypes.ModuleName, + ibchost.ModuleName, + icatypes.ModuleName, + genutiltypes.ModuleName, + authz.ModuleName, feegrant.ModuleName, + group.ModuleName, + paramstypes.ModuleName, + vestingtypes.ModuleName, + cardchainmoduletypes.ModuleName, + featureflagmoduletypes.ModuleName, + // this line is used by starport scaffolding # stargate/app/beginBlockers ) - app.mm.SetOrderEndBlockers(crisistypes.ModuleName, govtypes.ModuleName, authz.ModuleName, stakingtypes.ModuleName) + app.mm.SetOrderEndBlockers( + crisistypes.ModuleName, + govtypes.ModuleName, + stakingtypes.ModuleName, + ibctransfertypes.ModuleName, + ibchost.ModuleName, + icatypes.ModuleName, + capabilitytypes.ModuleName, + authtypes.ModuleName, + banktypes.ModuleName, + distrtypes.ModuleName, + slashingtypes.ModuleName, + minttypes.ModuleName, + genutiltypes.ModuleName, + evidencetypes.ModuleName, + authz.ModuleName, + feegrant.ModuleName, + group.ModuleName, + paramstypes.ModuleName, + upgradetypes.ModuleName, + vestingtypes.ModuleName, + cardchainmoduletypes.ModuleName, + featureflagmoduletypes.ModuleName, + // this line is used by starport scaffolding # stargate/app/endBlockers + ) // NOTE: The genutils module must occur after staking so that pools are // properly initialized with tokens from genesis accounts. @@ -456,12 +682,19 @@ func New( govtypes.ModuleName, minttypes.ModuleName, crisistypes.ModuleName, - ibchost.ModuleName, genutiltypes.ModuleName, + ibctransfertypes.ModuleName, + ibchost.ModuleName, + icatypes.ModuleName, evidencetypes.ModuleName, authz.ModuleName, - ibctransfertypes.ModuleName, + feegrant.ModuleName, + group.ModuleName, + paramstypes.ModuleName, + upgradetypes.ModuleName, + vestingtypes.ModuleName, cardchainmoduletypes.ModuleName, + featureflagmoduletypes.ModuleName, // this line is used by starport scaffolding # stargate/app/initGenesis ) @@ -470,25 +703,29 @@ func New( app.mm.RegisterInvariants(&app.CrisisKeeper) app.mm.RegisterRoutes(app.Router(), app.QueryRouter(), encodingConfig.Amino) + + app.configurator = module.NewConfigurator(app.appCodec, app.MsgServiceRouter(), app.GRPCQueryRouter()) app.mm.RegisterServices(module.NewConfigurator(app.appCodec, app.MsgServiceRouter(), app.GRPCQueryRouter())) // create the simulation manager and define the order of the modules for deterministic simulations app.sm = module.NewSimulationManager( auth.NewAppModule(appCodec, app.AccountKeeper, authsims.RandomGenesisAccounts), + authzmodule.NewAppModule(appCodec, app.AuthzKeeper, app.AccountKeeper, app.BankKeeper, app.interfaceRegistry), bank.NewAppModule(appCodec, app.BankKeeper, app.AccountKeeper), capability.NewAppModule(appCodec, *app.CapabilityKeeper), feegrantmodule.NewAppModule(appCodec, app.AccountKeeper, app.BankKeeper, app.FeeGrantKeeper, app.interfaceRegistry), gov.NewAppModule(appCodec, app.GovKeeper, app.AccountKeeper, app.BankKeeper), - mint.NewAppModule(appCodec, app.MintKeeper, app.AccountKeeper), + mint.NewAppModule(appCodec, app.MintKeeper, app.AccountKeeper, minttypes.DefaultInflationCalculationFn), staking.NewAppModule(appCodec, app.StakingKeeper, app.AccountKeeper, app.BankKeeper), distr.NewAppModule(appCodec, app.DistrKeeper, app.AccountKeeper, app.BankKeeper, app.StakingKeeper), slashing.NewAppModule(appCodec, app.SlashingKeeper, app.AccountKeeper, app.BankKeeper, app.StakingKeeper), params.NewAppModule(app.ParamsKeeper), + groupmodule.NewAppModule(appCodec, app.GroupKeeper, app.AccountKeeper, app.BankKeeper, app.interfaceRegistry), evidence.NewAppModule(app.EvidenceKeeper), - authzmodule.NewAppModule(appCodec, app.AuthzKeeper, app.AccountKeeper, app.BankKeeper, app.interfaceRegistry), ibc.NewAppModule(app.IBCKeeper), transferModule, cardchainModule, + featureflagModule, // this line is used by starport scaffolding # stargate/app/appModule ) app.sm.RegisterStoreDecoders() @@ -512,10 +749,12 @@ func New( }, ) if err != nil { - panic(err) + panic(fmt.Errorf("failed to create AnteHandler: %s", err)) } app.SetAnteHandler(anteHandler) + app.SetInitChainer(app.InitChainer) + app.SetBeginBlocker(app.BeginBlocker) app.SetEndBlocker(app.EndBlocker) if loadLatest { @@ -598,6 +837,8 @@ func (app *App) EndBlocker(ctx sdk.Context, req abci.RequestEndBlock) abci.Respo } } + app.CardchainKeeper.MatchWorker(ctx) + return app.mm.EndBlock(ctx, req) } @@ -640,6 +881,15 @@ func (app *App) ModuleAccountAddrs() map[string]bool { return modAccAddrs } +// BlockedModuleAccountAddrs returns all the app's blocked module account +// addresses. +func (app *App) BlockedModuleAccountAddrs() map[string]bool { + modAccAddrs := app.ModuleAccountAddrs() + delete(modAccAddrs, authtypes.NewModuleAddress(govtypes.ModuleName).String()) + + return modAccAddrs +} + // LegacyAmino returns SimApp's amino codec. // // NOTE: This is solely to be used for testing purposes as it may be desirable @@ -664,21 +914,21 @@ func (app *App) InterfaceRegistry() types.InterfaceRegistry { // GetKey returns the KVStoreKey for the provided store key. // // NOTE: This is solely to be used for testing purposes. -func (app *App) GetKey(storeKey string) *sdk.KVStoreKey { +func (app *App) GetKey(storeKey string) *storetypes.KVStoreKey { return app.keys[storeKey] } // GetTKey returns the TransientStoreKey for the provided store key. // // NOTE: This is solely to be used for testing purposes. -func (app *App) GetTKey(storeKey string) *sdk.TransientStoreKey { +func (app *App) GetTKey(storeKey string) *storetypes.TransientStoreKey { return app.tkeys[storeKey] } // GetMemKey returns the MemStoreKey for the provided mem key. // // NOTE: This is solely used for testing purposes. -func (app *App) GetMemKey(storeKey string) *sdk.MemoryStoreKey { +func (app *App) GetMemKey(storeKey string) *storetypes.MemoryStoreKey { return app.memKeys[storeKey] } @@ -694,16 +944,12 @@ func (app *App) GetSubspace(moduleName string) paramstypes.Subspace { // API server. func (app *App) RegisterAPIRoutes(apiSvr *api.Server, apiConfig config.APIConfig) { clientCtx := apiSvr.ClientCtx - rpc.RegisterRoutes(clientCtx, apiSvr.Router) - // Register legacy tx routes. - authrest.RegisterTxRoutes(clientCtx, apiSvr.Router) // Register new tx routes from grpc-gateway. authtx.RegisterGRPCGatewayRoutes(clientCtx, apiSvr.GRPCGatewayRouter) // Register new tendermint queries routes from grpc-gateway. tmservice.RegisterGRPCGatewayRoutes(clientCtx, apiSvr.GRPCGatewayRouter) // Register legacy and grpc-gateway routes for all modules. - ModuleBasics.RegisterRESTRoutes(clientCtx, apiSvr.Router) ModuleBasics.RegisterGRPCGatewayRoutes(clientCtx, apiSvr.GRPCGatewayRouter) // register app's OpenAPI routes. @@ -718,7 +964,12 @@ func (app *App) RegisterTxService(clientCtx client.Context) { // RegisterTendermintService implements the Application.RegisterTendermintService method. func (app *App) RegisterTendermintService(clientCtx client.Context) { - tmservice.RegisterTendermintService(app.BaseApp.GRPCQueryRouter(), clientCtx, app.interfaceRegistry) + tmservice.RegisterTendermintService( + clientCtx, + app.BaseApp.GRPCQueryRouter(), + app.interfaceRegistry, + app.Query, + ) } // GetMaccPerms returns a copy of the module account permissions @@ -731,7 +982,7 @@ func GetMaccPerms() map[string][]string { } // initParamsKeeper init params keeper and its subspaces -func initParamsKeeper(appCodec codec.BinaryCodec, legacyAmino *codec.LegacyAmino, key, tkey sdk.StoreKey) paramskeeper.Keeper { +func initParamsKeeper(appCodec codec.BinaryCodec, legacyAmino *codec.LegacyAmino, key, tkey storetypes.StoreKey) paramskeeper.Keeper { paramsKeeper := paramskeeper.NewKeeper(appCodec, legacyAmino, key, tkey) paramsKeeper.Subspace(authtypes.ModuleName) @@ -740,11 +991,14 @@ func initParamsKeeper(appCodec codec.BinaryCodec, legacyAmino *codec.LegacyAmino paramsKeeper.Subspace(minttypes.ModuleName) paramsKeeper.Subspace(distrtypes.ModuleName) paramsKeeper.Subspace(slashingtypes.ModuleName) - paramsKeeper.Subspace(govtypes.ModuleName).WithKeyTable(govtypes.ParamKeyTable()) + paramsKeeper.Subspace(govtypes.ModuleName).WithKeyTable(govv1.ParamKeyTable()) paramsKeeper.Subspace(crisistypes.ModuleName) paramsKeeper.Subspace(ibctransfertypes.ModuleName) paramsKeeper.Subspace(ibchost.ModuleName) + paramsKeeper.Subspace(icacontrollertypes.SubModuleName) + paramsKeeper.Subspace(icahosttypes.SubModuleName) paramsKeeper.Subspace(cardchainmoduletypes.ModuleName) + paramsKeeper.Subspace(featureflagmoduletypes.ModuleName) // this line is used by starport scaffolding # stargate/app/paramSubspace return paramsKeeper diff --git a/app/encoding.go b/app/encoding.go new file mode 100644 index 00000000..32622944 --- /dev/null +++ b/app/encoding.go @@ -0,0 +1,35 @@ +package app + +import ( + "github.com/cosmos/cosmos-sdk/codec" + "github.com/cosmos/cosmos-sdk/codec/types" + "github.com/cosmos/cosmos-sdk/std" + "github.com/cosmos/cosmos-sdk/x/auth/tx" + + "github.com/DecentralCardGame/Cardchain/app/params" +) + +// makeEncodingConfig creates an EncodingConfig for an amino based test configuration. +func makeEncodingConfig() params.EncodingConfig { + amino := codec.NewLegacyAmino() + interfaceRegistry := types.NewInterfaceRegistry() + marshaler := codec.NewProtoCodec(interfaceRegistry) + txCfg := tx.NewTxConfig(marshaler, tx.DefaultSignModes) + + return params.EncodingConfig{ + InterfaceRegistry: interfaceRegistry, + Marshaler: marshaler, + TxConfig: txCfg, + Amino: amino, + } +} + +// MakeEncodingConfig creates an EncodingConfig for testing +func MakeEncodingConfig() params.EncodingConfig { + encodingConfig := makeEncodingConfig() + std.RegisterLegacyAminoCodec(encodingConfig.Amino) + std.RegisterInterfaces(encodingConfig.InterfaceRegistry) + ModuleBasics.RegisterLegacyAminoCodec(encodingConfig.Amino) + ModuleBasics.RegisterInterfaces(encodingConfig.InterfaceRegistry) + return encodingConfig +} diff --git a/app/params/encoding.go b/app/params/encoding.go new file mode 100644 index 00000000..3d634abf --- /dev/null +++ b/app/params/encoding.go @@ -0,0 +1,16 @@ +package params + +import ( + "github.com/cosmos/cosmos-sdk/client" + "github.com/cosmos/cosmos-sdk/codec" + "github.com/cosmos/cosmos-sdk/codec/types" +) + +// EncodingConfig specifies the concrete encoding types to use for a given app. +// This is provided for compatibility between protobuf and amino implementations. +type EncodingConfig struct { + InterfaceRegistry types.InterfaceRegistry + Marshaler codec.Codec + TxConfig client.TxConfig + Amino *codec.LegacyAmino +} diff --git a/cmd/Cardchaind/cmd/config.go b/cmd/Cardchaind/cmd/config.go new file mode 100644 index 00000000..0b3a1ee1 --- /dev/null +++ b/cmd/Cardchaind/cmd/config.go @@ -0,0 +1,23 @@ +package cmd + +import ( + sdk "github.com/cosmos/cosmos-sdk/types" + + "github.com/DecentralCardGame/Cardchain/app" +) + +func initSDKConfig() { + // Set prefixes + accountPubKeyPrefix := app.AccountAddressPrefix + "pub" + validatorAddressPrefix := app.AccountAddressPrefix + "valoper" + validatorPubKeyPrefix := app.AccountAddressPrefix + "valoperpub" + consNodeAddressPrefix := app.AccountAddressPrefix + "valcons" + consNodePubKeyPrefix := app.AccountAddressPrefix + "valconspub" + + // Set and seal config + config := sdk.GetConfig() + config.SetBech32PrefixForAccount(app.AccountAddressPrefix, accountPubKeyPrefix) + config.SetBech32PrefixForValidator(validatorAddressPrefix, validatorPubKeyPrefix) + config.SetBech32PrefixForConsensusNode(consNodeAddressPrefix, consNodePubKeyPrefix) + config.Seal() +} diff --git a/cmd/Cardchaind/cmd/genaccounts.go b/cmd/Cardchaind/cmd/genaccounts.go new file mode 100644 index 00000000..d5ec6533 --- /dev/null +++ b/cmd/Cardchaind/cmd/genaccounts.go @@ -0,0 +1,192 @@ +package cmd + +import ( + "bufio" + "encoding/json" + "errors" + "fmt" + + "github.com/cosmos/cosmos-sdk/client" + "github.com/cosmos/cosmos-sdk/client/flags" + "github.com/cosmos/cosmos-sdk/crypto/keyring" + "github.com/cosmos/cosmos-sdk/server" + sdk "github.com/cosmos/cosmos-sdk/types" + authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" + authvesting "github.com/cosmos/cosmos-sdk/x/auth/vesting/types" + banktypes "github.com/cosmos/cosmos-sdk/x/bank/types" + "github.com/cosmos/cosmos-sdk/x/genutil" + genutiltypes "github.com/cosmos/cosmos-sdk/x/genutil/types" + "github.com/spf13/cobra" +) + +const ( + flagVestingStart = "vesting-start-time" + flagVestingEnd = "vesting-end-time" + flagVestingAmt = "vesting-amount" +) + +// AddGenesisAccountCmd returns add-genesis-account cobra Command. +func AddGenesisAccountCmd(defaultNodeHome string) *cobra.Command { + cmd := &cobra.Command{ + Use: "add-genesis-account [address_or_key_name] [coin][,[coin]]", + Short: "Add a genesis account to genesis.json", + Long: `Add a genesis account to genesis.json. The provided account must specify +the account address or key name and a list of initial coins. If a key name is given, +the address will be looked up in the local Keybase. The list of initial tokens must +contain valid denominations. Accounts may optionally be supplied with vesting parameters. +`, + Args: cobra.ExactArgs(2), + RunE: func(cmd *cobra.Command, args []string) error { + clientCtx := client.GetClientContextFromCmd(cmd) + cdc := clientCtx.Codec + + serverCtx := server.GetServerContextFromCmd(cmd) + config := serverCtx.Config + + config.SetRoot(clientCtx.HomeDir) + + coins, err := sdk.ParseCoinsNormalized(args[1]) + if err != nil { + return fmt.Errorf("failed to parse coins: %w", err) + } + + addr, err := sdk.AccAddressFromBech32(args[0]) + if err != nil { + inBuf := bufio.NewReader(cmd.InOrStdin()) + keyringBackend, err := cmd.Flags().GetString(flags.FlagKeyringBackend) + if err != nil { + return err + } + + // attempt to lookup address from Keybase if no address was provided + kb, err := keyring.New(sdk.KeyringServiceName(), keyringBackend, clientCtx.HomeDir, inBuf, cdc) + if err != nil { + return err + } + + info, err := kb.Key(args[0]) + if err != nil { + return fmt.Errorf("failed to get address from Keybase: %w", err) + } + + addr, err = info.GetAddress() + if err != nil { + return fmt.Errorf("failed to get address from Keybase: %w", err) + } + } + + vestingStart, err := cmd.Flags().GetInt64(flagVestingStart) + if err != nil { + return err + } + vestingEnd, err := cmd.Flags().GetInt64(flagVestingEnd) + if err != nil { + return err + } + vestingAmtStr, err := cmd.Flags().GetString(flagVestingAmt) + if err != nil { + return err + } + + vestingAmt, err := sdk.ParseCoinsNormalized(vestingAmtStr) + if err != nil { + return fmt.Errorf("failed to parse vesting amount: %w", err) + } + + // create concrete account type based on input parameters + var genAccount authtypes.GenesisAccount + + balances := banktypes.Balance{Address: addr.String(), Coins: coins.Sort()} + baseAccount := authtypes.NewBaseAccount(addr, nil, 0, 0) + + if !vestingAmt.IsZero() { + baseVestingAccount := authvesting.NewBaseVestingAccount(baseAccount, vestingAmt.Sort(), vestingEnd) + + if (balances.Coins.IsZero() && !baseVestingAccount.OriginalVesting.IsZero()) || + baseVestingAccount.OriginalVesting.IsAnyGT(balances.Coins) { + return errors.New("vesting amount cannot be greater than total amount") + } + + switch { + case vestingStart != 0 && vestingEnd != 0: + genAccount = authvesting.NewContinuousVestingAccountRaw(baseVestingAccount, vestingStart) + + case vestingEnd != 0: + genAccount = authvesting.NewDelayedVestingAccountRaw(baseVestingAccount) + + default: + return errors.New("invalid vesting parameters; must supply start and end time or end time") + } + } else { + genAccount = baseAccount + } + + if err := genAccount.Validate(); err != nil { + return fmt.Errorf("failed to validate new genesis account: %w", err) + } + + genFile := config.GenesisFile() + appState, genDoc, err := genutiltypes.GenesisStateFromGenFile(genFile) + if err != nil { + return fmt.Errorf("failed to unmarshal genesis state: %w", err) + } + + authGenState := authtypes.GetGenesisStateFromAppState(cdc, appState) + + accs, err := authtypes.UnpackAccounts(authGenState.Accounts) + if err != nil { + return fmt.Errorf("failed to get accounts from any: %w", err) + } + + if accs.Contains(addr) { + return fmt.Errorf("cannot add account at existing address %s", addr) + } + + // Add the new account to the set of genesis accounts and sanitize the + // accounts afterwards. + accs = append(accs, genAccount) + accs = authtypes.SanitizeGenesisAccounts(accs) + + genAccs, err := authtypes.PackAccounts(accs) + if err != nil { + return fmt.Errorf("failed to convert accounts into any's: %w", err) + } + authGenState.Accounts = genAccs + + authGenStateBz, err := cdc.MarshalJSON(&authGenState) + if err != nil { + return fmt.Errorf("failed to marshal auth genesis state: %w", err) + } + + appState[authtypes.ModuleName] = authGenStateBz + + bankGenState := banktypes.GetGenesisStateFromAppState(cdc, appState) + bankGenState.Balances = append(bankGenState.Balances, balances) + bankGenState.Balances = banktypes.SanitizeGenesisBalances(bankGenState.Balances) + + bankGenStateBz, err := cdc.MarshalJSON(bankGenState) + if err != nil { + return fmt.Errorf("failed to marshal bank genesis state: %w", err) + } + + appState[banktypes.ModuleName] = bankGenStateBz + + appStateJSON, err := json.Marshal(appState) + if err != nil { + return fmt.Errorf("failed to marshal application genesis state: %w", err) + } + + genDoc.AppState = appStateJSON + return genutil.ExportGenesisFile(genDoc, genFile) + }, + } + + cmd.Flags().String(flags.FlagKeyringBackend, flags.DefaultKeyringBackend, "Select keyring's backend (os|file|kwallet|pass|test)") + cmd.Flags().String(flags.FlagHome, defaultNodeHome, "The application home directory") + cmd.Flags().String(flagVestingAmt, "", "amount of coins for vesting accounts") + cmd.Flags().Int64(flagVestingStart, 0, "schedule start time (unix epoch) for vesting accounts") + cmd.Flags().Int64(flagVestingEnd, 0, "schedule end time (unix epoch) for vesting accounts") + flags.AddQueryFlagsToCmd(cmd) + + return cmd +} diff --git a/cmd/Cardchaind/cmd/root.go b/cmd/Cardchaind/cmd/root.go new file mode 100644 index 00000000..4fdebf44 --- /dev/null +++ b/cmd/Cardchaind/cmd/root.go @@ -0,0 +1,353 @@ +package cmd + +import ( + "errors" + "io" + "os" + "path/filepath" + "strings" + + "github.com/cosmos/cosmos-sdk/baseapp" + "github.com/cosmos/cosmos-sdk/client" + "github.com/cosmos/cosmos-sdk/client/config" + "github.com/cosmos/cosmos-sdk/client/debug" + "github.com/cosmos/cosmos-sdk/client/flags" + "github.com/cosmos/cosmos-sdk/client/keys" + "github.com/cosmos/cosmos-sdk/client/rpc" + "github.com/cosmos/cosmos-sdk/server" + serverconfig "github.com/cosmos/cosmos-sdk/server/config" + servertypes "github.com/cosmos/cosmos-sdk/server/types" + "github.com/cosmos/cosmos-sdk/snapshots" + snapshottypes "github.com/cosmos/cosmos-sdk/snapshots/types" + "github.com/cosmos/cosmos-sdk/store" + sdk "github.com/cosmos/cosmos-sdk/types" + authcmd "github.com/cosmos/cosmos-sdk/x/auth/client/cli" + "github.com/cosmos/cosmos-sdk/x/auth/types" + banktypes "github.com/cosmos/cosmos-sdk/x/bank/types" + "github.com/cosmos/cosmos-sdk/x/crisis" + genutilcli "github.com/cosmos/cosmos-sdk/x/genutil/client/cli" + "github.com/spf13/cast" + "github.com/spf13/cobra" + "github.com/spf13/pflag" + tmcfg "github.com/tendermint/tendermint/config" + tmcli "github.com/tendermint/tendermint/libs/cli" + "github.com/tendermint/tendermint/libs/log" + dbm "github.com/tendermint/tm-db" + // this line is used by starport scaffolding # root/moduleImport + + "github.com/DecentralCardGame/Cardchain/app" + appparams "github.com/DecentralCardGame/Cardchain/app/params" +) + +// NewRootCmd creates a new root command for a Cosmos SDK application +func NewRootCmd() (*cobra.Command, appparams.EncodingConfig) { + encodingConfig := app.MakeEncodingConfig() + initClientCtx := client.Context{}. + WithCodec(encodingConfig.Marshaler). + WithInterfaceRegistry(encodingConfig.InterfaceRegistry). + WithTxConfig(encodingConfig.TxConfig). + WithLegacyAmino(encodingConfig.Amino). + WithInput(os.Stdin). + WithAccountRetriever(types.AccountRetriever{}). + WithHomeDir(app.DefaultNodeHome). + WithViper("") + + rootCmd := &cobra.Command{ + Use: app.Name + "d", + Short: "Start Cardchaind node", + PersistentPreRunE: func(cmd *cobra.Command, _ []string) error { + // set the default command outputs + cmd.SetOut(cmd.OutOrStdout()) + cmd.SetErr(cmd.ErrOrStderr()) + initClientCtx, err := client.ReadPersistentCommandFlags(initClientCtx, cmd.Flags()) + if err != nil { + return err + } + initClientCtx, err = config.ReadFromClientConfig(initClientCtx) + if err != nil { + return err + } + + if err := client.SetCmdClientContextHandler(initClientCtx, cmd); err != nil { + return err + } + + customAppTemplate, customAppConfig := initAppConfig() + customTMConfig := initTendermintConfig() + return server.InterceptConfigsPreRunHandler( + cmd, customAppTemplate, customAppConfig, customTMConfig, + ) + }, + } + + initRootCmd(rootCmd, encodingConfig) + overwriteFlagDefaults(rootCmd, map[string]string{ + flags.FlagChainID: strings.ReplaceAll(app.Name, "-", ""), + flags.FlagKeyringBackend: "test", + }) + + return rootCmd, encodingConfig +} + +// initTendermintConfig helps to override default Tendermint Config values. +// return tmcfg.DefaultConfig if no custom configuration is required for the application. +func initTendermintConfig() *tmcfg.Config { + cfg := tmcfg.DefaultConfig() + return cfg +} + +func initRootCmd( + rootCmd *cobra.Command, + encodingConfig appparams.EncodingConfig, +) { + // Set config + initSDKConfig() + + rootCmd.AddCommand( + genutilcli.InitCmd(app.ModuleBasics, app.DefaultNodeHome), + genutilcli.CollectGenTxsCmd(banktypes.GenesisBalancesIterator{}, app.DefaultNodeHome), + genutilcli.MigrateGenesisCmd(), + genutilcli.GenTxCmd( + app.ModuleBasics, + encodingConfig.TxConfig, + banktypes.GenesisBalancesIterator{}, + app.DefaultNodeHome, + ), + genutilcli.ValidateGenesisCmd(app.ModuleBasics), + AddGenesisAccountCmd(app.DefaultNodeHome), + tmcli.NewCompletionCmd(rootCmd, true), + debug.Cmd(), + config.Cmd(), + // this line is used by starport scaffolding # root/commands + ) + + a := appCreator{ + encodingConfig, + } + + // add server commands + server.AddCommands( + rootCmd, + app.DefaultNodeHome, + a.newApp, + a.appExport, + addModuleInitFlags, + ) + + // add keybase, auxiliary RPC, query, and tx child commands + rootCmd.AddCommand( + rpc.StatusCommand(), + queryCommand(), + txCommand(), + keys.Commands(app.DefaultNodeHome), + ) +} + +// queryCommand returns the sub-command to send queries to the app +func queryCommand() *cobra.Command { + cmd := &cobra.Command{ + Use: "query", + Aliases: []string{"q"}, + Short: "Querying subcommands", + DisableFlagParsing: true, + SuggestionsMinimumDistance: 2, + RunE: client.ValidateCmd, + } + + cmd.AddCommand( + authcmd.GetAccountCmd(), + rpc.ValidatorCommand(), + rpc.BlockCommand(), + authcmd.QueryTxsByEventsCmd(), + authcmd.QueryTxCmd(), + ) + + app.ModuleBasics.AddQueryCommands(cmd) + cmd.PersistentFlags().String(flags.FlagChainID, "", "The network chain ID") + + return cmd +} + +// txCommand returns the sub-command to send transactions to the app +func txCommand() *cobra.Command { + cmd := &cobra.Command{ + Use: "tx", + Short: "Transactions subcommands", + DisableFlagParsing: true, + SuggestionsMinimumDistance: 2, + RunE: client.ValidateCmd, + } + + cmd.AddCommand( + authcmd.GetSignCommand(), + authcmd.GetSignBatchCommand(), + authcmd.GetMultiSignCommand(), + authcmd.GetValidateSignaturesCommand(), + flags.LineBreak, + authcmd.GetBroadcastCommand(), + authcmd.GetEncodeCommand(), + authcmd.GetDecodeCommand(), + ) + + app.ModuleBasics.AddTxCommands(cmd) + cmd.PersistentFlags().String(flags.FlagChainID, "", "The network chain ID") + + return cmd +} + +func addModuleInitFlags(startCmd *cobra.Command) { + crisis.AddModuleInitFlags(startCmd) + // this line is used by starport scaffolding # root/arguments +} + +func overwriteFlagDefaults(c *cobra.Command, defaults map[string]string) { + set := func(s *pflag.FlagSet, key, val string) { + if f := s.Lookup(key); f != nil { + f.DefValue = val + f.Value.Set(val) + } + } + for key, val := range defaults { + set(c.Flags(), key, val) + set(c.PersistentFlags(), key, val) + } + for _, c := range c.Commands() { + overwriteFlagDefaults(c, defaults) + } +} + +type appCreator struct { + encodingConfig appparams.EncodingConfig +} + +// newApp creates a new Cosmos SDK app +func (a appCreator) newApp( + logger log.Logger, + db dbm.DB, + traceStore io.Writer, + appOpts servertypes.AppOptions, +) servertypes.Application { + var cache sdk.MultiStorePersistentCache + + if cast.ToBool(appOpts.Get(server.FlagInterBlockCache)) { + cache = store.NewCommitKVStoreCacheManager() + } + + skipUpgradeHeights := make(map[int64]bool) + for _, h := range cast.ToIntSlice(appOpts.Get(server.FlagUnsafeSkipUpgrades)) { + skipUpgradeHeights[int64(h)] = true + } + + pruningOpts, err := server.GetPruningOptionsFromFlags(appOpts) + if err != nil { + panic(err) + } + + snapshotDir := filepath.Join(cast.ToString(appOpts.Get(flags.FlagHome)), "data", "snapshots") + snapshotDB, err := dbm.NewDB("metadata", dbm.GoLevelDBBackend, snapshotDir) + if err != nil { + panic(err) + } + snapshotStore, err := snapshots.NewStore(snapshotDB, snapshotDir) + if err != nil { + panic(err) + } + + snapshotOptions := snapshottypes.NewSnapshotOptions( + cast.ToUint64(appOpts.Get(server.FlagStateSyncSnapshotInterval)), + cast.ToUint32(appOpts.Get(server.FlagStateSyncSnapshotKeepRecent)), + ) + + return app.New( + logger, + db, + traceStore, + true, + skipUpgradeHeights, + cast.ToString(appOpts.Get(flags.FlagHome)), + cast.ToUint(appOpts.Get(server.FlagInvCheckPeriod)), + a.encodingConfig, + appOpts, + baseapp.SetPruning(pruningOpts), + baseapp.SetMinGasPrices(cast.ToString(appOpts.Get(server.FlagMinGasPrices))), + baseapp.SetMinRetainBlocks(cast.ToUint64(appOpts.Get(server.FlagMinRetainBlocks))), + baseapp.SetHaltHeight(cast.ToUint64(appOpts.Get(server.FlagHaltHeight))), + baseapp.SetHaltTime(cast.ToUint64(appOpts.Get(server.FlagHaltTime))), + baseapp.SetInterBlockCache(cache), + baseapp.SetTrace(cast.ToBool(appOpts.Get(server.FlagTrace))), + baseapp.SetIndexEvents(cast.ToStringSlice(appOpts.Get(server.FlagIndexEvents))), + baseapp.SetSnapshot(snapshotStore, snapshotOptions), + baseapp.SetIAVLCacheSize(cast.ToInt(appOpts.Get(server.FlagIAVLCacheSize))), + baseapp.SetIAVLDisableFastNode(cast.ToBool(appOpts.Get(server.FlagDisableIAVLFastNode))), + ) +} + +// appExport creates a new simapp (optionally at a given height) +func (a appCreator) appExport( + logger log.Logger, + db dbm.DB, + traceStore io.Writer, + height int64, + forZeroHeight bool, + jailAllowedAddrs []string, + appOpts servertypes.AppOptions, +) (servertypes.ExportedApp, error) { + homePath, ok := appOpts.Get(flags.FlagHome).(string) + if !ok || homePath == "" { + return servertypes.ExportedApp{}, errors.New("application home not set") + } + + app := app.New( + logger, + db, + traceStore, + height == -1, // -1: no height provided + map[int64]bool{}, + homePath, + uint(1), + a.encodingConfig, + appOpts, + ) + + if height != -1 { + if err := app.LoadHeight(height); err != nil { + return servertypes.ExportedApp{}, err + } + } + + return app.ExportAppStateAndValidators(forZeroHeight, jailAllowedAddrs) +} + +// initAppConfig helps to override default appConfig template and configs. +// return "", nil if no custom configuration is required for the application. +func initAppConfig() (string, interface{}) { + // The following code snippet is just for reference. + + type CustomAppConfig struct { + serverconfig.Config + } + + // Optionally allow the chain developer to overwrite the SDK's default + // server config. + srvCfg := serverconfig.DefaultConfig() + // The SDK's default minimum gas price is set to "" (empty value) inside + // app.toml. If left empty by validators, the node will halt on startup. + // However, the chain developer can set a default app.toml value for their + // validators here. + // + // In summary: + // - if you leave srvCfg.MinGasPrices = "", all validators MUST tweak their + // own app.toml config, + // - if you set srvCfg.MinGasPrices non-empty, validators CAN tweak their + // own app.toml to override, or use this default value. + // + // In simapp, we set the min gas prices to 0. + srvCfg.MinGasPrices = "0stake" + + customAppConfig := CustomAppConfig{ + Config: *srvCfg, + } + customAppTemplate := serverconfig.DefaultConfigTemplate + + return customAppTemplate, customAppConfig +} diff --git a/cmd/Cardchaind/main.go b/cmd/Cardchaind/main.go index a06002e8..e2a8c0b7 100644 --- a/cmd/Cardchaind/main.go +++ b/cmd/Cardchaind/main.go @@ -4,21 +4,20 @@ import ( "os" "github.com/DecentralCardGame/Cardchain/app" + "github.com/DecentralCardGame/Cardchain/cmd/Cardchaind/cmd" + "github.com/cosmos/cosmos-sdk/server" svrcmd "github.com/cosmos/cosmos-sdk/server/cmd" - "github.com/tendermint/spm/cosmoscmd" ) func main() { - rootCmd, _ := cosmoscmd.NewRootCmd( - app.Name, - app.AccountAddressPrefix, - app.DefaultNodeHome, - app.Name, - app.ModuleBasics, - app.New, - // this line is used by starport scaffolding # root/arguments - ) - if err := svrcmd.Execute(rootCmd, app.DefaultNodeHome); err != nil { - os.Exit(1) + rootCmd, _ := cmd.NewRootCmd() + if err := svrcmd.Execute(rootCmd, "", app.DefaultNodeHome); err != nil { + switch e := err.(type) { + case server.ErrorCode: + os.Exit(e.Code) + + default: + os.Exit(1) + } } } diff --git a/config.yml b/config.yml index 1746c72c..b489ea4f 100644 --- a/config.yml +++ b/config.yml @@ -9,11 +9,11 @@ build: accounts: - name: alice coins: - - 1000000000ucredits + - 1000000000000ucredits - 1000000000ubpf - name: bob coins: - - 10000000000ucredits + - 10000000000000ucredits - 10000000000ubpf faucet: name: bob @@ -25,8 +25,12 @@ faucet: - 5000000ubpf host: 0.0.0.0:4500 client: + typescript: + path: ../decentralcardgame-cardchain-client-ts vuex: path: vue/src/store + composables: + path: vue/src/composables openapi: path: docs/static/openapi.yml genesis: @@ -71,7 +75,7 @@ genesis: threshold: "0.500000000000000000" veto_threshold: "0.334000000000000000" voting_params: - voting_period: 172800s + voting_period: 300s mint: params: mint_denom: ubpf @@ -83,7 +87,7 @@ genesis: staking: params: bond_denom: ubpf - chain_id: Testnet3 + chain_id: carddevnet-1 validators: - name: alice bonded: 5000000ubpf @@ -98,7 +102,7 @@ validators: timeout_commit: 5s moniker: yesyoulikeCC p2p: - laddr: 0.0.0.0:26658 + laddr: 0.0.0.0:26656 rpc: laddr: 0.0.0.0:26657 pprof_laddr: :6061 diff --git a/config/nginx.conf b/config/nginx.conf index b8af8a77..b2eafa12 100644 --- a/config/nginx.conf +++ b/config/nginx.conf @@ -60,6 +60,44 @@ server { proxy_pass http://blockchain:1317$1$is_args$args; } + location ~ ^/grpc(/.*)?$ { + # Not sending ACAO header because it is already being added by the upstream + #add_header 'Access-Control-Allow-Origin' '*' always; + add_header 'Access-Control-Allow-Credentials' 'true' always; + add_header 'Access-Control-Allow-Headers' '*' always; + add_header 'Access-Control-Allow-Methods' '*' always; + add_header 'Access-Control-Max-Age' 1728000 always; + + if ($request_method = 'OPTIONS') { + return 200; + } + + proxy_redirect off; + proxy_set_header host $host; + proxy_set_header X-real-ip $remote_addr; + proxy_set_header X-forward-for $proxy_add_x_forwarded_for; + proxy_pass http://blockchain:9090$1$is_args$args; + } + + location ~ ^/grpc2(/.*)?$ { + # Not sending ACAO header because it is already being added by the upstream + #add_header 'Access-Control-Allow-Origin' '*' always; + add_header 'Access-Control-Allow-Credentials' 'true' always; + add_header 'Access-Control-Allow-Headers' '*' always; + add_header 'Access-Control-Allow-Methods' '*' always; + add_header 'Access-Control-Max-Age' 1728000 always; + + if ($request_method = 'OPTIONS') { + return 200; + } + + proxy_redirect off; + proxy_set_header host $host; + proxy_set_header X-real-ip $remote_addr; + proxy_set_header X-forward-for $proxy_add_x_forwarded_for; + proxy_pass http://blockchain:9091$1$is_args$args; + } + location ~ ^/tendermint(/.*)?$ { # Not sending ACAO header because it is already being added by the upstream #add_header 'Access-Control-Allow-Origin' '*' always; diff --git a/docker-compose.yml b/docker-compose.yml index a20b18af..bb8f45b3 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -5,12 +5,14 @@ services: build: . command: ./docker-run.sh volumes: - - /home/wieth:/home/tendermint/ + - ./backup:/backup + - ./docker-run.sh:/home/tendermint/docker-run.sh ports: - 26657:26657 - 26658:26658 - 1317:1317 - 9090:9090 + - 9091:9091 - 4500:4500 herd: @@ -28,6 +30,3 @@ services: command: /bin/bash -c "exec nginx -g 'daemon off;'" depends_on: - blockchain - -volumes: - database-data: # named volumes can be managed easier using docker-compose diff --git a/docker-run.sh b/docker-run.sh index 3c3ce9dc..6cb72df9 100755 --- a/docker-run.sh +++ b/docker-run.sh @@ -1,19 +1,81 @@ #!/bin/bash -# TODO -if false && test -f "/var/blockchain/exported_genesis.json"; then - echo -e "'\033[0;31m' exported_genesis.json found - reloading from there'\033[0m'" - mkdir ~/.ignite/local-chains/Cardchain - cp /var/blockchain/exported_genesis.json ~/.ignite/local-chains/Cardchain/exported_genesis.json - cp /var/blockchain/binary_checksum.txt ~/.ignite/local-chains/Cardchain/ - cp /var/blockchain/config_checksum.txt ~/.ignite/local-chains/Cardchain/ - cp /var/blockchain/source_checksum.txt ~/.ignite/local-chains/Cardchain/ +#set -eo pipefail + +echo -e "\033[0;32mfasten your seatbelts\033[0m" +FAUCET_SECRET_KEY="0x6F1f5bd93f3D59d6eed1d5ec40E29C1821029759" +CHAIN_ID=Cardchain + +if [ -z "$FAUCET_SECRET_KEY" ] +then + echo -e "\033[0;31mNO SECRET KEY FOR FAUCET CONFIGURED! \033[0m" + exit 1 fi -# empty blocks would be nice, but this doesn't start the faucet -#Cardchaind start --consensus.create_empty_blocks false +#we can derive the peer id from the address and should do so! +NODE_ADDR=$(cat syncnode.txt) +PEER_ID=$(curl -s "http://"$NODE_ADDR":26657/status" | jq -r .result.node_info.id) +SEEDS="" +PEERS=$PEER_ID"@"$NODE_ADDR":26656" +echo "peers is:" $PEERS +sed -i.bak -e "s/^seeds *=.*/seeds = \"$SEEDS\"/; s/^persistent_peers *=.*/persistent_peers = \"$PEERS\"/" $HOME/.Cardchain/config/config.toml + +SNAP_RPCs=("http://crowd.rpc.t.stavr.tech:21207" +"https://cardchain-testnet.nodejumper.io:443" +"https://cardchain-rpc.acloud.pp.ua:443") + +# for i in "${SNAP_RPCs[@]}"; do +# if curl --output /dev/null --silent --head --fail --connect-timeout 5 $i; then +# echo "URL exists: $i" +# SNAP_RPC=$i +# break +# else +# echo "not reachable $i" +# fi +# done + +# if [ -z "$SNAP_RPC" ] +# then +# echo -e "\033[0;31mNo SNAP_RPC available\033[0m" +# fi + +SNAP_RPC="http://$(cat syncnode.txt):26657" +LATEST_HEIGHT=$(curl -s $SNAP_RPC/block | jq -r .result.block.header.height) +echo $LATEST_HEIGHT +BLOCK_HEIGHT=$((LATEST_HEIGHT)); \ +TRUST_HASH=$(curl -s "$SNAP_RPC/block?height=$BLOCK_HEIGHT" | jq -r .result.block_id.hash) +echo -e "\033[0;36mlatest height: $LATEST_HEIGHT \nblock height: $BLOCK_HEIGHT \ntrust hash: $TRUST_HASH \033[0m" + +sed -i.bak -E "s|^(enable[[:space:]]+=[[:space:]]+).*$|\1true| ; \ +s|^(rpc_servers[[:space:]]+=[[:space:]]+).*$|\1\"$SNAP_RPC,$SNAP_RPC\"| ; \ +s|^(trust_height[[:space:]]+=[[:space:]]+).*$|\1$BLOCK_HEIGHT| ; \ +s|^(trust_hash[[:space:]]+=[[:space:]]+).*$|\1\"$TRUST_HASH\"|" $HOME/.Cardchain/config/config.toml; \ + +# config pruning +indexer="kv" +pruning="custom" +pruning_keep_recent="100" +pruning_keep_every="0" +pruning_interval="10" + +sed -i -e "s/^indexer *=.*/indexer = \"$indexer\"/" $HOME/.Cardchain/config/config.toml +sed -i -e "s/^pruning *=.*/pruning = \"$pruning\"/" $HOME/.Cardchain/config/app.toml +sed -i -e "s/^pruning-keep-recent *=.*/pruning-keep-recent = \"$pruning_keep_recent\"/" $HOME/.Cardchain/config/app.toml +sed -i -e "s/^pruning-keep-every *=.*/pruning-keep-every = \"$pruning_keep_every\"/" $HOME/.Cardchain/config/app.toml +sed -i -e "s/^pruning-interval *=.*/pruning-interval = \"$pruning_interval\"/" $HOME/.Cardchain/config/app.toml + +echo -e "\033[0;32mstarting faucet \033[0m" +sed -i -e "s/^SECRET_KEY *=.*/SECRET_KEY = \"$FAUCET_SECRET_KEY\"/" go-faucet-master/.env +cd go-faucet-master +./go-faucet & +echo -e "\033[0;31mfaucet adress: \033[0;36m $(Cardchaind keys show alice --address) \033[0;31m must be registered!\033[0m use scripts/register_faucet.sh for that" +echo $(Cardchaind keys show alice --address) > /backup/faucetaddress.txt -./ignite chain serve +echo -e "\033[0;32mstarting Blockchain\033[0m" +Cardchaind start -# the following line is evaluated if csd is terminated via pkill (docker-stop-and-export.sh) -Cardchaind export > ~/.ignite/local-chains/Cardchain/exported_genesis.json +# backup area (this will be executed if the Cardchaind process is killed) +now=$(date +"%d.%m.%Y") +Cardchaind export > /backup/genesis$now.json +echo "BACKUP should be in /backup/genesis$now - don't forget to use migrate_with_data.py script in case you need it" +echo "fail? is backup folder owned by root? (no idea how this happens though)" diff --git a/docker-stop-and-export.sh b/docker-stop-and-export.sh index 93073263..91208fe8 100644 --- a/docker-stop-and-export.sh +++ b/docker-stop-and-export.sh @@ -1,5 +1,8 @@ #!/bin/bash +echo "please give write permission to backup folder:" +sudo chmod o+w backup + PID=$(docker-compose exec blockchain pidof Cardchaind) echo PID:$PID @@ -11,4 +14,5 @@ done echo "writing backup" -sh ./scripts/backupGenesis.sh +# no longer necessary +#sh ./scripts/backupGenesis.sh diff --git a/docs/static/openapi.yml b/docs/static/openapi.yml index c0980984..0b9ceafc 100644 --- a/docs/static/openapi.yml +++ b/docs/static/openapi.yml @@ -198,9 +198,10 @@ paths: next_key: type: string format: byte - title: |- + description: |- next_key is the key to be passed to PageRequest.key to - query the next page most efficiently + query the next page most efficiently. It will be empty if + there are no more results. total: type: string format: uint64 @@ -470,6 +471,7 @@ paths: type: object properties: account: + description: account defines the account of the corresponding address. type: object properties: '@type': @@ -530,117 +532,219 @@ paths: used with implementation specific semantics. additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer message - along with a + description: >- + QueryAccountResponse is the response type for the Query/Account + RPC method. + default: + description: An unexpected error response. + schema: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + '@type': + type: string + description: >- + A URL/resource name that uniquely identifies the type of + the serialized - URL that describes the type of the serialized message. + protocol buffer message. This string must contain at + least + one "/" character. The last segment of the URL's path + must represent - Protobuf library provides support to pack/unpack Any values in - the form + the fully qualified name of the type (as in - of utility functions or additional generated methods of the - Any type. + `path/google.protobuf.Duration`). The name should be in + a canonical form + (e.g., leading "." is not accepted). - Example 1: Pack and unpack a message in C++. - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { + In practice, teams usually precompile into the binary + all types that they + + expect it to use in the context of Any. However, for + URLs which use the + + scheme `http`, `https`, or no scheme, one can optionally + set up a type + + server that maps type URLs to message definitions as + follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based + on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available in + the official + + protobuf release, and it is not used for type URLs + beginning with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty scheme) + might be + + used with implementation specific semantics. + additionalProperties: {} + description: >- + `Any` contains an arbitrary serialized protocol buffer + message along with a + + URL that describes the type of the serialized message. + + + Protobuf library provides support to pack/unpack Any values + in the form + + of utility functions or additional generated methods of the + Any type. + + + Example 1: Pack and unpack a message in C++. + + Foo foo = ...; + Any any; + any.PackFrom(foo); ... - } + if (any.UnpackTo(&foo)) { + ... + } - Example 2: Pack and unpack a message in Java. + Example 2: Pack and unpack a message in Java. - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } - Example 3: Pack and unpack a message in Python. + Example 3: Pack and unpack a message in Python. - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) + foo = Foo(...) + any = Any() + any.Pack(foo) ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... - Example 4: Pack and unpack a message in Go + Example 4: Pack and unpack a message in Go - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } ... - } + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } - The pack methods provided by protobuf library will by default - use + The pack methods provided by protobuf library will by + default use - 'type.googleapis.com/full.type.name' as the type URL and the - unpack + 'type.googleapis.com/full.type.name' as the type URL and the + unpack - methods only use the fully qualified type name after the last - '/' + methods only use the fully qualified type name after the + last '/' - in the type URL, for example "foo.bar.com/x/y.z" will yield - type + in the type URL, for example "foo.bar.com/x/y.z" will yield + type - name "y.z". + name "y.z". - JSON + JSON - ==== + ==== - The JSON representation of an `Any` value uses the regular + The JSON representation of an `Any` value uses the regular - representation of the deserialized, embedded message, with an + representation of the deserialized, embedded message, with + an - additional field `@type` which contains the type URL. Example: + additional field `@type` which contains the type URL. + Example: - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } - If the embedded message type is well-known and has a custom - JSON + If the embedded message type is well-known and has a custom + JSON - representation, that representation will be embedded adding a - field + representation, that representation will be embedded adding + a field - `value` which holds the custom JSON in addition to the `@type` + `value` which holds the custom JSON in addition to the + `@type` - field. Example (for message [google.protobuf.Duration][]): + field. Example (for message [google.protobuf.Duration][]): - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - description: >- - QueryAccountResponse is the response type for the Query/Account - RPC method. + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + parameters: + - name: address + description: address defines the address to query for. + in: path + required: true + type: string + tags: + - Query + /cosmos/auth/v1beta1/address_by_id/{id}: + get: + summary: AccountAddressByID returns account address based on account number. + description: 'Since: cosmos-sdk 0.46.2' + operationId: CosmosAuthV1Beta1AccountAddressByID + responses: + '200': + description: A successful response. + schema: + type: object + properties: + account_address: + type: string + description: 'Since: cosmos-sdk 0.46.2' + title: >- + QueryAccountAddressByIDResponse is the response type for + AccountAddressByID rpc method default: description: An unexpected error response. schema: @@ -827,45 +931,36 @@ paths: "value": "1.212s" } parameters: - - name: address - description: address defines the address to query for. + - name: id + description: |- + id is the account number of the address to be queried. This field + should have been an uint64 (like all account numbers), and will be + updated to uint64 in a future version of the auth query. in: path required: true type: string + format: int64 tags: - Query - /cosmos/auth/v1beta1/params: + /cosmos/auth/v1beta1/bech32: get: - summary: Params queries all parameters. - operationId: CosmosAuthV1Beta1Params + summary: Bech32Prefix queries bech32Prefix + description: 'Since: cosmos-sdk 0.46' + operationId: CosmosAuthV1Beta1Bech32Prefix responses: '200': description: A successful response. schema: type: object properties: - params: - description: params defines the parameters of the module. - type: object - properties: - max_memo_characters: - type: string - format: uint64 - tx_sig_limit: - type: string - format: uint64 - tx_size_cost_per_byte: - type: string - format: uint64 - sig_verify_cost_ed25519: - type: string - format: uint64 - sig_verify_cost_secp256k1: - type: string - format: uint64 + bech32_prefix: + type: string description: >- - QueryParamsResponse is the response type for the Query/Params RPC + Bech32PrefixResponse is the response type for Bech32Prefix rpc method. + + + Since: cosmos-sdk 0.46 default: description: An unexpected error response. schema: @@ -1053,226 +1148,238 @@ paths: } tags: - Query - /cosmos/authz/v1beta1/grants: + /cosmos/auth/v1beta1/bech32/{address_bytes}: get: - summary: Returns list of `Authorization`, granted to the grantee by the granter. - operationId: CosmosAuthzV1Beta1Grants + summary: AddressBytesToString converts Account Address bytes to string + description: 'Since: cosmos-sdk 0.46' + operationId: CosmosAuthV1Beta1AddressBytesToString responses: '200': description: A successful response. schema: type: object properties: - grants: + address_string: + type: string + description: >- + AddressBytesToStringResponse is the response type for + AddressString rpc method. + + + Since: cosmos-sdk 0.46 + default: + description: An unexpected error response. + schema: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + details: type: array items: type: object properties: - authorization: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the - type of the serialized - - protocol buffer message. This string must contain at - least + '@type': + type: string + description: >- + A URL/resource name that uniquely identifies the type of + the serialized - one "/" character. The last segment of the URL's - path must represent + protocol buffer message. This string must contain at + least - the fully qualified name of the type (as in + one "/" character. The last segment of the URL's path + must represent - `path/google.protobuf.Duration`). The name should be - in a canonical form + the fully qualified name of the type (as in - (e.g., leading "." is not accepted). + `path/google.protobuf.Duration`). The name should be in + a canonical form + (e.g., leading "." is not accepted). - In practice, teams usually precompile into the - binary all types that they - expect it to use in the context of Any. However, for - URLs which use the + In practice, teams usually precompile into the binary + all types that they - scheme `http`, `https`, or no scheme, one can - optionally set up a type + expect it to use in the context of Any. However, for + URLs which use the - server that maps type URLs to message definitions as - follows: + scheme `http`, `https`, or no scheme, one can optionally + set up a type + server that maps type URLs to message definitions as + follows: - * If no scheme is provided, `https` is assumed. - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results - based on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) + * If no scheme is provided, `https` is assumed. - Note: this functionality is not currently available - in the official + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based + on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) - protobuf release, and it is not used for type URLs - beginning with + Note: this functionality is not currently available in + the official - type.googleapis.com. + protobuf release, and it is not used for type URLs + beginning with + type.googleapis.com. - Schemes other than `http`, `https` (or the empty - scheme) might be - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a + Schemes other than `http`, `https` (or the empty scheme) + might be - URL that describes the type of the serialized message. + used with implementation specific semantics. + additionalProperties: {} + description: >- + `Any` contains an arbitrary serialized protocol buffer + message along with a + URL that describes the type of the serialized message. - Protobuf library provides support to pack/unpack Any - values in the form - of utility functions or additional generated methods of - the Any type. + Protobuf library provides support to pack/unpack Any values + in the form + of utility functions or additional generated methods of the + Any type. - Example 1: Pack and unpack a message in C++. - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } + Example 1: Pack and unpack a message in C++. - Example 2: Pack and unpack a message in Java. + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } + Example 2: Pack and unpack a message in Java. - Example 3: Pack and unpack a message in Python. + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... + Example 3: Pack and unpack a message in Python. - Example 4: Pack and unpack a message in Go + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } + Example 4: Pack and unpack a message in Go - The pack methods provided by protobuf library will by - default use + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } - 'type.googleapis.com/full.type.name' as the type URL and - the unpack + The pack methods provided by protobuf library will by + default use - methods only use the fully qualified type name after the - last '/' + 'type.googleapis.com/full.type.name' as the type URL and the + unpack - in the type URL, for example "foo.bar.com/x/y.z" will - yield type + methods only use the fully qualified type name after the + last '/' - name "y.z". + in the type URL, for example "foo.bar.com/x/y.z" will yield + type + name "y.z". - JSON - ==== + JSON - The JSON representation of an `Any` value uses the - regular + ==== - representation of the deserialized, embedded message, - with an + The JSON representation of an `Any` value uses the regular - additional field `@type` which contains the type URL. - Example: + representation of the deserialized, embedded message, with + an - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } + additional field `@type` which contains the type URL. + Example: - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } - If the embedded message type is well-known and has a - custom JSON + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } - representation, that representation will be embedded - adding a field + If the embedded message type is well-known and has a custom + JSON - `value` which holds the custom JSON in addition to the - `@type` + representation, that representation will be embedded adding + a field - field. Example (for message - [google.protobuf.Duration][]): + `value` which holds the custom JSON in addition to the + `@type` - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - expiration: - type: string - format: date-time - description: |- - Grant gives permissions to execute - the provide method with expiration time. - description: >- - authorizations is a list of grants granted for grantee by - granter. - pagination: - description: pagination defines an pagination for the response. - type: object - properties: - next_key: - type: string - format: byte - title: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently - total: - type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total + field. Example (for message [google.protobuf.Duration][]): - was set, its value is undefined otherwise + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + parameters: + - name: address_bytes + in: path + required: true + type: string + format: byte + tags: + - Query + /cosmos/auth/v1beta1/bech32/{address_string}: + get: + summary: AddressStringToBytes converts Address string to bytes + description: 'Since: cosmos-sdk 0.46' + operationId: CosmosAuthV1Beta1AddressStringToBytes + responses: + '200': + description: A successful response. + schema: + type: object + properties: + address_bytes: + type: string + format: byte description: >- - QueryGrantsResponse is the response type for the - Query/Authorizations RPC method. + AddressStringToBytesResponse is the response type for AddressBytes + rpc method. + + + Since: cosmos-sdk 0.46 default: description: An unexpected error response. schema: @@ -1459,382 +1566,204 @@ paths: "value": "1.212s" } parameters: - - name: granter - in: query - required: false - type: string - - name: grantee - in: query - required: false - type: string - - name: msg_type_url - description: >- - Optional, msg_type_url, when set, will query only grants matching - given msg type. - in: query - required: false - type: string - - name: pagination.key - description: |- - key is a value returned in PageResponse.next_key to begin - querying the next page most efficiently. Only one of offset or key - should be set. - in: query - required: false - type: string - format: byte - - name: pagination.offset - description: >- - offset is a numeric offset that can be used when key is unavailable. - - It is less efficient than using key. Only one of offset or key - should - - be set. - in: query - required: false - type: string - format: uint64 - - name: pagination.limit - description: >- - limit is the total number of results to be returned in the result - page. - - If left empty it will default to a value to be set by each app. - in: query - required: false + - name: address_string + in: path + required: true type: string - format: uint64 - - name: pagination.count_total - description: >- - count_total is set to true to indicate that the result set should - include - - a count of the total number of items available for pagination in - UIs. - - count_total is only respected when offset is used. It is ignored - when key - - is set. - in: query - required: false - type: boolean - - name: pagination.reverse - description: >- - reverse is set to true if results are to be returned in the - descending order. - - - Since: cosmos-sdk 0.43 - in: query - required: false - type: boolean tags: - Query - /cosmos/bank/v1beta1/balances/{address}: + /cosmos/auth/v1beta1/module_accounts: get: - summary: AllBalances queries the balance of all coins for a single account. - operationId: CosmosBankV1Beta1AllBalances + summary: ModuleAccounts returns all the existing module accounts. + description: 'Since: cosmos-sdk 0.46' + operationId: CosmosAuthV1Beta1ModuleAccounts responses: '200': description: A successful response. schema: type: object properties: - balances: + accounts: type: array items: type: object properties: - denom: - type: string - amount: + '@type': type: string - description: >- - Coin defines a token with a denomination and an amount. + description: >- + A URL/resource name that uniquely identifies the type of + the serialized + protocol buffer message. This string must contain at + least - NOTE: The amount field is an Int which implements the custom - method + one "/" character. The last segment of the URL's path + must represent - signatures required by gogoproto. - description: balances is the balances of all the coins. - pagination: - description: pagination defines the pagination in the response. - type: object - properties: - next_key: - type: string - format: byte - title: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently - total: - type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total + the fully qualified name of the type (as in - was set, its value is undefined otherwise - description: >- - QueryAllBalancesResponse is the response type for the - Query/AllBalances RPC + `path/google.protobuf.Duration`). The name should be in + a canonical form - method. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: address - description: address is the address to query balances for. - in: path - required: true - type: string - - name: pagination.key - description: |- - key is a value returned in PageResponse.next_key to begin - querying the next page most efficiently. Only one of offset or key - should be set. - in: query - required: false - type: string - format: byte - - name: pagination.offset - description: >- - offset is a numeric offset that can be used when key is unavailable. + (e.g., leading "." is not accepted). - It is less efficient than using key. Only one of offset or key - should - be set. - in: query - required: false - type: string - format: uint64 - - name: pagination.limit - description: >- - limit is the total number of results to be returned in the result - page. + In practice, teams usually precompile into the binary + all types that they - If left empty it will default to a value to be set by each app. - in: query - required: false - type: string - format: uint64 - - name: pagination.count_total - description: >- - count_total is set to true to indicate that the result set should - include + expect it to use in the context of Any. However, for + URLs which use the - a count of the total number of items available for pagination in - UIs. + scheme `http`, `https`, or no scheme, one can optionally + set up a type - count_total is only respected when offset is used. It is ignored - when key + server that maps type URLs to message definitions as + follows: - is set. - in: query - required: false - type: boolean - - name: pagination.reverse - description: >- - reverse is set to true if results are to be returned in the - descending order. + * If no scheme is provided, `https` is assumed. - Since: cosmos-sdk 0.43 - in: query - required: false - type: boolean - tags: - - Query - /cosmos/bank/v1beta1/balances/{address}/by_denom: - get: - summary: Balance queries the balance of a single coin for a single account. - operationId: CosmosBankV1Beta1Balance - responses: - '200': - description: A successful response. - schema: - type: object - properties: - balance: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based + on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + Note: this functionality is not currently available in + the official - NOTE: The amount field is an Int which implements the custom - method + protobuf release, and it is not used for type URLs + beginning with - signatures required by gogoproto. - description: >- - QueryBalanceResponse is the response type for the Query/Balance - RPC method. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty scheme) + might be + + used with implementation specific semantics. additionalProperties: {} - parameters: - - name: address - description: address is the address to query balances for. - in: path - required: true - type: string - - name: denom - description: denom is the coin denom to query balances for. - in: query - required: false - type: string - tags: - - Query - /cosmos/bank/v1beta1/denoms_metadata: - get: - summary: >- - DenomsMetadata queries the client metadata for all registered coin - denominations. - operationId: CosmosBankV1Beta1DenomsMetadata - responses: - '200': - description: A successful response. - schema: - type: object - properties: - metadatas: - type: array - items: - type: object - properties: - description: - type: string - denom_units: - type: array - items: - type: object - properties: - denom: - type: string - description: >- - denom represents the string name of the given - denom unit (e.g uatom). - exponent: - type: integer - format: int64 - description: >- - exponent represents power of 10 exponent that one - must + description: >- + `Any` contains an arbitrary serialized protocol buffer + message along with a - raise the base_denom to in order to equal the - given DenomUnit's denom + URL that describes the type of the serialized message. - 1 denom = 1^exponent base_denom - (e.g. with a base_denom of uatom, one can create a - DenomUnit of 'atom' with + Protobuf library provides support to pack/unpack Any values + in the form - exponent = 6, thus: 1 atom = 10^6 uatom). - aliases: - type: array - items: - type: string - title: >- - aliases is a list of string aliases for the given - denom - description: |- - DenomUnit represents a struct that describes a given - denomination unit of the basic token. - title: >- - denom_units represents the list of DenomUnit's for a - given coin - base: - type: string - description: >- - base represents the base denom (should be the DenomUnit - with exponent = 0). - display: - type: string - description: |- - display indicates the suggested denom that should be - displayed in clients. - name: - type: string - description: 'Since: cosmos-sdk 0.43' - title: 'name defines the name of the token (eg: Cosmos Atom)' - symbol: - type: string - description: >- - symbol is the token symbol usually shown on exchanges - (eg: ATOM). This can + of utility functions or additional generated methods of the + Any type. - be the same as the display. + Example 1: Pack and unpack a message in C++. - Since: cosmos-sdk 0.43 - description: |- - Metadata represents a struct that describes - a basic token. - description: >- - metadata provides the client information for all the - registered tokens. - pagination: - description: pagination defines the pagination in the response. - type: object - properties: - next_key: - type: string - format: byte - title: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently - total: - type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } - was set, its value is undefined otherwise + Example 2: Pack and unpack a message in Java. + + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + + Example 3: Pack and unpack a message in Python. + + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + + Example 4: Pack and unpack a message in Go + + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } + + The pack methods provided by protobuf library will by + default use + + 'type.googleapis.com/full.type.name' as the type URL and the + unpack + + methods only use the fully qualified type name after the + last '/' + + in the type URL, for example "foo.bar.com/x/y.z" will yield + type + + name "y.z". + + + + JSON + + ==== + + The JSON representation of an `Any` value uses the regular + + representation of the deserialized, embedded message, with + an + + additional field `@type` which contains the type URL. + Example: + + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } + + If the embedded message type is well-known and has a custom + JSON + + representation, that representation will be embedded adding + a field + + `value` which holds the custom JSON in addition to the + `@type` + + field. Example (for message [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } description: >- - QueryDenomsMetadataResponse is the response type for the - Query/DenomsMetadata RPC + QueryModuleAccountsResponse is the response type for the + Query/ModuleAccounts RPC method. - method. + + Since: cosmos-sdk 0.46 default: description: An unexpected error response. schema: @@ -1852,152 +1781,358 @@ paths: properties: '@type': type: string + description: >- + A URL/resource name that uniquely identifies the type of + the serialized + + protocol buffer message. This string must contain at + least + + one "/" character. The last segment of the URL's path + must represent + + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name should be in + a canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the binary + all types that they + + expect it to use in the context of Any. However, for + URLs which use the + + scheme `http`, `https`, or no scheme, one can optionally + set up a type + + server that maps type URLs to message definitions as + follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based + on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available in + the official + + protobuf release, and it is not used for type URLs + beginning with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty scheme) + might be + + used with implementation specific semantics. additionalProperties: {} - parameters: - - name: pagination.key - description: |- - key is a value returned in PageResponse.next_key to begin - querying the next page most efficiently. Only one of offset or key - should be set. - in: query - required: false - type: string - format: byte - - name: pagination.offset - description: >- - offset is a numeric offset that can be used when key is unavailable. + description: >- + `Any` contains an arbitrary serialized protocol buffer + message along with a - It is less efficient than using key. Only one of offset or key - should + URL that describes the type of the serialized message. - be set. - in: query - required: false - type: string - format: uint64 - - name: pagination.limit - description: >- - limit is the total number of results to be returned in the result - page. - If left empty it will default to a value to be set by each app. - in: query - required: false - type: string - format: uint64 - - name: pagination.count_total - description: >- - count_total is set to true to indicate that the result set should - include + Protobuf library provides support to pack/unpack Any values + in the form - a count of the total number of items available for pagination in - UIs. + of utility functions or additional generated methods of the + Any type. - count_total is only respected when offset is used. It is ignored - when key - is set. - in: query - required: false - type: boolean - - name: pagination.reverse - description: >- - reverse is set to true if results are to be returned in the - descending order. + Example 1: Pack and unpack a message in C++. + + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } + Example 2: Pack and unpack a message in Java. - Since: cosmos-sdk 0.43 - in: query - required: false - type: boolean + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + + Example 3: Pack and unpack a message in Python. + + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + + Example 4: Pack and unpack a message in Go + + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } + + The pack methods provided by protobuf library will by + default use + + 'type.googleapis.com/full.type.name' as the type URL and the + unpack + + methods only use the fully qualified type name after the + last '/' + + in the type URL, for example "foo.bar.com/x/y.z" will yield + type + + name "y.z". + + + + JSON + + ==== + + The JSON representation of an `Any` value uses the regular + + representation of the deserialized, embedded message, with + an + + additional field `@type` which contains the type URL. + Example: + + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } + + If the embedded message type is well-known and has a custom + JSON + + representation, that representation will be embedded adding + a field + + `value` which holds the custom JSON in addition to the + `@type` + + field. Example (for message [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } tags: - Query - /cosmos/bank/v1beta1/denoms_metadata/{denom}: + /cosmos/auth/v1beta1/module_accounts/{name}: get: - summary: DenomsMetadata queries the client metadata of a given coin denomination. - operationId: CosmosBankV1Beta1DenomMetadata + summary: ModuleAccountByName returns the module account info by module name + operationId: CosmosAuthV1Beta1ModuleAccountByName responses: '200': description: A successful response. schema: type: object properties: - metadata: + account: type: object properties: - description: + '@type': type: string - denom_units: - type: array - items: - type: object - properties: - denom: - type: string - description: >- - denom represents the string name of the given denom - unit (e.g uatom). - exponent: - type: integer - format: int64 - description: >- - exponent represents power of 10 exponent that one - must + description: >- + A URL/resource name that uniquely identifies the type of + the serialized - raise the base_denom to in order to equal the given - DenomUnit's denom + protocol buffer message. This string must contain at least - 1 denom = 1^exponent base_denom + one "/" character. The last segment of the URL's path must + represent - (e.g. with a base_denom of uatom, one can create a - DenomUnit of 'atom' with + the fully qualified name of the type (as in - exponent = 6, thus: 1 atom = 10^6 uatom). - aliases: - type: array - items: - type: string - title: >- - aliases is a list of string aliases for the given - denom - description: |- - DenomUnit represents a struct that describes a given - denomination unit of the basic token. - title: >- - denom_units represents the list of DenomUnit's for a given - coin - base: - type: string - description: >- - base represents the base denom (should be the DenomUnit - with exponent = 0). - display: - type: string - description: |- - display indicates the suggested denom that should be - displayed in clients. - name: - type: string - description: 'Since: cosmos-sdk 0.43' - title: 'name defines the name of the token (eg: Cosmos Atom)' - symbol: - type: string - description: >- - symbol is the token symbol usually shown on exchanges (eg: - ATOM). This can + `path/google.protobuf.Duration`). The name should be in a + canonical form - be the same as the display. + (e.g., leading "." is not accepted). - Since: cosmos-sdk 0.43 - description: |- - Metadata represents a struct that describes - a basic token. - description: >- - QueryDenomMetadataResponse is the response type for the - Query/DenomMetadata RPC + In practice, teams usually precompile into the binary all + types that they - method. + expect it to use in the context of Any. However, for URLs + which use the + + scheme `http`, `https`, or no scheme, one can optionally + set up a type + + server that maps type URLs to message definitions as + follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based + on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available in the + official + + protobuf release, and it is not used for type URLs + beginning with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty scheme) + might be + + used with implementation specific semantics. + additionalProperties: {} + description: >- + `Any` contains an arbitrary serialized protocol buffer message + along with a + + URL that describes the type of the serialized message. + + + Protobuf library provides support to pack/unpack Any values in + the form + + of utility functions or additional generated methods of the + Any type. + + + Example 1: Pack and unpack a message in C++. + + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } + + Example 2: Pack and unpack a message in Java. + + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + + Example 3: Pack and unpack a message in Python. + + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + + Example 4: Pack and unpack a message in Go + + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } + + The pack methods provided by protobuf library will by default + use + + 'type.googleapis.com/full.type.name' as the type URL and the + unpack + + methods only use the fully qualified type name after the last + '/' + + in the type URL, for example "foo.bar.com/x/y.z" will yield + type + + name "y.z". + + + + JSON + + ==== + + The JSON representation of an `Any` value uses the regular + + representation of the deserialized, embedded message, with an + + additional field `@type` which contains the type URL. Example: + + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } + + If the embedded message type is well-known and has a custom + JSON + + representation, that representation will be embedded adding a + field + + `value` which holds the custom JSON in addition to the `@type` + + field. Example (for message [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + description: >- + QueryModuleAccountByNameResponse is the response type for the + Query/ModuleAccountByName RPC method. default: description: An unexpected error response. schema: @@ -2015,19 +2150,185 @@ paths: properties: '@type': type: string + description: >- + A URL/resource name that uniquely identifies the type of + the serialized + + protocol buffer message. This string must contain at + least + + one "/" character. The last segment of the URL's path + must represent + + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name should be in + a canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the binary + all types that they + + expect it to use in the context of Any. However, for + URLs which use the + + scheme `http`, `https`, or no scheme, one can optionally + set up a type + + server that maps type URLs to message definitions as + follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based + on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available in + the official + + protobuf release, and it is not used for type URLs + beginning with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty scheme) + might be + + used with implementation specific semantics. additionalProperties: {} + description: >- + `Any` contains an arbitrary serialized protocol buffer + message along with a + + URL that describes the type of the serialized message. + + + Protobuf library provides support to pack/unpack Any values + in the form + + of utility functions or additional generated methods of the + Any type. + + + Example 1: Pack and unpack a message in C++. + + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } + + Example 2: Pack and unpack a message in Java. + + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + + Example 3: Pack and unpack a message in Python. + + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + + Example 4: Pack and unpack a message in Go + + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } + + The pack methods provided by protobuf library will by + default use + + 'type.googleapis.com/full.type.name' as the type URL and the + unpack + + methods only use the fully qualified type name after the + last '/' + + in the type URL, for example "foo.bar.com/x/y.z" will yield + type + + name "y.z". + + + + JSON + + ==== + + The JSON representation of an `Any` value uses the regular + + representation of the deserialized, embedded message, with + an + + additional field `@type` which contains the type URL. + Example: + + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } + + If the embedded message type is well-known and has a custom + JSON + + representation, that representation will be embedded adding + a field + + `value` which holds the custom JSON in addition to the + `@type` + + field. Example (for message [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } parameters: - - name: denom - description: denom is the coin denom to query the metadata for. + - name: name in: path required: true type: string tags: - Query - /cosmos/bank/v1beta1/params: + /cosmos/auth/v1beta1/params: get: - summary: Params queries the parameters of x/bank module. - operationId: CosmosBankV1Beta1Params + summary: Params queries all parameters. + operationId: CosmosAuthV1Beta1Params responses: '200': description: A successful response. @@ -2035,28 +2336,27 @@ paths: type: object properties: params: + description: params defines the parameters of the module. type: object properties: - send_enabled: - type: array - items: - type: object - properties: - denom: - type: string - enabled: - type: boolean - description: >- - SendEnabled maps coin denom to a send_enabled status - (whether a denom is - - sendable). - default_send_enabled: - type: boolean - description: Params defines the parameters for the bank module. + max_memo_characters: + type: string + format: uint64 + tx_sig_limit: + type: string + format: uint64 + tx_size_cost_per_byte: + type: string + format: uint64 + sig_verify_cost_ed25519: + type: string + format: uint64 + sig_verify_cost_secp256k1: + type: string + format: uint64 description: >- - QueryParamsResponse defines the response type for querying x/bank - parameters. + QueryParamsResponse is the response type for the Query/Params RPC + method. default: description: An unexpected error response. schema: @@ -2074,168 +2374,405 @@ paths: properties: '@type': type: string - additionalProperties: {} - tags: - - Query - /cosmos/bank/v1beta1/supply: - get: - summary: TotalSupply queries the total supply of all coins. - operationId: CosmosBankV1Beta1TotalSupply - responses: - '200': - description: A successful response. - schema: - type: object - properties: - supply: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. + description: >- + A URL/resource name that uniquely identifies the type of + the serialized + protocol buffer message. This string must contain at + least - NOTE: The amount field is an Int which implements the custom - method + one "/" character. The last segment of the URL's path + must represent - signatures required by gogoproto. - title: supply is the supply of the coins - pagination: - description: |- - pagination defines the pagination in the response. + the fully qualified name of the type (as in - Since: cosmos-sdk 0.43 - type: object - properties: - next_key: - type: string - format: byte - title: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently - total: - type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total + `path/google.protobuf.Duration`). The name should be in + a canonical form - was set, its value is undefined otherwise - title: >- - QueryTotalSupplyResponse is the response type for the - Query/TotalSupply RPC + (e.g., leading "." is not accepted). - method - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: pagination.key - description: |- - key is a value returned in PageResponse.next_key to begin - querying the next page most efficiently. Only one of offset or key - should be set. - in: query - required: false - type: string - format: byte - - name: pagination.offset - description: >- - offset is a numeric offset that can be used when key is unavailable. - It is less efficient than using key. Only one of offset or key - should + In practice, teams usually precompile into the binary + all types that they - be set. - in: query - required: false - type: string - format: uint64 - - name: pagination.limit - description: >- - limit is the total number of results to be returned in the result - page. + expect it to use in the context of Any. However, for + URLs which use the - If left empty it will default to a value to be set by each app. - in: query - required: false - type: string - format: uint64 - - name: pagination.count_total - description: >- - count_total is set to true to indicate that the result set should - include + scheme `http`, `https`, or no scheme, one can optionally + set up a type - a count of the total number of items available for pagination in - UIs. + server that maps type URLs to message definitions as + follows: - count_total is only respected when offset is used. It is ignored - when key - is set. - in: query - required: false - type: boolean - - name: pagination.reverse - description: >- - reverse is set to true if results are to be returned in the - descending order. + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based + on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + Note: this functionality is not currently available in + the official - Since: cosmos-sdk 0.43 - in: query - required: false - type: boolean + protobuf release, and it is not used for type URLs + beginning with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty scheme) + might be + + used with implementation specific semantics. + additionalProperties: {} + description: >- + `Any` contains an arbitrary serialized protocol buffer + message along with a + + URL that describes the type of the serialized message. + + + Protobuf library provides support to pack/unpack Any values + in the form + + of utility functions or additional generated methods of the + Any type. + + + Example 1: Pack and unpack a message in C++. + + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } + + Example 2: Pack and unpack a message in Java. + + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + + Example 3: Pack and unpack a message in Python. + + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + + Example 4: Pack and unpack a message in Go + + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } + + The pack methods provided by protobuf library will by + default use + + 'type.googleapis.com/full.type.name' as the type URL and the + unpack + + methods only use the fully qualified type name after the + last '/' + + in the type URL, for example "foo.bar.com/x/y.z" will yield + type + + name "y.z". + + + + JSON + + ==== + + The JSON representation of an `Any` value uses the regular + + representation of the deserialized, embedded message, with + an + + additional field `@type` which contains the type URL. + Example: + + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } + + If the embedded message type is well-known and has a custom + JSON + + representation, that representation will be embedded adding + a field + + `value` which holds the custom JSON in addition to the + `@type` + + field. Example (for message [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } tags: - Query - /cosmos/bank/v1beta1/supply/{denom}: + /cosmos/authz/v1beta1/grants: get: - summary: SupplyOf queries the supply of a single coin. - operationId: CosmosBankV1Beta1SupplyOf + summary: Returns list of `Authorization`, granted to the grantee by the granter. + operationId: CosmosAuthzV1Beta1Grants responses: '200': description: A successful response. schema: type: object properties: - amount: + grants: + type: array + items: + type: object + properties: + authorization: + type: object + properties: + '@type': + type: string + description: >- + A URL/resource name that uniquely identifies the + type of the serialized + + protocol buffer message. This string must contain at + least + + one "/" character. The last segment of the URL's + path must represent + + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name should be + in a canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the + binary all types that they + + expect it to use in the context of Any. However, for + URLs which use the + + scheme `http`, `https`, or no scheme, one can + optionally set up a type + + server that maps type URLs to message definitions as + follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results + based on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available + in the official + + protobuf release, and it is not used for type URLs + beginning with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty + scheme) might be + + used with implementation specific semantics. + additionalProperties: {} + description: >- + `Any` contains an arbitrary serialized protocol buffer + message along with a + + URL that describes the type of the serialized message. + + + Protobuf library provides support to pack/unpack Any + values in the form + + of utility functions or additional generated methods of + the Any type. + + + Example 1: Pack and unpack a message in C++. + + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } + + Example 2: Pack and unpack a message in Java. + + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + + Example 3: Pack and unpack a message in Python. + + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + + Example 4: Pack and unpack a message in Go + + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } + + The pack methods provided by protobuf library will by + default use + + 'type.googleapis.com/full.type.name' as the type URL and + the unpack + + methods only use the fully qualified type name after the + last '/' + + in the type URL, for example "foo.bar.com/x/y.z" will + yield type + + name "y.z". + + + + JSON + + ==== + + The JSON representation of an `Any` value uses the + regular + + representation of the deserialized, embedded message, + with an + + additional field `@type` which contains the type URL. + Example: + + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } + + If the embedded message type is well-known and has a + custom JSON + + representation, that representation will be embedded + adding a field + + `value` which holds the custom JSON in addition to the + `@type` + + field. Example (for message + [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + expiration: + type: string + format: date-time + title: >- + time when the grant will expire and will be pruned. If + null, then the grant + + doesn't have a time expiration (other conditions in + `authorization` + + may apply to invalidate the grant) + description: |- + Grant gives permissions to execute + the provide method with expiration time. + description: >- + authorizations is a list of grants granted for grantee by + granter. + pagination: + description: pagination defines an pagination for the response. type: object properties: - denom: + next_key: type: string - amount: + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + total: type: string - description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the custom - method + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total - signatures required by gogoproto. + was set, its value is undefined otherwise description: >- - QuerySupplyOfResponse is the response type for the Query/SupplyOf - RPC method. + QueryGrantsResponse is the response type for the + Query/Authorizations RPC method. default: description: An unexpected error response. schema: @@ -2253,582 +2790,474 @@ paths: properties: '@type': type: string + description: >- + A URL/resource name that uniquely identifies the type of + the serialized + + protocol buffer message. This string must contain at + least + + one "/" character. The last segment of the URL's path + must represent + + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name should be in + a canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the binary + all types that they + + expect it to use in the context of Any. However, for + URLs which use the + + scheme `http`, `https`, or no scheme, one can optionally + set up a type + + server that maps type URLs to message definitions as + follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based + on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available in + the official + + protobuf release, and it is not used for type URLs + beginning with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty scheme) + might be + + used with implementation specific semantics. additionalProperties: {} - parameters: - - name: denom - description: denom is the coin denom to query balances for. - in: path - required: true - type: string - tags: - - Query - /cosmos/base/tendermint/v1beta1/blocks/latest: - get: - summary: GetLatestBlock returns the latest block. - operationId: CosmosBaseTendermintV1Beta1GetLatestBlock - responses: - '200': - description: A successful response. - schema: - type: object - properties: - block_id: - type: object - properties: - hash: - type: string - format: byte - part_set_header: - type: object - properties: - total: - type: integer - format: int64 - hash: - type: string - format: byte - title: PartsetHeader - title: BlockID - block: - type: object - properties: - header: - type: object - properties: - version: - title: basic block info - type: object - properties: - block: - type: string - format: uint64 - app: - type: string - format: uint64 - description: >- - Consensus captures the consensus rules for processing - a block in the blockchain, + description: >- + `Any` contains an arbitrary serialized protocol buffer + message along with a - including all blockchain data structures and the rules - of the application's + URL that describes the type of the serialized message. - state transition machine. - chain_id: - type: string - height: - type: string - format: int64 - time: - type: string - format: date-time - last_block_id: - type: object - properties: - hash: - type: string - format: byte - part_set_header: - type: object - properties: - total: - type: integer - format: int64 - hash: - type: string - format: byte - title: PartsetHeader - title: BlockID - last_commit_hash: - type: string - format: byte - title: hashes of block data - data_hash: - type: string - format: byte - validators_hash: - type: string - format: byte - title: hashes from the app output from the prev block - next_validators_hash: - type: string - format: byte - consensus_hash: - type: string - format: byte - app_hash: - type: string - format: byte - last_results_hash: - type: string - format: byte - evidence_hash: - type: string - format: byte - title: consensus info - proposer_address: - type: string - format: byte - description: Header defines the structure of a Tendermint block header. - data: - type: object - properties: - txs: - type: array - items: + + Protobuf library provides support to pack/unpack Any values + in the form + + of utility functions or additional generated methods of the + Any type. + + + Example 1: Pack and unpack a message in C++. + + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } + + Example 2: Pack and unpack a message in Java. + + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + + Example 3: Pack and unpack a message in Python. + + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + + Example 4: Pack and unpack a message in Go + + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } + + The pack methods provided by protobuf library will by + default use + + 'type.googleapis.com/full.type.name' as the type URL and the + unpack + + methods only use the fully qualified type name after the + last '/' + + in the type URL, for example "foo.bar.com/x/y.z" will yield + type + + name "y.z". + + + + JSON + + ==== + + The JSON representation of an `Any` value uses the regular + + representation of the deserialized, embedded message, with + an + + additional field `@type` which contains the type URL. + Example: + + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } + + If the embedded message type is well-known and has a custom + JSON + + representation, that representation will be embedded adding + a field + + `value` which holds the custom JSON in addition to the + `@type` + + field. Example (for message [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + parameters: + - name: granter + in: query + required: false + type: string + - name: grantee + in: query + required: false + type: string + - name: msg_type_url + description: >- + Optional, msg_type_url, when set, will query only grants matching + given msg type. + in: query + required: false + type: string + - name: pagination.key + description: |- + key is a value returned in PageResponse.next_key to begin + querying the next page most efficiently. Only one of offset or key + should be set. + in: query + required: false + type: string + format: byte + - name: pagination.offset + description: >- + offset is a numeric offset that can be used when key is unavailable. + + It is less efficient than using key. Only one of offset or key + should + + be set. + in: query + required: false + type: string + format: uint64 + - name: pagination.limit + description: >- + limit is the total number of results to be returned in the result + page. + + If left empty it will default to a value to be set by each app. + in: query + required: false + type: string + format: uint64 + - name: pagination.count_total + description: >- + count_total is set to true to indicate that the result set should + include + + a count of the total number of items available for pagination in + UIs. + + count_total is only respected when offset is used. It is ignored + when key + + is set. + in: query + required: false + type: boolean + - name: pagination.reverse + description: >- + reverse is set to true if results are to be returned in the + descending order. + + + Since: cosmos-sdk 0.43 + in: query + required: false + type: boolean + tags: + - Query + /cosmos/authz/v1beta1/grants/grantee/{grantee}: + get: + summary: GranteeGrants returns a list of `GrantAuthorization` by grantee. + description: 'Since: cosmos-sdk 0.46' + operationId: CosmosAuthzV1Beta1GranteeGrants + responses: + '200': + description: A successful response. + schema: + type: object + properties: + grants: + type: array + items: + type: object + properties: + granter: + type: string + grantee: + type: string + authorization: + type: object + properties: + '@type': type: string - format: byte - description: >- - Txs that will be applied by state @ block.Height+1. + description: >- + A URL/resource name that uniquely identifies the + type of the serialized - NOTE: not all txs here are valid. We're just agreeing - on the order first. + protocol buffer message. This string must contain at + least - This means that block.AppHash does not include these - txs. - title: >- - Data contains the set of transactions included in the - block - evidence: - type: object - properties: - evidence: - type: array - items: - type: object - properties: - duplicate_vote_evidence: - type: object - properties: - vote_a: - type: object - properties: - type: - type: string - enum: - - SIGNED_MSG_TYPE_UNKNOWN - - SIGNED_MSG_TYPE_PREVOTE - - SIGNED_MSG_TYPE_PRECOMMIT - - SIGNED_MSG_TYPE_PROPOSAL - default: SIGNED_MSG_TYPE_UNKNOWN - description: >- - SignedMsgType is a type of signed - message in the consensus. + one "/" character. The last segment of the URL's + path must represent - - SIGNED_MSG_TYPE_PREVOTE: Votes - - SIGNED_MSG_TYPE_PROPOSAL: Proposals - height: - type: string - format: int64 - round: - type: integer - format: int32 - block_id: - type: object - properties: - hash: - type: string - format: byte - part_set_header: - type: object - properties: - total: - type: integer - format: int64 - hash: - type: string - format: byte - title: PartsetHeader - title: BlockID - timestamp: - type: string - format: date-time - validator_address: - type: string - format: byte - validator_index: - type: integer - format: int32 - signature: - type: string - format: byte - description: >- - Vote represents a prevote, precommit, or - commit vote from validators for + the fully qualified name of the type (as in - consensus. - vote_b: - type: object - properties: - type: - type: string - enum: - - SIGNED_MSG_TYPE_UNKNOWN - - SIGNED_MSG_TYPE_PREVOTE - - SIGNED_MSG_TYPE_PRECOMMIT - - SIGNED_MSG_TYPE_PROPOSAL - default: SIGNED_MSG_TYPE_UNKNOWN - description: >- - SignedMsgType is a type of signed - message in the consensus. + `path/google.protobuf.Duration`). The name should be + in a canonical form - - SIGNED_MSG_TYPE_PREVOTE: Votes - - SIGNED_MSG_TYPE_PROPOSAL: Proposals - height: - type: string - format: int64 - round: - type: integer - format: int32 - block_id: - type: object - properties: - hash: - type: string - format: byte - part_set_header: - type: object - properties: - total: - type: integer - format: int64 - hash: - type: string - format: byte - title: PartsetHeader - title: BlockID - timestamp: - type: string - format: date-time - validator_address: - type: string - format: byte - validator_index: - type: integer - format: int32 - signature: - type: string - format: byte - description: >- - Vote represents a prevote, precommit, or - commit vote from validators for + (e.g., leading "." is not accepted). - consensus. - total_voting_power: - type: string - format: int64 - validator_power: - type: string - format: int64 - timestamp: - type: string - format: date-time - description: >- - DuplicateVoteEvidence contains evidence of a - validator signed two conflicting votes. - light_client_attack_evidence: - type: object - properties: - conflicting_block: - type: object - properties: - signed_header: - type: object - properties: - header: - type: object - properties: - version: - title: basic block info - type: object - properties: - block: - type: string - format: uint64 - app: - type: string - format: uint64 - description: >- - Consensus captures the consensus rules - for processing a block in the - blockchain, - including all blockchain data structures - and the rules of the application's + In practice, teams usually precompile into the + binary all types that they - state transition machine. - chain_id: - type: string - height: - type: string - format: int64 - time: - type: string - format: date-time - last_block_id: - type: object - properties: - hash: - type: string - format: byte - part_set_header: - type: object - properties: - total: - type: integer - format: int64 - hash: - type: string - format: byte - title: PartsetHeader - title: BlockID - last_commit_hash: - type: string - format: byte - title: hashes of block data - data_hash: - type: string - format: byte - validators_hash: - type: string - format: byte - title: >- - hashes from the app output from the prev - block - next_validators_hash: - type: string - format: byte - consensus_hash: - type: string - format: byte - app_hash: - type: string - format: byte - last_results_hash: - type: string - format: byte - evidence_hash: - type: string - format: byte - title: consensus info - proposer_address: - type: string - format: byte - description: >- - Header defines the structure of a - Tendermint block header. - commit: - type: object - properties: - height: - type: string - format: int64 - round: - type: integer - format: int32 - block_id: - type: object - properties: - hash: - type: string - format: byte - part_set_header: - type: object - properties: - total: - type: integer - format: int64 - hash: - type: string - format: byte - title: PartsetHeader - title: BlockID - signatures: - type: array - items: - type: object - properties: - block_id_flag: - type: string - enum: - - BLOCK_ID_FLAG_UNKNOWN - - BLOCK_ID_FLAG_ABSENT - - BLOCK_ID_FLAG_COMMIT - - BLOCK_ID_FLAG_NIL - default: BLOCK_ID_FLAG_UNKNOWN - title: >- - BlockIdFlag indicates which BlcokID the - signature is for - validator_address: - type: string - format: byte - timestamp: - type: string - format: date-time - signature: - type: string - format: byte - description: >- - CommitSig is a part of the Vote included - in a Commit. - description: >- - Commit contains the evidence that a - block was committed by a set of - validators. - validator_set: - type: object - properties: - validators: - type: array - items: - type: object - properties: - address: - type: string - format: byte - pub_key: - type: object - properties: - ed25519: - type: string - format: byte - secp256k1: - type: string - format: byte - title: >- - PublicKey defines the keys available for - use with Tendermint Validators - voting_power: - type: string - format: int64 - proposer_priority: - type: string - format: int64 - proposer: - type: object - properties: - address: - type: string - format: byte - pub_key: - type: object - properties: - ed25519: - type: string - format: byte - secp256k1: - type: string - format: byte - title: >- - PublicKey defines the keys available for - use with Tendermint Validators - voting_power: - type: string - format: int64 - proposer_priority: - type: string - format: int64 - total_voting_power: - type: string - format: int64 - common_height: - type: string - format: int64 - byzantine_validators: - type: array - items: - type: object - properties: - address: - type: string - format: byte - pub_key: - type: object - properties: - ed25519: - type: string - format: byte - secp256k1: - type: string - format: byte - title: >- - PublicKey defines the keys available for - use with Tendermint Validators - voting_power: - type: string - format: int64 - proposer_priority: - type: string - format: int64 - total_voting_power: - type: string - format: int64 - timestamp: - type: string - format: date-time - description: >- - LightClientAttackEvidence contains evidence of a - set of validators attempting to mislead a light - client. - last_commit: - type: object - properties: - height: - type: string - format: int64 - round: - type: integer - format: int32 - block_id: - type: object - properties: - hash: - type: string - format: byte - part_set_header: - type: object - properties: - total: - type: integer - format: int64 - hash: - type: string - format: byte - title: PartsetHeader - title: BlockID - signatures: - type: array - items: - type: object - properties: - block_id_flag: - type: string - enum: - - BLOCK_ID_FLAG_UNKNOWN - - BLOCK_ID_FLAG_ABSENT - - BLOCK_ID_FLAG_COMMIT - - BLOCK_ID_FLAG_NIL - default: BLOCK_ID_FLAG_UNKNOWN - title: >- - BlockIdFlag indicates which BlcokID the - signature is for - validator_address: - type: string - format: byte - timestamp: - type: string - format: date-time - signature: - type: string - format: byte - description: >- - CommitSig is a part of the Vote included in a - Commit. - description: >- - Commit contains the evidence that a block was committed by - a set of validators. + expect it to use in the context of Any. However, for + URLs which use the + + scheme `http`, `https`, or no scheme, one can + optionally set up a type + + server that maps type URLs to message definitions as + follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results + based on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available + in the official + + protobuf release, and it is not used for type URLs + beginning with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty + scheme) might be + + used with implementation specific semantics. + additionalProperties: {} + description: >- + `Any` contains an arbitrary serialized protocol buffer + message along with a + + URL that describes the type of the serialized message. + + + Protobuf library provides support to pack/unpack Any + values in the form + + of utility functions or additional generated methods of + the Any type. + + + Example 1: Pack and unpack a message in C++. + + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } + + Example 2: Pack and unpack a message in Java. + + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + + Example 3: Pack and unpack a message in Python. + + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + + Example 4: Pack and unpack a message in Go + + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } + + The pack methods provided by protobuf library will by + default use + + 'type.googleapis.com/full.type.name' as the type URL and + the unpack + + methods only use the fully qualified type name after the + last '/' + + in the type URL, for example "foo.bar.com/x/y.z" will + yield type + + name "y.z". + + + + JSON + + ==== + + The JSON representation of an `Any` value uses the + regular + + representation of the deserialized, embedded message, + with an + + additional field `@type` which contains the type URL. + Example: + + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } + + If the embedded message type is well-known and has a + custom JSON + + representation, that representation will be embedded + adding a field + + `value` which holds the custom JSON in addition to the + `@type` + + field. Example (for message + [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + expiration: + type: string + format: date-time + title: >- + GrantAuthorization extends a grant with both the addresses + of the grantee and granter. + + It is used in genesis.proto and query.proto + description: grants is a list of grants granted to the grantee. + pagination: + description: pagination defines an pagination for the response. + type: object + properties: + next_key: + type: string + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + total: + type: string + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total + + was set, its value is undefined otherwise description: >- - GetLatestBlockResponse is the response type for the - Query/GetLatestBlock RPC method. + QueryGranteeGrantsResponse is the response type for the + Query/GranteeGrants RPC method. default: description: An unexpected error response. schema: @@ -3014,850 +3443,295 @@ paths: "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" } + parameters: + - name: grantee + in: path + required: true + type: string + - name: pagination.key + description: |- + key is a value returned in PageResponse.next_key to begin + querying the next page most efficiently. Only one of offset or key + should be set. + in: query + required: false + type: string + format: byte + - name: pagination.offset + description: >- + offset is a numeric offset that can be used when key is unavailable. + + It is less efficient than using key. Only one of offset or key + should + + be set. + in: query + required: false + type: string + format: uint64 + - name: pagination.limit + description: >- + limit is the total number of results to be returned in the result + page. + + If left empty it will default to a value to be set by each app. + in: query + required: false + type: string + format: uint64 + - name: pagination.count_total + description: >- + count_total is set to true to indicate that the result set should + include + + a count of the total number of items available for pagination in + UIs. + + count_total is only respected when offset is used. It is ignored + when key + + is set. + in: query + required: false + type: boolean + - name: pagination.reverse + description: >- + reverse is set to true if results are to be returned in the + descending order. + + + Since: cosmos-sdk 0.43 + in: query + required: false + type: boolean tags: - - Service - /cosmos/base/tendermint/v1beta1/blocks/{height}: + - Query + /cosmos/authz/v1beta1/grants/granter/{granter}: get: - summary: GetBlockByHeight queries block for given height. - operationId: CosmosBaseTendermintV1Beta1GetBlockByHeight + summary: GranterGrants returns list of `GrantAuthorization`, granted by granter. + description: 'Since: cosmos-sdk 0.46' + operationId: CosmosAuthzV1Beta1GranterGrants responses: '200': description: A successful response. schema: type: object properties: - block_id: - type: object - properties: - hash: - type: string - format: byte - part_set_header: - type: object - properties: - total: - type: integer - format: int64 - hash: - type: string - format: byte - title: PartsetHeader - title: BlockID - block: - type: object - properties: - header: - type: object - properties: - version: - title: basic block info - type: object - properties: - block: - type: string - format: uint64 - app: - type: string - format: uint64 - description: >- - Consensus captures the consensus rules for processing - a block in the blockchain, + grants: + type: array + items: + type: object + properties: + granter: + type: string + grantee: + type: string + authorization: + type: object + properties: + '@type': + type: string + description: >- + A URL/resource name that uniquely identifies the + type of the serialized - including all blockchain data structures and the rules - of the application's + protocol buffer message. This string must contain at + least - state transition machine. - chain_id: - type: string - height: - type: string - format: int64 - time: - type: string - format: date-time - last_block_id: - type: object - properties: - hash: - type: string - format: byte - part_set_header: - type: object - properties: - total: - type: integer - format: int64 - hash: - type: string - format: byte - title: PartsetHeader - title: BlockID - last_commit_hash: - type: string - format: byte - title: hashes of block data - data_hash: - type: string - format: byte - validators_hash: - type: string - format: byte - title: hashes from the app output from the prev block - next_validators_hash: - type: string - format: byte - consensus_hash: - type: string - format: byte - app_hash: - type: string - format: byte - last_results_hash: - type: string - format: byte - evidence_hash: - type: string - format: byte - title: consensus info - proposer_address: - type: string - format: byte - description: Header defines the structure of a Tendermint block header. - data: - type: object - properties: - txs: - type: array - items: - type: string - format: byte - description: >- - Txs that will be applied by state @ block.Height+1. + one "/" character. The last segment of the URL's + path must represent - NOTE: not all txs here are valid. We're just agreeing - on the order first. + the fully qualified name of the type (as in - This means that block.AppHash does not include these - txs. - title: >- - Data contains the set of transactions included in the - block - evidence: - type: object - properties: - evidence: - type: array - items: - type: object - properties: - duplicate_vote_evidence: - type: object - properties: - vote_a: - type: object - properties: - type: - type: string - enum: - - SIGNED_MSG_TYPE_UNKNOWN - - SIGNED_MSG_TYPE_PREVOTE - - SIGNED_MSG_TYPE_PRECOMMIT - - SIGNED_MSG_TYPE_PROPOSAL - default: SIGNED_MSG_TYPE_UNKNOWN - description: >- - SignedMsgType is a type of signed - message in the consensus. + `path/google.protobuf.Duration`). The name should be + in a canonical form - - SIGNED_MSG_TYPE_PREVOTE: Votes - - SIGNED_MSG_TYPE_PROPOSAL: Proposals - height: - type: string - format: int64 - round: - type: integer - format: int32 - block_id: - type: object - properties: - hash: - type: string - format: byte - part_set_header: - type: object - properties: - total: - type: integer - format: int64 - hash: - type: string - format: byte - title: PartsetHeader - title: BlockID - timestamp: - type: string - format: date-time - validator_address: - type: string - format: byte - validator_index: - type: integer - format: int32 - signature: - type: string - format: byte - description: >- - Vote represents a prevote, precommit, or - commit vote from validators for + (e.g., leading "." is not accepted). - consensus. - vote_b: - type: object - properties: - type: - type: string - enum: - - SIGNED_MSG_TYPE_UNKNOWN - - SIGNED_MSG_TYPE_PREVOTE - - SIGNED_MSG_TYPE_PRECOMMIT - - SIGNED_MSG_TYPE_PROPOSAL - default: SIGNED_MSG_TYPE_UNKNOWN - description: >- - SignedMsgType is a type of signed - message in the consensus. - - SIGNED_MSG_TYPE_PREVOTE: Votes - - SIGNED_MSG_TYPE_PROPOSAL: Proposals - height: - type: string - format: int64 - round: - type: integer - format: int32 - block_id: - type: object - properties: - hash: - type: string - format: byte - part_set_header: - type: object - properties: - total: - type: integer - format: int64 - hash: - type: string - format: byte - title: PartsetHeader - title: BlockID - timestamp: - type: string - format: date-time - validator_address: - type: string - format: byte - validator_index: - type: integer - format: int32 - signature: - type: string - format: byte - description: >- - Vote represents a prevote, precommit, or - commit vote from validators for + In practice, teams usually precompile into the + binary all types that they - consensus. - total_voting_power: - type: string - format: int64 - validator_power: - type: string - format: int64 - timestamp: - type: string - format: date-time - description: >- - DuplicateVoteEvidence contains evidence of a - validator signed two conflicting votes. - light_client_attack_evidence: - type: object - properties: - conflicting_block: - type: object - properties: - signed_header: - type: object - properties: - header: - type: object - properties: - version: - title: basic block info - type: object - properties: - block: - type: string - format: uint64 - app: - type: string - format: uint64 - description: >- - Consensus captures the consensus rules - for processing a block in the - blockchain, + expect it to use in the context of Any. However, for + URLs which use the - including all blockchain data structures - and the rules of the application's + scheme `http`, `https`, or no scheme, one can + optionally set up a type - state transition machine. - chain_id: - type: string - height: - type: string - format: int64 - time: - type: string - format: date-time - last_block_id: - type: object - properties: - hash: - type: string - format: byte - part_set_header: - type: object - properties: - total: - type: integer - format: int64 - hash: - type: string - format: byte - title: PartsetHeader - title: BlockID - last_commit_hash: - type: string - format: byte - title: hashes of block data - data_hash: - type: string - format: byte - validators_hash: - type: string - format: byte - title: >- - hashes from the app output from the prev - block - next_validators_hash: - type: string - format: byte - consensus_hash: - type: string - format: byte - app_hash: - type: string - format: byte - last_results_hash: - type: string - format: byte - evidence_hash: - type: string - format: byte - title: consensus info - proposer_address: - type: string - format: byte - description: >- - Header defines the structure of a - Tendermint block header. - commit: - type: object - properties: - height: - type: string - format: int64 - round: - type: integer - format: int32 - block_id: - type: object - properties: - hash: - type: string - format: byte - part_set_header: - type: object - properties: - total: - type: integer - format: int64 - hash: - type: string - format: byte - title: PartsetHeader - title: BlockID - signatures: - type: array - items: - type: object - properties: - block_id_flag: - type: string - enum: - - BLOCK_ID_FLAG_UNKNOWN - - BLOCK_ID_FLAG_ABSENT - - BLOCK_ID_FLAG_COMMIT - - BLOCK_ID_FLAG_NIL - default: BLOCK_ID_FLAG_UNKNOWN - title: >- - BlockIdFlag indicates which BlcokID the - signature is for - validator_address: - type: string - format: byte - timestamp: - type: string - format: date-time - signature: - type: string - format: byte - description: >- - CommitSig is a part of the Vote included - in a Commit. - description: >- - Commit contains the evidence that a - block was committed by a set of - validators. - validator_set: - type: object - properties: - validators: - type: array - items: - type: object - properties: - address: - type: string - format: byte - pub_key: - type: object - properties: - ed25519: - type: string - format: byte - secp256k1: - type: string - format: byte - title: >- - PublicKey defines the keys available for - use with Tendermint Validators - voting_power: - type: string - format: int64 - proposer_priority: - type: string - format: int64 - proposer: - type: object - properties: - address: - type: string - format: byte - pub_key: - type: object - properties: - ed25519: - type: string - format: byte - secp256k1: - type: string - format: byte - title: >- - PublicKey defines the keys available for - use with Tendermint Validators - voting_power: - type: string - format: int64 - proposer_priority: - type: string - format: int64 - total_voting_power: - type: string - format: int64 - common_height: - type: string - format: int64 - byzantine_validators: - type: array - items: - type: object - properties: - address: - type: string - format: byte - pub_key: - type: object - properties: - ed25519: - type: string - format: byte - secp256k1: - type: string - format: byte - title: >- - PublicKey defines the keys available for - use with Tendermint Validators - voting_power: - type: string - format: int64 - proposer_priority: - type: string - format: int64 - total_voting_power: - type: string - format: int64 - timestamp: - type: string - format: date-time - description: >- - LightClientAttackEvidence contains evidence of a - set of validators attempting to mislead a light - client. - last_commit: - type: object - properties: - height: - type: string - format: int64 - round: - type: integer - format: int32 - block_id: - type: object - properties: - hash: - type: string - format: byte - part_set_header: - type: object - properties: - total: - type: integer - format: int64 - hash: - type: string - format: byte - title: PartsetHeader - title: BlockID - signatures: - type: array - items: - type: object - properties: - block_id_flag: - type: string - enum: - - BLOCK_ID_FLAG_UNKNOWN - - BLOCK_ID_FLAG_ABSENT - - BLOCK_ID_FLAG_COMMIT - - BLOCK_ID_FLAG_NIL - default: BLOCK_ID_FLAG_UNKNOWN - title: >- - BlockIdFlag indicates which BlcokID the - signature is for - validator_address: - type: string - format: byte - timestamp: - type: string - format: date-time - signature: - type: string - format: byte - description: >- - CommitSig is a part of the Vote included in a - Commit. - description: >- - Commit contains the evidence that a block was committed by - a set of validators. - description: >- - GetBlockByHeightResponse is the response type for the - Query/GetBlockByHeight RPC method. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized + server that maps type URLs to message definitions as + follows: - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: + * If no scheme is provided, `https` is assumed. - * If no scheme is provided, `https` is assumed. + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results + based on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) + Note: this functionality is not currently available + in the official - Note: this functionality is not currently available in - the official + protobuf release, and it is not used for type URLs + beginning with - protobuf release, and it is not used for type URLs - beginning with + type.googleapis.com. - type.googleapis.com. + Schemes other than `http`, `https` (or the empty + scheme) might be - Schemes other than `http`, `https` (or the empty scheme) - might be + used with implementation specific semantics. + additionalProperties: {} + description: >- + `Any` contains an arbitrary serialized protocol buffer + message along with a - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a + URL that describes the type of the serialized message. - URL that describes the type of the serialized message. + Protobuf library provides support to pack/unpack Any + values in the form - Protobuf library provides support to pack/unpack Any values - in the form + of utility functions or additional generated methods of + the Any type. - of utility functions or additional generated methods of the - Any type. + Example 1: Pack and unpack a message in C++. - Example 1: Pack and unpack a message in C++. + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } + Example 2: Pack and unpack a message in Java. - Example 2: Pack and unpack a message in Java. + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } + Example 3: Pack and unpack a message in Python. - Example 3: Pack and unpack a message in Python. + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... + Example 4: Pack and unpack a message in Go - Example 4: Pack and unpack a message in Go + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } + The pack methods provided by protobuf library will by + default use - The pack methods provided by protobuf library will by - default use + 'type.googleapis.com/full.type.name' as the type URL and + the unpack - 'type.googleapis.com/full.type.name' as the type URL and the - unpack + methods only use the fully qualified type name after the + last '/' - methods only use the fully qualified type name after the - last '/' + in the type URL, for example "foo.bar.com/x/y.z" will + yield type - in the type URL, for example "foo.bar.com/x/y.z" will yield - type + name "y.z". - name "y.z". + JSON - JSON + ==== - ==== + The JSON representation of an `Any` value uses the + regular - The JSON representation of an `Any` value uses the regular + representation of the deserialized, embedded message, + with an - representation of the deserialized, embedded message, with - an + additional field `@type` which contains the type URL. + Example: - additional field `@type` which contains the type URL. - Example: + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } + If the embedded message type is well-known and has a + custom JSON - If the embedded message type is well-known and has a custom - JSON + representation, that representation will be embedded + adding a field - representation, that representation will be embedded adding - a field + `value` which holds the custom JSON in addition to the + `@type` - `value` which holds the custom JSON in addition to the - `@type` + field. Example (for message + [google.protobuf.Duration][]): - field. Example (for message [google.protobuf.Duration][]): + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + expiration: + type: string + format: date-time + title: >- + GrantAuthorization extends a grant with both the addresses + of the grantee and granter. - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: height - in: path - required: true - type: string - format: int64 - tags: - - Service - /cosmos/base/tendermint/v1beta1/node_info: - get: - summary: GetNodeInfo queries the current node info. - operationId: CosmosBaseTendermintV1Beta1GetNodeInfo - responses: - '200': - description: A successful response. - schema: - type: object - properties: - default_node_info: + It is used in genesis.proto and query.proto + description: grants is a list of grants granted by the granter. + pagination: + description: pagination defines an pagination for the response. type: object properties: - protocol_version: - type: object - properties: - p2p: - type: string - format: uint64 - block: - type: string - format: uint64 - app: - type: string - format: uint64 - default_node_id: - type: string - listen_addr: - type: string - network: - type: string - version: - type: string - channels: + next_key: type: string format: byte - moniker: - type: string - other: - type: object - properties: - tx_index: - type: string - rpc_address: - type: string - application_version: - type: object - properties: - name: - type: string - app_name: - type: string - version: - type: string - git_commit: - type: string - build_tags: - type: string - go_version: - type: string - build_deps: - type: array - items: - type: object - properties: - path: - type: string - title: module path - version: - type: string - title: module version - sum: - type: string - title: checksum - title: Module is the type for VersionInfo - cosmos_sdk_version: + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + total: type: string - title: 'Since: cosmos-sdk 0.43' - description: VersionInfo is the type for the GetNodeInfoResponse message. + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total + + was set, its value is undefined otherwise description: >- - GetNodeInfoResponse is the request type for the Query/GetNodeInfo - RPC method. + QueryGranterGrantsResponse is the response type for the + Query/GranterGrants RPC method. default: description: An unexpected error response. schema: @@ -4043,23 +3917,121 @@ paths: "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" } + parameters: + - name: granter + in: path + required: true + type: string + - name: pagination.key + description: |- + key is a value returned in PageResponse.next_key to begin + querying the next page most efficiently. Only one of offset or key + should be set. + in: query + required: false + type: string + format: byte + - name: pagination.offset + description: >- + offset is a numeric offset that can be used when key is unavailable. + + It is less efficient than using key. Only one of offset or key + should + + be set. + in: query + required: false + type: string + format: uint64 + - name: pagination.limit + description: >- + limit is the total number of results to be returned in the result + page. + + If left empty it will default to a value to be set by each app. + in: query + required: false + type: string + format: uint64 + - name: pagination.count_total + description: >- + count_total is set to true to indicate that the result set should + include + + a count of the total number of items available for pagination in + UIs. + + count_total is only respected when offset is used. It is ignored + when key + + is set. + in: query + required: false + type: boolean + - name: pagination.reverse + description: >- + reverse is set to true if results are to be returned in the + descending order. + + + Since: cosmos-sdk 0.43 + in: query + required: false + type: boolean tags: - - Service - /cosmos/base/tendermint/v1beta1/syncing: + - Query + /cosmos/bank/v1beta1/balances/{address}: get: - summary: GetSyncing queries node syncing. - operationId: CosmosBaseTendermintV1Beta1GetSyncing + summary: AllBalances queries the balance of all coins for a single account. + operationId: CosmosBankV1Beta1AllBalances responses: '200': description: A successful response. schema: type: object properties: - syncing: - type: boolean + balances: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. + + + NOTE: The amount field is an Int which implements the custom + method + + signatures required by gogoproto. + description: balances is the balances of all the coins. + pagination: + description: pagination defines the pagination in the response. + type: object + properties: + next_key: + type: string + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + total: + type: string + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total + + was set, its value is undefined otherwise description: >- - GetSyncingResponse is the response type for the Query/GetSyncing - RPC method. + QueryAllBalancesResponse is the response type for the + Query/AllBalances RPC + + method. default: description: An unexpected error response. schema: @@ -4077,388 +4049,180 @@ paths: properties: '@type': type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). + additionalProperties: {} + parameters: + - name: address + description: address is the address to query balances for. + in: path + required: true + type: string + - name: pagination.key + description: |- + key is a value returned in PageResponse.next_key to begin + querying the next page most efficiently. Only one of offset or key + should be set. + in: query + required: false + type: string + format: byte + - name: pagination.offset + description: >- + offset is a numeric offset that can be used when key is unavailable. + It is less efficient than using key. Only one of offset or key + should - In practice, teams usually precompile into the binary - all types that they + be set. + in: query + required: false + type: string + format: uint64 + - name: pagination.limit + description: >- + limit is the total number of results to be returned in the result + page. - expect it to use in the context of Any. However, for - URLs which use the + If left empty it will default to a value to be set by each app. + in: query + required: false + type: string + format: uint64 + - name: pagination.count_total + description: >- + count_total is set to true to indicate that the result set should + include - scheme `http`, `https`, or no scheme, one can optionally - set up a type + a count of the total number of items available for pagination in + UIs. - server that maps type URLs to message definitions as - follows: + count_total is only respected when offset is used. It is ignored + when key + is set. + in: query + required: false + type: boolean + - name: pagination.reverse + description: >- + reverse is set to true if results are to be returned in the + descending order. - * If no scheme is provided, `https` is assumed. - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } + Since: cosmos-sdk 0.43 + in: query + required: false + type: boolean tags: - - Service - /cosmos/base/tendermint/v1beta1/validatorsets/latest: + - Query + /cosmos/bank/v1beta1/balances/{address}/by_denom: get: - summary: GetLatestValidatorSet queries latest validator-set. - operationId: CosmosBaseTendermintV1Beta1GetLatestValidatorSet + summary: Balance queries the balance of a single coin for a single account. + operationId: CosmosBankV1Beta1Balance responses: '200': description: A successful response. schema: type: object properties: - block_height: + balance: + description: balance is the balance of the coin. + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + QueryBalanceResponse is the response type for the Query/Balance + RPC method. + default: + description: An unexpected error response. + schema: + type: object + properties: + code: + type: integer + format: int32 + message: type: string - format: int64 - validators: + details: + type: array + items: + type: object + properties: + '@type': + type: string + additionalProperties: {} + parameters: + - name: address + description: address is the address to query balances for. + in: path + required: true + type: string + - name: denom + description: denom is the coin denom to query balances for. + in: query + required: false + type: string + tags: + - Query + /cosmos/bank/v1beta1/denom_owners/{denom}: + get: + summary: >- + DenomOwners queries for all account addresses that own a particular + token + + denomination. + description: 'Since: cosmos-sdk 0.46' + operationId: CosmosBankV1Beta1DenomOwners + responses: + '200': + description: A successful response. + schema: + type: object + properties: + denom_owners: type: array items: type: object properties: address: type: string - pub_key: + description: >- + address defines the address that owns a particular + denomination. + balance: + description: >- + balance is the balance of the denominated coin for an + account. type: object properties: - '@type': + denom: type: string - description: >- - A URL/resource name that uniquely identifies the - type of the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's - path must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be - in a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the - binary all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can - optionally set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results - based on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available - in the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. - - - Schemes other than `http`, `https` (or the empty - scheme) might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any - values in the form - - of utility functions or additional generated methods of - the Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and - the unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will - yield type - - name "y.z". - - - - JSON - - ==== - - The JSON representation of an `Any` value uses the - regular - - representation of the deserialized, embedded message, - with an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a - custom JSON + amount: + type: string + description: >- + DenomOwner defines structure representing an account that + owns or holds a - representation, that representation will be embedded - adding a field + particular denominated token. It contains the account + address and account - `value` which holds the custom JSON in addition to the - `@type` + balance of the denominated token. - field. Example (for message - [google.protobuf.Duration][]): - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - voting_power: - type: string - format: int64 - proposer_priority: - type: string - format: int64 - description: Validator is the type for the validator-set. + Since: cosmos-sdk 0.46 pagination: - description: pagination defines an pagination for the response. + description: pagination defines the pagination in the response. type: object properties: next_key: type: string format: byte - title: |- + description: |- next_key is the key to be passed to PageRequest.key to - query the next page most efficiently + query the next page most efficiently. It will be empty if + there are no more results. total: type: string format: uint64 @@ -4468,8 +4232,11 @@ paths: was set, its value is undefined otherwise description: >- - GetLatestValidatorSetResponse is the response type for the - Query/GetValidatorSetByHeight RPC method. + QueryDenomOwnersResponse defines the RPC response of a DenomOwners + RPC query. + + + Since: cosmos-sdk 0.46 default: description: An unexpected error response. schema: @@ -4487,175 +4254,545 @@ paths: properties: '@type': type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent + additionalProperties: {} + parameters: + - name: denom + description: >- + denom defines the coin denomination to query all account holders + for. + in: path + required: true + type: string + - name: pagination.key + description: |- + key is a value returned in PageResponse.next_key to begin + querying the next page most efficiently. Only one of offset or key + should be set. + in: query + required: false + type: string + format: byte + - name: pagination.offset + description: >- + offset is a numeric offset that can be used when key is unavailable. - the fully qualified name of the type (as in + It is less efficient than using key. Only one of offset or key + should - `path/google.protobuf.Duration`). The name should be in - a canonical form + be set. + in: query + required: false + type: string + format: uint64 + - name: pagination.limit + description: >- + limit is the total number of results to be returned in the result + page. - (e.g., leading "." is not accepted). + If left empty it will default to a value to be set by each app. + in: query + required: false + type: string + format: uint64 + - name: pagination.count_total + description: >- + count_total is set to true to indicate that the result set should + include + a count of the total number of items available for pagination in + UIs. - In practice, teams usually precompile into the binary - all types that they + count_total is only respected when offset is used. It is ignored + when key - expect it to use in the context of Any. However, for - URLs which use the + is set. + in: query + required: false + type: boolean + - name: pagination.reverse + description: >- + reverse is set to true if results are to be returned in the + descending order. - scheme `http`, `https`, or no scheme, one can optionally - set up a type - server that maps type URLs to message definitions as - follows: + Since: cosmos-sdk 0.43 + in: query + required: false + type: boolean + tags: + - Query + /cosmos/bank/v1beta1/denoms_metadata: + get: + summary: |- + DenomsMetadata queries the client metadata for all registered coin + denominations. + operationId: CosmosBankV1Beta1DenomsMetadata + responses: + '200': + description: A successful response. + schema: + type: object + properties: + metadatas: + type: array + items: + type: object + properties: + description: + type: string + denom_units: + type: array + items: + type: object + properties: + denom: + type: string + description: >- + denom represents the string name of the given + denom unit (e.g uatom). + exponent: + type: integer + format: int64 + description: >- + exponent represents power of 10 exponent that one + must + raise the base_denom to in order to equal the + given DenomUnit's denom - * If no scheme is provided, `https` is assumed. + 1 denom = 10^exponent base_denom - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) + (e.g. with a base_denom of uatom, one can create a + DenomUnit of 'atom' with - Note: this functionality is not currently available in - the official + exponent = 6, thus: 1 atom = 10^6 uatom). + aliases: + type: array + items: + type: string + title: >- + aliases is a list of string aliases for the given + denom + description: |- + DenomUnit represents a struct that describes a given + denomination unit of the basic token. + title: >- + denom_units represents the list of DenomUnit's for a + given coin + base: + type: string + description: >- + base represents the base denom (should be the DenomUnit + with exponent = 0). + display: + type: string + description: |- + display indicates the suggested denom that should be + displayed in clients. + name: + type: string + description: 'Since: cosmos-sdk 0.43' + title: 'name defines the name of the token (eg: Cosmos Atom)' + symbol: + type: string + description: >- + symbol is the token symbol usually shown on exchanges + (eg: ATOM). This can - protobuf release, and it is not used for type URLs - beginning with + be the same as the display. - type.googleapis.com. + Since: cosmos-sdk 0.43 + uri: + type: string + description: >- + URI to a document (on or off-chain) that contains + additional information. Optional. - Schemes other than `http`, `https` (or the empty scheme) - might be - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a + Since: cosmos-sdk 0.46 + uri_hash: + type: string + description: >- + URIHash is a sha256 hash of a document pointed by URI. + It's used to verify that - URL that describes the type of the serialized message. + the document didn't change. Optional. - Protobuf library provides support to pack/unpack Any values - in the form + Since: cosmos-sdk 0.46 + description: |- + Metadata represents a struct that describes + a basic token. + description: >- + metadata provides the client information for all the + registered tokens. + pagination: + description: pagination defines the pagination in the response. + type: object + properties: + next_key: + type: string + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + total: + type: string + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total - of utility functions or additional generated methods of the - Any type. + was set, its value is undefined otherwise + description: >- + QueryDenomsMetadataResponse is the response type for the + Query/DenomsMetadata RPC + method. + default: + description: An unexpected error response. + schema: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + '@type': + type: string + additionalProperties: {} + parameters: + - name: pagination.key + description: |- + key is a value returned in PageResponse.next_key to begin + querying the next page most efficiently. Only one of offset or key + should be set. + in: query + required: false + type: string + format: byte + - name: pagination.offset + description: >- + offset is a numeric offset that can be used when key is unavailable. - Example 1: Pack and unpack a message in C++. + It is less efficient than using key. Only one of offset or key + should - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } + be set. + in: query + required: false + type: string + format: uint64 + - name: pagination.limit + description: >- + limit is the total number of results to be returned in the result + page. - Example 2: Pack and unpack a message in Java. + If left empty it will default to a value to be set by each app. + in: query + required: false + type: string + format: uint64 + - name: pagination.count_total + description: >- + count_total is set to true to indicate that the result set should + include - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } + a count of the total number of items available for pagination in + UIs. - Example 3: Pack and unpack a message in Python. + count_total is only respected when offset is used. It is ignored + when key - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... + is set. + in: query + required: false + type: boolean + - name: pagination.reverse + description: >- + reverse is set to true if results are to be returned in the + descending order. - Example 4: Pack and unpack a message in Go - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } + Since: cosmos-sdk 0.43 + in: query + required: false + type: boolean + tags: + - Query + /cosmos/bank/v1beta1/denoms_metadata/{denom}: + get: + summary: DenomsMetadata queries the client metadata of a given coin denomination. + operationId: CosmosBankV1Beta1DenomMetadata + responses: + '200': + description: A successful response. + schema: + type: object + properties: + metadata: + description: >- + metadata describes and provides all the client information for + the requested token. + type: object + properties: + description: + type: string + denom_units: + type: array + items: + type: object + properties: + denom: + type: string + description: >- + denom represents the string name of the given denom + unit (e.g uatom). + exponent: + type: integer + format: int64 + description: >- + exponent represents power of 10 exponent that one + must - The pack methods provided by protobuf library will by - default use + raise the base_denom to in order to equal the given + DenomUnit's denom - 'type.googleapis.com/full.type.name' as the type URL and the - unpack + 1 denom = 10^exponent base_denom - methods only use the fully qualified type name after the - last '/' + (e.g. with a base_denom of uatom, one can create a + DenomUnit of 'atom' with - in the type URL, for example "foo.bar.com/x/y.z" will yield - type + exponent = 6, thus: 1 atom = 10^6 uatom). + aliases: + type: array + items: + type: string + title: >- + aliases is a list of string aliases for the given + denom + description: |- + DenomUnit represents a struct that describes a given + denomination unit of the basic token. + title: >- + denom_units represents the list of DenomUnit's for a given + coin + base: + type: string + description: >- + base represents the base denom (should be the DenomUnit + with exponent = 0). + display: + type: string + description: |- + display indicates the suggested denom that should be + displayed in clients. + name: + type: string + description: 'Since: cosmos-sdk 0.43' + title: 'name defines the name of the token (eg: Cosmos Atom)' + symbol: + type: string + description: >- + symbol is the token symbol usually shown on exchanges (eg: + ATOM). This can - name "y.z". + be the same as the display. + Since: cosmos-sdk 0.43 + uri: + type: string + description: >- + URI to a document (on or off-chain) that contains + additional information. Optional. - JSON - ==== + Since: cosmos-sdk 0.46 + uri_hash: + type: string + description: >- + URIHash is a sha256 hash of a document pointed by URI. + It's used to verify that - The JSON representation of an `Any` value uses the regular + the document didn't change. Optional. - representation of the deserialized, embedded message, with - an - additional field `@type` which contains the type URL. - Example: + Since: cosmos-sdk 0.46 + description: >- + QueryDenomMetadataResponse is the response type for the + Query/DenomMetadata RPC - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } + method. + default: + description: An unexpected error response. + schema: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + '@type': + type: string + additionalProperties: {} + parameters: + - name: denom + description: denom is the coin denom to query the metadata for. + in: path + required: true + type: string + tags: + - Query + /cosmos/bank/v1beta1/params: + get: + summary: Params queries the parameters of x/bank module. + operationId: CosmosBankV1Beta1Params + responses: + '200': + description: A successful response. + schema: + type: object + properties: + params: + type: object + properties: + send_enabled: + type: array + items: + type: object + properties: + denom: + type: string + enabled: + type: boolean + description: >- + SendEnabled maps coin denom to a send_enabled status + (whether a denom is - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } + sendable). + default_send_enabled: + type: boolean + description: Params defines the parameters for the bank module. + description: >- + QueryParamsResponse defines the response type for querying x/bank + parameters. + default: + description: An unexpected error response. + schema: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + '@type': + type: string + additionalProperties: {} + tags: + - Query + /cosmos/bank/v1beta1/spendable_balances/{address}: + get: + summary: |- + SpendableBalances queries the spenable balance of all coins for a single + account. + description: 'Since: cosmos-sdk 0.46' + operationId: CosmosBankV1Beta1SpendableBalances + responses: + '200': + description: A successful response. + schema: + type: object + properties: + balances: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. - If the embedded message type is well-known and has a custom - JSON - representation, that representation will be embedded adding - a field + NOTE: The amount field is an Int which implements the custom + method - `value` which holds the custom JSON in addition to the - `@type` + signatures required by gogoproto. + description: balances is the spendable balances of all the coins. + pagination: + description: pagination defines the pagination in the response. + type: object + properties: + next_key: + type: string + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + total: + type: string + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total - field. Example (for message [google.protobuf.Duration][]): + was set, its value is undefined otherwise + description: >- + QuerySpendableBalancesResponse defines the gRPC response structure + for querying - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } + an account's spendable balances. + + + Since: cosmos-sdk 0.46 + default: + description: An unexpected error response. + schema: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + '@type': + type: string + additionalProperties: {} parameters: + - name: address + description: address is the address to query spendable balances for. + in: path + required: true + type: string - name: pagination.key description: |- key is a value returned in PageResponse.next_key to begin @@ -4713,230 +4850,275 @@ paths: required: false type: boolean tags: - - Service - /cosmos/base/tendermint/v1beta1/validatorsets/{height}: + - Query + /cosmos/bank/v1beta1/supply: get: - summary: GetValidatorSetByHeight queries validator-set at a given height. - operationId: CosmosBaseTendermintV1Beta1GetValidatorSetByHeight + summary: TotalSupply queries the total supply of all coins. + operationId: CosmosBankV1Beta1TotalSupply responses: '200': description: A successful response. schema: type: object properties: - block_height: - type: string - format: int64 - validators: + supply: type: array items: type: object properties: - address: + denom: type: string - pub_key: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the - type of the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's - path must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be - in a canonical form + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. - (e.g., leading "." is not accepted). + NOTE: The amount field is an Int which implements the custom + method - In practice, teams usually precompile into the - binary all types that they + signatures required by gogoproto. + title: supply is the supply of the coins + pagination: + description: |- + pagination defines the pagination in the response. - expect it to use in the context of Any. However, for - URLs which use the + Since: cosmos-sdk 0.43 + type: object + properties: + next_key: + type: string + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + total: + type: string + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total - scheme `http`, `https`, or no scheme, one can - optionally set up a type + was set, its value is undefined otherwise + title: >- + QueryTotalSupplyResponse is the response type for the + Query/TotalSupply RPC - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results - based on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available - in the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. - - - Schemes other than `http`, `https` (or the empty - scheme) might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any - values in the form - - of utility functions or additional generated methods of - the Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... + method + default: + description: An unexpected error response. + schema: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + '@type': + type: string + additionalProperties: {} + parameters: + - name: pagination.key + description: |- + key is a value returned in PageResponse.next_key to begin + querying the next page most efficiently. Only one of offset or key + should be set. + in: query + required: false + type: string + format: byte + - name: pagination.offset + description: >- + offset is a numeric offset that can be used when key is unavailable. - Example 4: Pack and unpack a message in Go + It is less efficient than using key. Only one of offset or key + should - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } + be set. + in: query + required: false + type: string + format: uint64 + - name: pagination.limit + description: >- + limit is the total number of results to be returned in the result + page. - The pack methods provided by protobuf library will by - default use + If left empty it will default to a value to be set by each app. + in: query + required: false + type: string + format: uint64 + - name: pagination.count_total + description: >- + count_total is set to true to indicate that the result set should + include - 'type.googleapis.com/full.type.name' as the type URL and - the unpack + a count of the total number of items available for pagination in + UIs. - methods only use the fully qualified type name after the - last '/' + count_total is only respected when offset is used. It is ignored + when key - in the type URL, for example "foo.bar.com/x/y.z" will - yield type + is set. + in: query + required: false + type: boolean + - name: pagination.reverse + description: >- + reverse is set to true if results are to be returned in the + descending order. - name "y.z". + Since: cosmos-sdk 0.43 + in: query + required: false + type: boolean + tags: + - Query + /cosmos/bank/v1beta1/supply/by_denom: + get: + summary: SupplyOf queries the supply of a single coin. + operationId: CosmosBankV1Beta1SupplyOf + responses: + '200': + description: A successful response. + schema: + type: object + properties: + amount: + description: amount is the supply of the coin. + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + QuerySupplyOfResponse is the response type for the Query/SupplyOf + RPC method. + default: + description: An unexpected error response. + schema: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + '@type': + type: string + additionalProperties: {} + parameters: + - name: denom + description: denom is the coin denom to query balances for. + in: query + required: false + type: string + tags: + - Query + /cosmos/base/tendermint/v1beta1/abci_query: + get: + summary: >- + ABCIQuery defines a query handler that supports ABCI queries directly to + the application, bypassing Tendermint completely. The ABCI query must - JSON + contain a valid and supported path, including app, custom, p2p, and + store. + description: 'Since: cosmos-sdk 0.46' + operationId: CosmosBaseTendermintV1Beta1ABCIQuery + responses: + '200': + description: A successful response. + schema: + type: object + properties: + code: + type: integer + format: int64 + log: + type: string + title: nondeterministic + info: + type: string + title: nondeterministic + index: + type: string + format: int64 + key: + type: string + format: byte + value: + type: string + format: byte + proof_ops: + type: object + properties: + ops: + type: array + items: + type: object + properties: + type: + type: string + key: + type: string + format: byte + data: + type: string + format: byte + description: >- + ProofOp defines an operation used for calculating Merkle + root. The data could - ==== + be arbitrary format, providing nessecary data for + example neighbouring node - The JSON representation of an `Any` value uses the - regular + hash. - representation of the deserialized, embedded message, - with an - additional field `@type` which contains the type URL. - Example: + Note: This type is a duplicate of the ProofOp proto type + defined in - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } + Tendermint. + description: >- + ProofOps is Merkle proof defined by the list of ProofOps. - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - If the embedded message type is well-known and has a - custom JSON + Note: This type is a duplicate of the ProofOps proto type + defined in - representation, that representation will be embedded - adding a field + Tendermint. + height: + type: string + format: int64 + codespace: + type: string + description: >- + ABCIQueryResponse defines the response structure for the ABCIQuery + gRPC - `value` which holds the custom JSON in addition to the - `@type` + query. - field. Example (for message - [google.protobuf.Duration][]): - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - voting_power: - type: string - format: int64 - proposer_priority: - type: string - format: int64 - description: Validator is the type for the validator-set. - pagination: - description: pagination defines an pagination for the response. - type: object - properties: - next_key: - type: string - format: byte - title: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently - total: - type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total + Note: This type is a duplicate of the ResponseQuery proto type + defined in - was set, its value is undefined otherwise - description: >- - GetValidatorSetByHeightResponse is the response type for the - Query/GetValidatorSetByHeight RPC method. + Tendermint. default: description: An unexpected error response. schema: @@ -5123,244 +5305,20233 @@ paths: "value": "1.212s" } parameters: - - name: height - in: path - required: true - type: string - format: int64 - - name: pagination.key - description: |- - key is a value returned in PageResponse.next_key to begin - querying the next page most efficiently. Only one of offset or key - should be set. + - name: data in: query required: false type: string format: byte - - name: pagination.offset - description: >- - offset is a numeric offset that can be used when key is unavailable. - - It is less efficient than using key. Only one of offset or key - should - - be set. + - name: path in: query required: false type: string - format: uint64 - - name: pagination.limit - description: >- - limit is the total number of results to be returned in the result - page. - - If left empty it will default to a value to be set by each app. + - name: height in: query required: false type: string - format: uint64 - - name: pagination.count_total - description: >- - count_total is set to true to indicate that the result set should - include - - a count of the total number of items available for pagination in - UIs. - - count_total is only respected when offset is used. It is ignored - when key - - is set. - in: query - required: false - type: boolean - - name: pagination.reverse - description: >- - reverse is set to true if results are to be returned in the - descending order. - - - Since: cosmos-sdk 0.43 + format: int64 + - name: prove in: query required: false type: boolean tags: - Service - /cosmos/distribution/v1beta1/community_pool: - get: - summary: CommunityPool queries the community pool coins. - operationId: CosmosDistributionV1Beta1CommunityPool - responses: - '200': - description: A successful response. - schema: - type: object - properties: - pool: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - DecCoin defines a token with a denomination and a decimal - amount. - - - NOTE: The amount field is an Dec which implements the custom - method - - signatures required by gogoproto. - description: pool defines community pool's coins. - description: >- - QueryCommunityPoolResponse is the response type for the - Query/CommunityPool - - RPC method. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - tags: - - Query - /cosmos/distribution/v1beta1/delegators/{delegator_address}/rewards: + /cosmos/base/tendermint/v1beta1/blocks/latest: get: - summary: |- - DelegationTotalRewards queries the total rewards accrued by a each - validator. - operationId: CosmosDistributionV1Beta1DelegationTotalRewards + summary: GetLatestBlock returns the latest block. + operationId: CosmosBaseTendermintV1Beta1GetLatestBlock responses: '200': description: A successful response. schema: type: object properties: - rewards: - type: array - items: - type: object - properties: - validator_address: - type: string - reward: - type: array - items: + block_id: + type: object + properties: + hash: + type: string + format: byte + part_set_header: + type: object + properties: + total: + type: integer + format: int64 + hash: + type: string + format: byte + title: PartsetHeader + title: BlockID + block: + title: 'Deprecated: please use `sdk_block` instead' + type: object + properties: + header: + type: object + properties: + version: + title: basic block info type: object properties: - denom: + block: type: string - amount: + format: uint64 + app: type: string + format: uint64 description: >- - DecCoin defines a token with a denomination and a - decimal amount. - - - NOTE: The amount field is an Dec which implements the - custom method - - signatures required by gogoproto. - description: |- - DelegationDelegatorReward represents the properties - of a delegator's delegation reward. - description: rewards defines all the rewards accrued by a delegator. - total: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - DecCoin defines a token with a denomination and a decimal - amount. - + Consensus captures the consensus rules for processing + a block in the blockchain, - NOTE: The amount field is an Dec which implements the custom - method + including all blockchain data structures and the rules + of the application's - signatures required by gogoproto. - description: total defines the sum of all the rewards. - description: |- - QueryDelegationTotalRewardsResponse is the response type for the - Query/DelegationTotalRewards RPC method. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: delegator_address - description: delegator_address defines the delegator address to query for. - in: path + state transition machine. + chain_id: + type: string + height: + type: string + format: int64 + time: + type: string + format: date-time + last_block_id: + type: object + properties: + hash: + type: string + format: byte + part_set_header: + type: object + properties: + total: + type: integer + format: int64 + hash: + type: string + format: byte + title: PartsetHeader + title: BlockID + last_commit_hash: + type: string + format: byte + description: commit from validators from the last block + title: hashes of block data + data_hash: + type: string + format: byte + title: transactions + validators_hash: + type: string + format: byte + description: validators for the current block + title: hashes from the app output from the prev block + next_validators_hash: + type: string + format: byte + title: validators for the next block + consensus_hash: + type: string + format: byte + title: consensus params for current block + app_hash: + type: string + format: byte + title: state after txs from the previous block + last_results_hash: + type: string + format: byte + title: >- + root hash of all results from the txs from the + previous block + evidence_hash: + type: string + format: byte + description: evidence included in the block + title: consensus info + proposer_address: + type: string + format: byte + title: original proposer of the block + description: Header defines the structure of a block header. + data: + type: object + properties: + txs: + type: array + items: + type: string + format: byte + description: >- + Txs that will be applied by state @ block.Height+1. + + NOTE: not all txs here are valid. We're just agreeing + on the order first. + + This means that block.AppHash does not include these + txs. + title: >- + Data contains the set of transactions included in the + block + evidence: + type: object + properties: + evidence: + type: array + items: + type: object + properties: + duplicate_vote_evidence: + type: object + properties: + vote_a: + type: object + properties: + type: + type: string + enum: + - SIGNED_MSG_TYPE_UNKNOWN + - SIGNED_MSG_TYPE_PREVOTE + - SIGNED_MSG_TYPE_PRECOMMIT + - SIGNED_MSG_TYPE_PROPOSAL + default: SIGNED_MSG_TYPE_UNKNOWN + description: >- + SignedMsgType is a type of signed + message in the consensus. + + - SIGNED_MSG_TYPE_PREVOTE: Votes + - SIGNED_MSG_TYPE_PROPOSAL: Proposals + height: + type: string + format: int64 + round: + type: integer + format: int32 + block_id: + type: object + properties: + hash: + type: string + format: byte + part_set_header: + type: object + properties: + total: + type: integer + format: int64 + hash: + type: string + format: byte + title: PartsetHeader + title: BlockID + description: zero if vote is nil. + timestamp: + type: string + format: date-time + validator_address: + type: string + format: byte + validator_index: + type: integer + format: int32 + signature: + type: string + format: byte + description: >- + Vote represents a prevote, precommit, or + commit vote from validators for + + consensus. + vote_b: + type: object + properties: + type: + type: string + enum: + - SIGNED_MSG_TYPE_UNKNOWN + - SIGNED_MSG_TYPE_PREVOTE + - SIGNED_MSG_TYPE_PRECOMMIT + - SIGNED_MSG_TYPE_PROPOSAL + default: SIGNED_MSG_TYPE_UNKNOWN + description: >- + SignedMsgType is a type of signed + message in the consensus. + + - SIGNED_MSG_TYPE_PREVOTE: Votes + - SIGNED_MSG_TYPE_PROPOSAL: Proposals + height: + type: string + format: int64 + round: + type: integer + format: int32 + block_id: + type: object + properties: + hash: + type: string + format: byte + part_set_header: + type: object + properties: + total: + type: integer + format: int64 + hash: + type: string + format: byte + title: PartsetHeader + title: BlockID + description: zero if vote is nil. + timestamp: + type: string + format: date-time + validator_address: + type: string + format: byte + validator_index: + type: integer + format: int32 + signature: + type: string + format: byte + description: >- + Vote represents a prevote, precommit, or + commit vote from validators for + + consensus. + total_voting_power: + type: string + format: int64 + validator_power: + type: string + format: int64 + timestamp: + type: string + format: date-time + description: >- + DuplicateVoteEvidence contains evidence of a + validator signed two conflicting votes. + light_client_attack_evidence: + type: object + properties: + conflicting_block: + type: object + properties: + signed_header: + type: object + properties: + header: + type: object + properties: + version: + title: basic block info + type: object + properties: + block: + type: string + format: uint64 + app: + type: string + format: uint64 + description: >- + Consensus captures the consensus rules + for processing a block in the + blockchain, + + including all blockchain data structures + and the rules of the application's + + state transition machine. + chain_id: + type: string + height: + type: string + format: int64 + time: + type: string + format: date-time + last_block_id: + type: object + properties: + hash: + type: string + format: byte + part_set_header: + type: object + properties: + total: + type: integer + format: int64 + hash: + type: string + format: byte + title: PartsetHeader + title: BlockID + last_commit_hash: + type: string + format: byte + description: >- + commit from validators from the last + block + title: hashes of block data + data_hash: + type: string + format: byte + title: transactions + validators_hash: + type: string + format: byte + description: validators for the current block + title: >- + hashes from the app output from the prev + block + next_validators_hash: + type: string + format: byte + title: validators for the next block + consensus_hash: + type: string + format: byte + title: consensus params for current block + app_hash: + type: string + format: byte + title: state after txs from the previous block + last_results_hash: + type: string + format: byte + title: >- + root hash of all results from the txs + from the previous block + evidence_hash: + type: string + format: byte + description: evidence included in the block + title: consensus info + proposer_address: + type: string + format: byte + title: original proposer of the block + description: >- + Header defines the structure of a block + header. + commit: + type: object + properties: + height: + type: string + format: int64 + round: + type: integer + format: int32 + block_id: + type: object + properties: + hash: + type: string + format: byte + part_set_header: + type: object + properties: + total: + type: integer + format: int64 + hash: + type: string + format: byte + title: PartsetHeader + title: BlockID + signatures: + type: array + items: + type: object + properties: + block_id_flag: + type: string + enum: + - BLOCK_ID_FLAG_UNKNOWN + - BLOCK_ID_FLAG_ABSENT + - BLOCK_ID_FLAG_COMMIT + - BLOCK_ID_FLAG_NIL + default: BLOCK_ID_FLAG_UNKNOWN + title: >- + BlockIdFlag indicates which BlcokID the + signature is for + validator_address: + type: string + format: byte + timestamp: + type: string + format: date-time + signature: + type: string + format: byte + description: >- + CommitSig is a part of the Vote included + in a Commit. + description: >- + Commit contains the evidence that a + block was committed by a set of + validators. + validator_set: + type: object + properties: + validators: + type: array + items: + type: object + properties: + address: + type: string + format: byte + pub_key: + type: object + properties: + ed25519: + type: string + format: byte + secp256k1: + type: string + format: byte + title: >- + PublicKey defines the keys available for + use with Validators + voting_power: + type: string + format: int64 + proposer_priority: + type: string + format: int64 + proposer: + type: object + properties: + address: + type: string + format: byte + pub_key: + type: object + properties: + ed25519: + type: string + format: byte + secp256k1: + type: string + format: byte + title: >- + PublicKey defines the keys available for + use with Validators + voting_power: + type: string + format: int64 + proposer_priority: + type: string + format: int64 + total_voting_power: + type: string + format: int64 + common_height: + type: string + format: int64 + byzantine_validators: + type: array + items: + type: object + properties: + address: + type: string + format: byte + pub_key: + type: object + properties: + ed25519: + type: string + format: byte + secp256k1: + type: string + format: byte + title: >- + PublicKey defines the keys available for + use with Validators + voting_power: + type: string + format: int64 + proposer_priority: + type: string + format: int64 + total_voting_power: + type: string + format: int64 + timestamp: + type: string + format: date-time + description: >- + LightClientAttackEvidence contains evidence of a + set of validators attempting to mislead a light + client. + last_commit: + type: object + properties: + height: + type: string + format: int64 + round: + type: integer + format: int32 + block_id: + type: object + properties: + hash: + type: string + format: byte + part_set_header: + type: object + properties: + total: + type: integer + format: int64 + hash: + type: string + format: byte + title: PartsetHeader + title: BlockID + signatures: + type: array + items: + type: object + properties: + block_id_flag: + type: string + enum: + - BLOCK_ID_FLAG_UNKNOWN + - BLOCK_ID_FLAG_ABSENT + - BLOCK_ID_FLAG_COMMIT + - BLOCK_ID_FLAG_NIL + default: BLOCK_ID_FLAG_UNKNOWN + title: >- + BlockIdFlag indicates which BlcokID the + signature is for + validator_address: + type: string + format: byte + timestamp: + type: string + format: date-time + signature: + type: string + format: byte + description: >- + CommitSig is a part of the Vote included in a + Commit. + description: >- + Commit contains the evidence that a block was committed by + a set of validators. + sdk_block: + title: 'Since: cosmos-sdk 0.47' + type: object + properties: + header: + type: object + properties: + version: + title: basic block info + type: object + properties: + block: + type: string + format: uint64 + app: + type: string + format: uint64 + description: >- + Consensus captures the consensus rules for processing + a block in the blockchain, + + including all blockchain data structures and the rules + of the application's + + state transition machine. + chain_id: + type: string + height: + type: string + format: int64 + time: + type: string + format: date-time + last_block_id: + type: object + properties: + hash: + type: string + format: byte + part_set_header: + type: object + properties: + total: + type: integer + format: int64 + hash: + type: string + format: byte + title: PartsetHeader + title: BlockID + last_commit_hash: + type: string + format: byte + description: commit from validators from the last block + title: hashes of block data + data_hash: + type: string + format: byte + title: transactions + validators_hash: + type: string + format: byte + description: validators for the current block + title: hashes from the app output from the prev block + next_validators_hash: + type: string + format: byte + title: validators for the next block + consensus_hash: + type: string + format: byte + title: consensus params for current block + app_hash: + type: string + format: byte + title: state after txs from the previous block + last_results_hash: + type: string + format: byte + title: >- + root hash of all results from the txs from the + previous block + evidence_hash: + type: string + format: byte + description: evidence included in the block + title: consensus info + proposer_address: + type: string + description: >- + proposer_address is the original block proposer + address, formatted as a Bech32 string. + + In Tendermint, this type is `bytes`, but in the SDK, + we convert it to a Bech32 string + + for better UX. + + + original proposer of the block + description: Header defines the structure of a Tendermint block header. + data: + type: object + properties: + txs: + type: array + items: + type: string + format: byte + description: >- + Txs that will be applied by state @ block.Height+1. + + NOTE: not all txs here are valid. We're just agreeing + on the order first. + + This means that block.AppHash does not include these + txs. + title: >- + Data contains the set of transactions included in the + block + evidence: + type: object + properties: + evidence: + type: array + items: + type: object + properties: + duplicate_vote_evidence: + type: object + properties: + vote_a: + type: object + properties: + type: + type: string + enum: + - SIGNED_MSG_TYPE_UNKNOWN + - SIGNED_MSG_TYPE_PREVOTE + - SIGNED_MSG_TYPE_PRECOMMIT + - SIGNED_MSG_TYPE_PROPOSAL + default: SIGNED_MSG_TYPE_UNKNOWN + description: >- + SignedMsgType is a type of signed + message in the consensus. + + - SIGNED_MSG_TYPE_PREVOTE: Votes + - SIGNED_MSG_TYPE_PROPOSAL: Proposals + height: + type: string + format: int64 + round: + type: integer + format: int32 + block_id: + type: object + properties: + hash: + type: string + format: byte + part_set_header: + type: object + properties: + total: + type: integer + format: int64 + hash: + type: string + format: byte + title: PartsetHeader + title: BlockID + description: zero if vote is nil. + timestamp: + type: string + format: date-time + validator_address: + type: string + format: byte + validator_index: + type: integer + format: int32 + signature: + type: string + format: byte + description: >- + Vote represents a prevote, precommit, or + commit vote from validators for + + consensus. + vote_b: + type: object + properties: + type: + type: string + enum: + - SIGNED_MSG_TYPE_UNKNOWN + - SIGNED_MSG_TYPE_PREVOTE + - SIGNED_MSG_TYPE_PRECOMMIT + - SIGNED_MSG_TYPE_PROPOSAL + default: SIGNED_MSG_TYPE_UNKNOWN + description: >- + SignedMsgType is a type of signed + message in the consensus. + + - SIGNED_MSG_TYPE_PREVOTE: Votes + - SIGNED_MSG_TYPE_PROPOSAL: Proposals + height: + type: string + format: int64 + round: + type: integer + format: int32 + block_id: + type: object + properties: + hash: + type: string + format: byte + part_set_header: + type: object + properties: + total: + type: integer + format: int64 + hash: + type: string + format: byte + title: PartsetHeader + title: BlockID + description: zero if vote is nil. + timestamp: + type: string + format: date-time + validator_address: + type: string + format: byte + validator_index: + type: integer + format: int32 + signature: + type: string + format: byte + description: >- + Vote represents a prevote, precommit, or + commit vote from validators for + + consensus. + total_voting_power: + type: string + format: int64 + validator_power: + type: string + format: int64 + timestamp: + type: string + format: date-time + description: >- + DuplicateVoteEvidence contains evidence of a + validator signed two conflicting votes. + light_client_attack_evidence: + type: object + properties: + conflicting_block: + type: object + properties: + signed_header: + type: object + properties: + header: + type: object + properties: + version: + title: basic block info + type: object + properties: + block: + type: string + format: uint64 + app: + type: string + format: uint64 + description: >- + Consensus captures the consensus rules + for processing a block in the + blockchain, + + including all blockchain data structures + and the rules of the application's + + state transition machine. + chain_id: + type: string + height: + type: string + format: int64 + time: + type: string + format: date-time + last_block_id: + type: object + properties: + hash: + type: string + format: byte + part_set_header: + type: object + properties: + total: + type: integer + format: int64 + hash: + type: string + format: byte + title: PartsetHeader + title: BlockID + last_commit_hash: + type: string + format: byte + description: >- + commit from validators from the last + block + title: hashes of block data + data_hash: + type: string + format: byte + title: transactions + validators_hash: + type: string + format: byte + description: validators for the current block + title: >- + hashes from the app output from the prev + block + next_validators_hash: + type: string + format: byte + title: validators for the next block + consensus_hash: + type: string + format: byte + title: consensus params for current block + app_hash: + type: string + format: byte + title: state after txs from the previous block + last_results_hash: + type: string + format: byte + title: >- + root hash of all results from the txs + from the previous block + evidence_hash: + type: string + format: byte + description: evidence included in the block + title: consensus info + proposer_address: + type: string + format: byte + title: original proposer of the block + description: >- + Header defines the structure of a block + header. + commit: + type: object + properties: + height: + type: string + format: int64 + round: + type: integer + format: int32 + block_id: + type: object + properties: + hash: + type: string + format: byte + part_set_header: + type: object + properties: + total: + type: integer + format: int64 + hash: + type: string + format: byte + title: PartsetHeader + title: BlockID + signatures: + type: array + items: + type: object + properties: + block_id_flag: + type: string + enum: + - BLOCK_ID_FLAG_UNKNOWN + - BLOCK_ID_FLAG_ABSENT + - BLOCK_ID_FLAG_COMMIT + - BLOCK_ID_FLAG_NIL + default: BLOCK_ID_FLAG_UNKNOWN + title: >- + BlockIdFlag indicates which BlcokID the + signature is for + validator_address: + type: string + format: byte + timestamp: + type: string + format: date-time + signature: + type: string + format: byte + description: >- + CommitSig is a part of the Vote included + in a Commit. + description: >- + Commit contains the evidence that a + block was committed by a set of + validators. + validator_set: + type: object + properties: + validators: + type: array + items: + type: object + properties: + address: + type: string + format: byte + pub_key: + type: object + properties: + ed25519: + type: string + format: byte + secp256k1: + type: string + format: byte + title: >- + PublicKey defines the keys available for + use with Validators + voting_power: + type: string + format: int64 + proposer_priority: + type: string + format: int64 + proposer: + type: object + properties: + address: + type: string + format: byte + pub_key: + type: object + properties: + ed25519: + type: string + format: byte + secp256k1: + type: string + format: byte + title: >- + PublicKey defines the keys available for + use with Validators + voting_power: + type: string + format: int64 + proposer_priority: + type: string + format: int64 + total_voting_power: + type: string + format: int64 + common_height: + type: string + format: int64 + byzantine_validators: + type: array + items: + type: object + properties: + address: + type: string + format: byte + pub_key: + type: object + properties: + ed25519: + type: string + format: byte + secp256k1: + type: string + format: byte + title: >- + PublicKey defines the keys available for + use with Validators + voting_power: + type: string + format: int64 + proposer_priority: + type: string + format: int64 + total_voting_power: + type: string + format: int64 + timestamp: + type: string + format: date-time + description: >- + LightClientAttackEvidence contains evidence of a + set of validators attempting to mislead a light + client. + last_commit: + type: object + properties: + height: + type: string + format: int64 + round: + type: integer + format: int32 + block_id: + type: object + properties: + hash: + type: string + format: byte + part_set_header: + type: object + properties: + total: + type: integer + format: int64 + hash: + type: string + format: byte + title: PartsetHeader + title: BlockID + signatures: + type: array + items: + type: object + properties: + block_id_flag: + type: string + enum: + - BLOCK_ID_FLAG_UNKNOWN + - BLOCK_ID_FLAG_ABSENT + - BLOCK_ID_FLAG_COMMIT + - BLOCK_ID_FLAG_NIL + default: BLOCK_ID_FLAG_UNKNOWN + title: >- + BlockIdFlag indicates which BlcokID the + signature is for + validator_address: + type: string + format: byte + timestamp: + type: string + format: date-time + signature: + type: string + format: byte + description: >- + CommitSig is a part of the Vote included in a + Commit. + description: >- + Commit contains the evidence that a block was committed by + a set of validators. + description: >- + Block is tendermint type Block, with the Header proposer + address + + field converted to bech32 string. + description: >- + GetLatestBlockResponse is the response type for the + Query/GetLatestBlock RPC + + method. + default: + description: An unexpected error response. + schema: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + '@type': + type: string + description: >- + A URL/resource name that uniquely identifies the type of + the serialized + + protocol buffer message. This string must contain at + least + + one "/" character. The last segment of the URL's path + must represent + + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name should be in + a canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the binary + all types that they + + expect it to use in the context of Any. However, for + URLs which use the + + scheme `http`, `https`, or no scheme, one can optionally + set up a type + + server that maps type URLs to message definitions as + follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based + on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available in + the official + + protobuf release, and it is not used for type URLs + beginning with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty scheme) + might be + + used with implementation specific semantics. + additionalProperties: {} + description: >- + `Any` contains an arbitrary serialized protocol buffer + message along with a + + URL that describes the type of the serialized message. + + + Protobuf library provides support to pack/unpack Any values + in the form + + of utility functions or additional generated methods of the + Any type. + + + Example 1: Pack and unpack a message in C++. + + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } + + Example 2: Pack and unpack a message in Java. + + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + + Example 3: Pack and unpack a message in Python. + + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + + Example 4: Pack and unpack a message in Go + + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } + + The pack methods provided by protobuf library will by + default use + + 'type.googleapis.com/full.type.name' as the type URL and the + unpack + + methods only use the fully qualified type name after the + last '/' + + in the type URL, for example "foo.bar.com/x/y.z" will yield + type + + name "y.z". + + + + JSON + + ==== + + The JSON representation of an `Any` value uses the regular + + representation of the deserialized, embedded message, with + an + + additional field `@type` which contains the type URL. + Example: + + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } + + If the embedded message type is well-known and has a custom + JSON + + representation, that representation will be embedded adding + a field + + `value` which holds the custom JSON in addition to the + `@type` + + field. Example (for message [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + tags: + - Service + /cosmos/base/tendermint/v1beta1/blocks/{height}: + get: + summary: GetBlockByHeight queries block for given height. + operationId: CosmosBaseTendermintV1Beta1GetBlockByHeight + responses: + '200': + description: A successful response. + schema: + type: object + properties: + block_id: + type: object + properties: + hash: + type: string + format: byte + part_set_header: + type: object + properties: + total: + type: integer + format: int64 + hash: + type: string + format: byte + title: PartsetHeader + title: BlockID + block: + title: 'Deprecated: please use `sdk_block` instead' + type: object + properties: + header: + type: object + properties: + version: + title: basic block info + type: object + properties: + block: + type: string + format: uint64 + app: + type: string + format: uint64 + description: >- + Consensus captures the consensus rules for processing + a block in the blockchain, + + including all blockchain data structures and the rules + of the application's + + state transition machine. + chain_id: + type: string + height: + type: string + format: int64 + time: + type: string + format: date-time + last_block_id: + type: object + properties: + hash: + type: string + format: byte + part_set_header: + type: object + properties: + total: + type: integer + format: int64 + hash: + type: string + format: byte + title: PartsetHeader + title: BlockID + last_commit_hash: + type: string + format: byte + description: commit from validators from the last block + title: hashes of block data + data_hash: + type: string + format: byte + title: transactions + validators_hash: + type: string + format: byte + description: validators for the current block + title: hashes from the app output from the prev block + next_validators_hash: + type: string + format: byte + title: validators for the next block + consensus_hash: + type: string + format: byte + title: consensus params for current block + app_hash: + type: string + format: byte + title: state after txs from the previous block + last_results_hash: + type: string + format: byte + title: >- + root hash of all results from the txs from the + previous block + evidence_hash: + type: string + format: byte + description: evidence included in the block + title: consensus info + proposer_address: + type: string + format: byte + title: original proposer of the block + description: Header defines the structure of a block header. + data: + type: object + properties: + txs: + type: array + items: + type: string + format: byte + description: >- + Txs that will be applied by state @ block.Height+1. + + NOTE: not all txs here are valid. We're just agreeing + on the order first. + + This means that block.AppHash does not include these + txs. + title: >- + Data contains the set of transactions included in the + block + evidence: + type: object + properties: + evidence: + type: array + items: + type: object + properties: + duplicate_vote_evidence: + type: object + properties: + vote_a: + type: object + properties: + type: + type: string + enum: + - SIGNED_MSG_TYPE_UNKNOWN + - SIGNED_MSG_TYPE_PREVOTE + - SIGNED_MSG_TYPE_PRECOMMIT + - SIGNED_MSG_TYPE_PROPOSAL + default: SIGNED_MSG_TYPE_UNKNOWN + description: >- + SignedMsgType is a type of signed + message in the consensus. + + - SIGNED_MSG_TYPE_PREVOTE: Votes + - SIGNED_MSG_TYPE_PROPOSAL: Proposals + height: + type: string + format: int64 + round: + type: integer + format: int32 + block_id: + type: object + properties: + hash: + type: string + format: byte + part_set_header: + type: object + properties: + total: + type: integer + format: int64 + hash: + type: string + format: byte + title: PartsetHeader + title: BlockID + description: zero if vote is nil. + timestamp: + type: string + format: date-time + validator_address: + type: string + format: byte + validator_index: + type: integer + format: int32 + signature: + type: string + format: byte + description: >- + Vote represents a prevote, precommit, or + commit vote from validators for + + consensus. + vote_b: + type: object + properties: + type: + type: string + enum: + - SIGNED_MSG_TYPE_UNKNOWN + - SIGNED_MSG_TYPE_PREVOTE + - SIGNED_MSG_TYPE_PRECOMMIT + - SIGNED_MSG_TYPE_PROPOSAL + default: SIGNED_MSG_TYPE_UNKNOWN + description: >- + SignedMsgType is a type of signed + message in the consensus. + + - SIGNED_MSG_TYPE_PREVOTE: Votes + - SIGNED_MSG_TYPE_PROPOSAL: Proposals + height: + type: string + format: int64 + round: + type: integer + format: int32 + block_id: + type: object + properties: + hash: + type: string + format: byte + part_set_header: + type: object + properties: + total: + type: integer + format: int64 + hash: + type: string + format: byte + title: PartsetHeader + title: BlockID + description: zero if vote is nil. + timestamp: + type: string + format: date-time + validator_address: + type: string + format: byte + validator_index: + type: integer + format: int32 + signature: + type: string + format: byte + description: >- + Vote represents a prevote, precommit, or + commit vote from validators for + + consensus. + total_voting_power: + type: string + format: int64 + validator_power: + type: string + format: int64 + timestamp: + type: string + format: date-time + description: >- + DuplicateVoteEvidence contains evidence of a + validator signed two conflicting votes. + light_client_attack_evidence: + type: object + properties: + conflicting_block: + type: object + properties: + signed_header: + type: object + properties: + header: + type: object + properties: + version: + title: basic block info + type: object + properties: + block: + type: string + format: uint64 + app: + type: string + format: uint64 + description: >- + Consensus captures the consensus rules + for processing a block in the + blockchain, + + including all blockchain data structures + and the rules of the application's + + state transition machine. + chain_id: + type: string + height: + type: string + format: int64 + time: + type: string + format: date-time + last_block_id: + type: object + properties: + hash: + type: string + format: byte + part_set_header: + type: object + properties: + total: + type: integer + format: int64 + hash: + type: string + format: byte + title: PartsetHeader + title: BlockID + last_commit_hash: + type: string + format: byte + description: >- + commit from validators from the last + block + title: hashes of block data + data_hash: + type: string + format: byte + title: transactions + validators_hash: + type: string + format: byte + description: validators for the current block + title: >- + hashes from the app output from the prev + block + next_validators_hash: + type: string + format: byte + title: validators for the next block + consensus_hash: + type: string + format: byte + title: consensus params for current block + app_hash: + type: string + format: byte + title: state after txs from the previous block + last_results_hash: + type: string + format: byte + title: >- + root hash of all results from the txs + from the previous block + evidence_hash: + type: string + format: byte + description: evidence included in the block + title: consensus info + proposer_address: + type: string + format: byte + title: original proposer of the block + description: >- + Header defines the structure of a block + header. + commit: + type: object + properties: + height: + type: string + format: int64 + round: + type: integer + format: int32 + block_id: + type: object + properties: + hash: + type: string + format: byte + part_set_header: + type: object + properties: + total: + type: integer + format: int64 + hash: + type: string + format: byte + title: PartsetHeader + title: BlockID + signatures: + type: array + items: + type: object + properties: + block_id_flag: + type: string + enum: + - BLOCK_ID_FLAG_UNKNOWN + - BLOCK_ID_FLAG_ABSENT + - BLOCK_ID_FLAG_COMMIT + - BLOCK_ID_FLAG_NIL + default: BLOCK_ID_FLAG_UNKNOWN + title: >- + BlockIdFlag indicates which BlcokID the + signature is for + validator_address: + type: string + format: byte + timestamp: + type: string + format: date-time + signature: + type: string + format: byte + description: >- + CommitSig is a part of the Vote included + in a Commit. + description: >- + Commit contains the evidence that a + block was committed by a set of + validators. + validator_set: + type: object + properties: + validators: + type: array + items: + type: object + properties: + address: + type: string + format: byte + pub_key: + type: object + properties: + ed25519: + type: string + format: byte + secp256k1: + type: string + format: byte + title: >- + PublicKey defines the keys available for + use with Validators + voting_power: + type: string + format: int64 + proposer_priority: + type: string + format: int64 + proposer: + type: object + properties: + address: + type: string + format: byte + pub_key: + type: object + properties: + ed25519: + type: string + format: byte + secp256k1: + type: string + format: byte + title: >- + PublicKey defines the keys available for + use with Validators + voting_power: + type: string + format: int64 + proposer_priority: + type: string + format: int64 + total_voting_power: + type: string + format: int64 + common_height: + type: string + format: int64 + byzantine_validators: + type: array + items: + type: object + properties: + address: + type: string + format: byte + pub_key: + type: object + properties: + ed25519: + type: string + format: byte + secp256k1: + type: string + format: byte + title: >- + PublicKey defines the keys available for + use with Validators + voting_power: + type: string + format: int64 + proposer_priority: + type: string + format: int64 + total_voting_power: + type: string + format: int64 + timestamp: + type: string + format: date-time + description: >- + LightClientAttackEvidence contains evidence of a + set of validators attempting to mislead a light + client. + last_commit: + type: object + properties: + height: + type: string + format: int64 + round: + type: integer + format: int32 + block_id: + type: object + properties: + hash: + type: string + format: byte + part_set_header: + type: object + properties: + total: + type: integer + format: int64 + hash: + type: string + format: byte + title: PartsetHeader + title: BlockID + signatures: + type: array + items: + type: object + properties: + block_id_flag: + type: string + enum: + - BLOCK_ID_FLAG_UNKNOWN + - BLOCK_ID_FLAG_ABSENT + - BLOCK_ID_FLAG_COMMIT + - BLOCK_ID_FLAG_NIL + default: BLOCK_ID_FLAG_UNKNOWN + title: >- + BlockIdFlag indicates which BlcokID the + signature is for + validator_address: + type: string + format: byte + timestamp: + type: string + format: date-time + signature: + type: string + format: byte + description: >- + CommitSig is a part of the Vote included in a + Commit. + description: >- + Commit contains the evidence that a block was committed by + a set of validators. + sdk_block: + title: 'Since: cosmos-sdk 0.47' + type: object + properties: + header: + type: object + properties: + version: + title: basic block info + type: object + properties: + block: + type: string + format: uint64 + app: + type: string + format: uint64 + description: >- + Consensus captures the consensus rules for processing + a block in the blockchain, + + including all blockchain data structures and the rules + of the application's + + state transition machine. + chain_id: + type: string + height: + type: string + format: int64 + time: + type: string + format: date-time + last_block_id: + type: object + properties: + hash: + type: string + format: byte + part_set_header: + type: object + properties: + total: + type: integer + format: int64 + hash: + type: string + format: byte + title: PartsetHeader + title: BlockID + last_commit_hash: + type: string + format: byte + description: commit from validators from the last block + title: hashes of block data + data_hash: + type: string + format: byte + title: transactions + validators_hash: + type: string + format: byte + description: validators for the current block + title: hashes from the app output from the prev block + next_validators_hash: + type: string + format: byte + title: validators for the next block + consensus_hash: + type: string + format: byte + title: consensus params for current block + app_hash: + type: string + format: byte + title: state after txs from the previous block + last_results_hash: + type: string + format: byte + title: >- + root hash of all results from the txs from the + previous block + evidence_hash: + type: string + format: byte + description: evidence included in the block + title: consensus info + proposer_address: + type: string + description: >- + proposer_address is the original block proposer + address, formatted as a Bech32 string. + + In Tendermint, this type is `bytes`, but in the SDK, + we convert it to a Bech32 string + + for better UX. + + + original proposer of the block + description: Header defines the structure of a Tendermint block header. + data: + type: object + properties: + txs: + type: array + items: + type: string + format: byte + description: >- + Txs that will be applied by state @ block.Height+1. + + NOTE: not all txs here are valid. We're just agreeing + on the order first. + + This means that block.AppHash does not include these + txs. + title: >- + Data contains the set of transactions included in the + block + evidence: + type: object + properties: + evidence: + type: array + items: + type: object + properties: + duplicate_vote_evidence: + type: object + properties: + vote_a: + type: object + properties: + type: + type: string + enum: + - SIGNED_MSG_TYPE_UNKNOWN + - SIGNED_MSG_TYPE_PREVOTE + - SIGNED_MSG_TYPE_PRECOMMIT + - SIGNED_MSG_TYPE_PROPOSAL + default: SIGNED_MSG_TYPE_UNKNOWN + description: >- + SignedMsgType is a type of signed + message in the consensus. + + - SIGNED_MSG_TYPE_PREVOTE: Votes + - SIGNED_MSG_TYPE_PROPOSAL: Proposals + height: + type: string + format: int64 + round: + type: integer + format: int32 + block_id: + type: object + properties: + hash: + type: string + format: byte + part_set_header: + type: object + properties: + total: + type: integer + format: int64 + hash: + type: string + format: byte + title: PartsetHeader + title: BlockID + description: zero if vote is nil. + timestamp: + type: string + format: date-time + validator_address: + type: string + format: byte + validator_index: + type: integer + format: int32 + signature: + type: string + format: byte + description: >- + Vote represents a prevote, precommit, or + commit vote from validators for + + consensus. + vote_b: + type: object + properties: + type: + type: string + enum: + - SIGNED_MSG_TYPE_UNKNOWN + - SIGNED_MSG_TYPE_PREVOTE + - SIGNED_MSG_TYPE_PRECOMMIT + - SIGNED_MSG_TYPE_PROPOSAL + default: SIGNED_MSG_TYPE_UNKNOWN + description: >- + SignedMsgType is a type of signed + message in the consensus. + + - SIGNED_MSG_TYPE_PREVOTE: Votes + - SIGNED_MSG_TYPE_PROPOSAL: Proposals + height: + type: string + format: int64 + round: + type: integer + format: int32 + block_id: + type: object + properties: + hash: + type: string + format: byte + part_set_header: + type: object + properties: + total: + type: integer + format: int64 + hash: + type: string + format: byte + title: PartsetHeader + title: BlockID + description: zero if vote is nil. + timestamp: + type: string + format: date-time + validator_address: + type: string + format: byte + validator_index: + type: integer + format: int32 + signature: + type: string + format: byte + description: >- + Vote represents a prevote, precommit, or + commit vote from validators for + + consensus. + total_voting_power: + type: string + format: int64 + validator_power: + type: string + format: int64 + timestamp: + type: string + format: date-time + description: >- + DuplicateVoteEvidence contains evidence of a + validator signed two conflicting votes. + light_client_attack_evidence: + type: object + properties: + conflicting_block: + type: object + properties: + signed_header: + type: object + properties: + header: + type: object + properties: + version: + title: basic block info + type: object + properties: + block: + type: string + format: uint64 + app: + type: string + format: uint64 + description: >- + Consensus captures the consensus rules + for processing a block in the + blockchain, + + including all blockchain data structures + and the rules of the application's + + state transition machine. + chain_id: + type: string + height: + type: string + format: int64 + time: + type: string + format: date-time + last_block_id: + type: object + properties: + hash: + type: string + format: byte + part_set_header: + type: object + properties: + total: + type: integer + format: int64 + hash: + type: string + format: byte + title: PartsetHeader + title: BlockID + last_commit_hash: + type: string + format: byte + description: >- + commit from validators from the last + block + title: hashes of block data + data_hash: + type: string + format: byte + title: transactions + validators_hash: + type: string + format: byte + description: validators for the current block + title: >- + hashes from the app output from the prev + block + next_validators_hash: + type: string + format: byte + title: validators for the next block + consensus_hash: + type: string + format: byte + title: consensus params for current block + app_hash: + type: string + format: byte + title: state after txs from the previous block + last_results_hash: + type: string + format: byte + title: >- + root hash of all results from the txs + from the previous block + evidence_hash: + type: string + format: byte + description: evidence included in the block + title: consensus info + proposer_address: + type: string + format: byte + title: original proposer of the block + description: >- + Header defines the structure of a block + header. + commit: + type: object + properties: + height: + type: string + format: int64 + round: + type: integer + format: int32 + block_id: + type: object + properties: + hash: + type: string + format: byte + part_set_header: + type: object + properties: + total: + type: integer + format: int64 + hash: + type: string + format: byte + title: PartsetHeader + title: BlockID + signatures: + type: array + items: + type: object + properties: + block_id_flag: + type: string + enum: + - BLOCK_ID_FLAG_UNKNOWN + - BLOCK_ID_FLAG_ABSENT + - BLOCK_ID_FLAG_COMMIT + - BLOCK_ID_FLAG_NIL + default: BLOCK_ID_FLAG_UNKNOWN + title: >- + BlockIdFlag indicates which BlcokID the + signature is for + validator_address: + type: string + format: byte + timestamp: + type: string + format: date-time + signature: + type: string + format: byte + description: >- + CommitSig is a part of the Vote included + in a Commit. + description: >- + Commit contains the evidence that a + block was committed by a set of + validators. + validator_set: + type: object + properties: + validators: + type: array + items: + type: object + properties: + address: + type: string + format: byte + pub_key: + type: object + properties: + ed25519: + type: string + format: byte + secp256k1: + type: string + format: byte + title: >- + PublicKey defines the keys available for + use with Validators + voting_power: + type: string + format: int64 + proposer_priority: + type: string + format: int64 + proposer: + type: object + properties: + address: + type: string + format: byte + pub_key: + type: object + properties: + ed25519: + type: string + format: byte + secp256k1: + type: string + format: byte + title: >- + PublicKey defines the keys available for + use with Validators + voting_power: + type: string + format: int64 + proposer_priority: + type: string + format: int64 + total_voting_power: + type: string + format: int64 + common_height: + type: string + format: int64 + byzantine_validators: + type: array + items: + type: object + properties: + address: + type: string + format: byte + pub_key: + type: object + properties: + ed25519: + type: string + format: byte + secp256k1: + type: string + format: byte + title: >- + PublicKey defines the keys available for + use with Validators + voting_power: + type: string + format: int64 + proposer_priority: + type: string + format: int64 + total_voting_power: + type: string + format: int64 + timestamp: + type: string + format: date-time + description: >- + LightClientAttackEvidence contains evidence of a + set of validators attempting to mislead a light + client. + last_commit: + type: object + properties: + height: + type: string + format: int64 + round: + type: integer + format: int32 + block_id: + type: object + properties: + hash: + type: string + format: byte + part_set_header: + type: object + properties: + total: + type: integer + format: int64 + hash: + type: string + format: byte + title: PartsetHeader + title: BlockID + signatures: + type: array + items: + type: object + properties: + block_id_flag: + type: string + enum: + - BLOCK_ID_FLAG_UNKNOWN + - BLOCK_ID_FLAG_ABSENT + - BLOCK_ID_FLAG_COMMIT + - BLOCK_ID_FLAG_NIL + default: BLOCK_ID_FLAG_UNKNOWN + title: >- + BlockIdFlag indicates which BlcokID the + signature is for + validator_address: + type: string + format: byte + timestamp: + type: string + format: date-time + signature: + type: string + format: byte + description: >- + CommitSig is a part of the Vote included in a + Commit. + description: >- + Commit contains the evidence that a block was committed by + a set of validators. + description: >- + Block is tendermint type Block, with the Header proposer + address + + field converted to bech32 string. + description: >- + GetBlockByHeightResponse is the response type for the + Query/GetBlockByHeight + + RPC method. + default: + description: An unexpected error response. + schema: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + '@type': + type: string + description: >- + A URL/resource name that uniquely identifies the type of + the serialized + + protocol buffer message. This string must contain at + least + + one "/" character. The last segment of the URL's path + must represent + + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name should be in + a canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the binary + all types that they + + expect it to use in the context of Any. However, for + URLs which use the + + scheme `http`, `https`, or no scheme, one can optionally + set up a type + + server that maps type URLs to message definitions as + follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based + on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available in + the official + + protobuf release, and it is not used for type URLs + beginning with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty scheme) + might be + + used with implementation specific semantics. + additionalProperties: {} + description: >- + `Any` contains an arbitrary serialized protocol buffer + message along with a + + URL that describes the type of the serialized message. + + + Protobuf library provides support to pack/unpack Any values + in the form + + of utility functions or additional generated methods of the + Any type. + + + Example 1: Pack and unpack a message in C++. + + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } + + Example 2: Pack and unpack a message in Java. + + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + + Example 3: Pack and unpack a message in Python. + + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + + Example 4: Pack and unpack a message in Go + + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } + + The pack methods provided by protobuf library will by + default use + + 'type.googleapis.com/full.type.name' as the type URL and the + unpack + + methods only use the fully qualified type name after the + last '/' + + in the type URL, for example "foo.bar.com/x/y.z" will yield + type + + name "y.z". + + + + JSON + + ==== + + The JSON representation of an `Any` value uses the regular + + representation of the deserialized, embedded message, with + an + + additional field `@type` which contains the type URL. + Example: + + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } + + If the embedded message type is well-known and has a custom + JSON + + representation, that representation will be embedded adding + a field + + `value` which holds the custom JSON in addition to the + `@type` + + field. Example (for message [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + parameters: + - name: height + in: path + required: true + type: string + format: int64 + tags: + - Service + /cosmos/base/tendermint/v1beta1/node_info: + get: + summary: GetNodeInfo queries the current node info. + operationId: CosmosBaseTendermintV1Beta1GetNodeInfo + responses: + '200': + description: A successful response. + schema: + type: object + properties: + default_node_info: + type: object + properties: + protocol_version: + type: object + properties: + p2p: + type: string + format: uint64 + block: + type: string + format: uint64 + app: + type: string + format: uint64 + default_node_id: + type: string + listen_addr: + type: string + network: + type: string + version: + type: string + channels: + type: string + format: byte + moniker: + type: string + other: + type: object + properties: + tx_index: + type: string + rpc_address: + type: string + application_version: + type: object + properties: + name: + type: string + app_name: + type: string + version: + type: string + git_commit: + type: string + build_tags: + type: string + go_version: + type: string + build_deps: + type: array + items: + type: object + properties: + path: + type: string + title: module path + version: + type: string + title: module version + sum: + type: string + title: checksum + title: Module is the type for VersionInfo + cosmos_sdk_version: + type: string + title: 'Since: cosmos-sdk 0.43' + description: VersionInfo is the type for the GetNodeInfoResponse message. + description: >- + GetNodeInfoResponse is the response type for the Query/GetNodeInfo + RPC + + method. + default: + description: An unexpected error response. + schema: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + '@type': + type: string + description: >- + A URL/resource name that uniquely identifies the type of + the serialized + + protocol buffer message. This string must contain at + least + + one "/" character. The last segment of the URL's path + must represent + + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name should be in + a canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the binary + all types that they + + expect it to use in the context of Any. However, for + URLs which use the + + scheme `http`, `https`, or no scheme, one can optionally + set up a type + + server that maps type URLs to message definitions as + follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based + on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available in + the official + + protobuf release, and it is not used for type URLs + beginning with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty scheme) + might be + + used with implementation specific semantics. + additionalProperties: {} + description: >- + `Any` contains an arbitrary serialized protocol buffer + message along with a + + URL that describes the type of the serialized message. + + + Protobuf library provides support to pack/unpack Any values + in the form + + of utility functions or additional generated methods of the + Any type. + + + Example 1: Pack and unpack a message in C++. + + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } + + Example 2: Pack and unpack a message in Java. + + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + + Example 3: Pack and unpack a message in Python. + + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + + Example 4: Pack and unpack a message in Go + + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } + + The pack methods provided by protobuf library will by + default use + + 'type.googleapis.com/full.type.name' as the type URL and the + unpack + + methods only use the fully qualified type name after the + last '/' + + in the type URL, for example "foo.bar.com/x/y.z" will yield + type + + name "y.z". + + + + JSON + + ==== + + The JSON representation of an `Any` value uses the regular + + representation of the deserialized, embedded message, with + an + + additional field `@type` which contains the type URL. + Example: + + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } + + If the embedded message type is well-known and has a custom + JSON + + representation, that representation will be embedded adding + a field + + `value` which holds the custom JSON in addition to the + `@type` + + field. Example (for message [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + tags: + - Service + /cosmos/base/tendermint/v1beta1/syncing: + get: + summary: GetSyncing queries node syncing. + operationId: CosmosBaseTendermintV1Beta1GetSyncing + responses: + '200': + description: A successful response. + schema: + type: object + properties: + syncing: + type: boolean + description: >- + GetSyncingResponse is the response type for the Query/GetSyncing + RPC method. + default: + description: An unexpected error response. + schema: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + '@type': + type: string + description: >- + A URL/resource name that uniquely identifies the type of + the serialized + + protocol buffer message. This string must contain at + least + + one "/" character. The last segment of the URL's path + must represent + + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name should be in + a canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the binary + all types that they + + expect it to use in the context of Any. However, for + URLs which use the + + scheme `http`, `https`, or no scheme, one can optionally + set up a type + + server that maps type URLs to message definitions as + follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based + on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available in + the official + + protobuf release, and it is not used for type URLs + beginning with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty scheme) + might be + + used with implementation specific semantics. + additionalProperties: {} + description: >- + `Any` contains an arbitrary serialized protocol buffer + message along with a + + URL that describes the type of the serialized message. + + + Protobuf library provides support to pack/unpack Any values + in the form + + of utility functions or additional generated methods of the + Any type. + + + Example 1: Pack and unpack a message in C++. + + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } + + Example 2: Pack and unpack a message in Java. + + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + + Example 3: Pack and unpack a message in Python. + + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + + Example 4: Pack and unpack a message in Go + + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } + + The pack methods provided by protobuf library will by + default use + + 'type.googleapis.com/full.type.name' as the type URL and the + unpack + + methods only use the fully qualified type name after the + last '/' + + in the type URL, for example "foo.bar.com/x/y.z" will yield + type + + name "y.z". + + + + JSON + + ==== + + The JSON representation of an `Any` value uses the regular + + representation of the deserialized, embedded message, with + an + + additional field `@type` which contains the type URL. + Example: + + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } + + If the embedded message type is well-known and has a custom + JSON + + representation, that representation will be embedded adding + a field + + `value` which holds the custom JSON in addition to the + `@type` + + field. Example (for message [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + tags: + - Service + /cosmos/base/tendermint/v1beta1/validatorsets/latest: + get: + summary: GetLatestValidatorSet queries latest validator-set. + operationId: CosmosBaseTendermintV1Beta1GetLatestValidatorSet + responses: + '200': + description: A successful response. + schema: + type: object + properties: + block_height: + type: string + format: int64 + validators: + type: array + items: + type: object + properties: + address: + type: string + pub_key: + type: object + properties: + '@type': + type: string + description: >- + A URL/resource name that uniquely identifies the + type of the serialized + + protocol buffer message. This string must contain at + least + + one "/" character. The last segment of the URL's + path must represent + + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name should be + in a canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the + binary all types that they + + expect it to use in the context of Any. However, for + URLs which use the + + scheme `http`, `https`, or no scheme, one can + optionally set up a type + + server that maps type URLs to message definitions as + follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results + based on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available + in the official + + protobuf release, and it is not used for type URLs + beginning with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty + scheme) might be + + used with implementation specific semantics. + additionalProperties: {} + description: >- + `Any` contains an arbitrary serialized protocol buffer + message along with a + + URL that describes the type of the serialized message. + + + Protobuf library provides support to pack/unpack Any + values in the form + + of utility functions or additional generated methods of + the Any type. + + + Example 1: Pack and unpack a message in C++. + + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } + + Example 2: Pack and unpack a message in Java. + + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + + Example 3: Pack and unpack a message in Python. + + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + + Example 4: Pack and unpack a message in Go + + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } + + The pack methods provided by protobuf library will by + default use + + 'type.googleapis.com/full.type.name' as the type URL and + the unpack + + methods only use the fully qualified type name after the + last '/' + + in the type URL, for example "foo.bar.com/x/y.z" will + yield type + + name "y.z". + + + + JSON + + ==== + + The JSON representation of an `Any` value uses the + regular + + representation of the deserialized, embedded message, + with an + + additional field `@type` which contains the type URL. + Example: + + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } + + If the embedded message type is well-known and has a + custom JSON + + representation, that representation will be embedded + adding a field + + `value` which holds the custom JSON in addition to the + `@type` + + field. Example (for message + [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + voting_power: + type: string + format: int64 + proposer_priority: + type: string + format: int64 + description: Validator is the type for the validator-set. + pagination: + description: pagination defines an pagination for the response. + type: object + properties: + next_key: + type: string + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + total: + type: string + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total + + was set, its value is undefined otherwise + description: |- + GetLatestValidatorSetResponse is the response type for the + Query/GetValidatorSetByHeight RPC method. + default: + description: An unexpected error response. + schema: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + '@type': + type: string + description: >- + A URL/resource name that uniquely identifies the type of + the serialized + + protocol buffer message. This string must contain at + least + + one "/" character. The last segment of the URL's path + must represent + + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name should be in + a canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the binary + all types that they + + expect it to use in the context of Any. However, for + URLs which use the + + scheme `http`, `https`, or no scheme, one can optionally + set up a type + + server that maps type URLs to message definitions as + follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based + on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available in + the official + + protobuf release, and it is not used for type URLs + beginning with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty scheme) + might be + + used with implementation specific semantics. + additionalProperties: {} + description: >- + `Any` contains an arbitrary serialized protocol buffer + message along with a + + URL that describes the type of the serialized message. + + + Protobuf library provides support to pack/unpack Any values + in the form + + of utility functions or additional generated methods of the + Any type. + + + Example 1: Pack and unpack a message in C++. + + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } + + Example 2: Pack and unpack a message in Java. + + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + + Example 3: Pack and unpack a message in Python. + + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + + Example 4: Pack and unpack a message in Go + + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } + + The pack methods provided by protobuf library will by + default use + + 'type.googleapis.com/full.type.name' as the type URL and the + unpack + + methods only use the fully qualified type name after the + last '/' + + in the type URL, for example "foo.bar.com/x/y.z" will yield + type + + name "y.z". + + + + JSON + + ==== + + The JSON representation of an `Any` value uses the regular + + representation of the deserialized, embedded message, with + an + + additional field `@type` which contains the type URL. + Example: + + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } + + If the embedded message type is well-known and has a custom + JSON + + representation, that representation will be embedded adding + a field + + `value` which holds the custom JSON in addition to the + `@type` + + field. Example (for message [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + parameters: + - name: pagination.key + description: |- + key is a value returned in PageResponse.next_key to begin + querying the next page most efficiently. Only one of offset or key + should be set. + in: query + required: false + type: string + format: byte + - name: pagination.offset + description: >- + offset is a numeric offset that can be used when key is unavailable. + + It is less efficient than using key. Only one of offset or key + should + + be set. + in: query + required: false + type: string + format: uint64 + - name: pagination.limit + description: >- + limit is the total number of results to be returned in the result + page. + + If left empty it will default to a value to be set by each app. + in: query + required: false + type: string + format: uint64 + - name: pagination.count_total + description: >- + count_total is set to true to indicate that the result set should + include + + a count of the total number of items available for pagination in + UIs. + + count_total is only respected when offset is used. It is ignored + when key + + is set. + in: query + required: false + type: boolean + - name: pagination.reverse + description: >- + reverse is set to true if results are to be returned in the + descending order. + + + Since: cosmos-sdk 0.43 + in: query + required: false + type: boolean + tags: + - Service + /cosmos/base/tendermint/v1beta1/validatorsets/{height}: + get: + summary: GetValidatorSetByHeight queries validator-set at a given height. + operationId: CosmosBaseTendermintV1Beta1GetValidatorSetByHeight + responses: + '200': + description: A successful response. + schema: + type: object + properties: + block_height: + type: string + format: int64 + validators: + type: array + items: + type: object + properties: + address: + type: string + pub_key: + type: object + properties: + '@type': + type: string + description: >- + A URL/resource name that uniquely identifies the + type of the serialized + + protocol buffer message. This string must contain at + least + + one "/" character. The last segment of the URL's + path must represent + + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name should be + in a canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the + binary all types that they + + expect it to use in the context of Any. However, for + URLs which use the + + scheme `http`, `https`, or no scheme, one can + optionally set up a type + + server that maps type URLs to message definitions as + follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results + based on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available + in the official + + protobuf release, and it is not used for type URLs + beginning with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty + scheme) might be + + used with implementation specific semantics. + additionalProperties: {} + description: >- + `Any` contains an arbitrary serialized protocol buffer + message along with a + + URL that describes the type of the serialized message. + + + Protobuf library provides support to pack/unpack Any + values in the form + + of utility functions or additional generated methods of + the Any type. + + + Example 1: Pack and unpack a message in C++. + + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } + + Example 2: Pack and unpack a message in Java. + + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + + Example 3: Pack and unpack a message in Python. + + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + + Example 4: Pack and unpack a message in Go + + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } + + The pack methods provided by protobuf library will by + default use + + 'type.googleapis.com/full.type.name' as the type URL and + the unpack + + methods only use the fully qualified type name after the + last '/' + + in the type URL, for example "foo.bar.com/x/y.z" will + yield type + + name "y.z". + + + + JSON + + ==== + + The JSON representation of an `Any` value uses the + regular + + representation of the deserialized, embedded message, + with an + + additional field `@type` which contains the type URL. + Example: + + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } + + If the embedded message type is well-known and has a + custom JSON + + representation, that representation will be embedded + adding a field + + `value` which holds the custom JSON in addition to the + `@type` + + field. Example (for message + [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + voting_power: + type: string + format: int64 + proposer_priority: + type: string + format: int64 + description: Validator is the type for the validator-set. + pagination: + description: pagination defines an pagination for the response. + type: object + properties: + next_key: + type: string + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + total: + type: string + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total + + was set, its value is undefined otherwise + description: |- + GetValidatorSetByHeightResponse is the response type for the + Query/GetValidatorSetByHeight RPC method. + default: + description: An unexpected error response. + schema: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + '@type': + type: string + description: >- + A URL/resource name that uniquely identifies the type of + the serialized + + protocol buffer message. This string must contain at + least + + one "/" character. The last segment of the URL's path + must represent + + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name should be in + a canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the binary + all types that they + + expect it to use in the context of Any. However, for + URLs which use the + + scheme `http`, `https`, or no scheme, one can optionally + set up a type + + server that maps type URLs to message definitions as + follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based + on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available in + the official + + protobuf release, and it is not used for type URLs + beginning with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty scheme) + might be + + used with implementation specific semantics. + additionalProperties: {} + description: >- + `Any` contains an arbitrary serialized protocol buffer + message along with a + + URL that describes the type of the serialized message. + + + Protobuf library provides support to pack/unpack Any values + in the form + + of utility functions or additional generated methods of the + Any type. + + + Example 1: Pack and unpack a message in C++. + + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } + + Example 2: Pack and unpack a message in Java. + + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + + Example 3: Pack and unpack a message in Python. + + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + + Example 4: Pack and unpack a message in Go + + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } + + The pack methods provided by protobuf library will by + default use + + 'type.googleapis.com/full.type.name' as the type URL and the + unpack + + methods only use the fully qualified type name after the + last '/' + + in the type URL, for example "foo.bar.com/x/y.z" will yield + type + + name "y.z". + + + + JSON + + ==== + + The JSON representation of an `Any` value uses the regular + + representation of the deserialized, embedded message, with + an + + additional field `@type` which contains the type URL. + Example: + + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } + + If the embedded message type is well-known and has a custom + JSON + + representation, that representation will be embedded adding + a field + + `value` which holds the custom JSON in addition to the + `@type` + + field. Example (for message [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + parameters: + - name: height + in: path + required: true + type: string + format: int64 + - name: pagination.key + description: |- + key is a value returned in PageResponse.next_key to begin + querying the next page most efficiently. Only one of offset or key + should be set. + in: query + required: false + type: string + format: byte + - name: pagination.offset + description: >- + offset is a numeric offset that can be used when key is unavailable. + + It is less efficient than using key. Only one of offset or key + should + + be set. + in: query + required: false + type: string + format: uint64 + - name: pagination.limit + description: >- + limit is the total number of results to be returned in the result + page. + + If left empty it will default to a value to be set by each app. + in: query + required: false + type: string + format: uint64 + - name: pagination.count_total + description: >- + count_total is set to true to indicate that the result set should + include + + a count of the total number of items available for pagination in + UIs. + + count_total is only respected when offset is used. It is ignored + when key + + is set. + in: query + required: false + type: boolean + - name: pagination.reverse + description: >- + reverse is set to true if results are to be returned in the + descending order. + + + Since: cosmos-sdk 0.43 + in: query + required: false + type: boolean + tags: + - Service + /cosmos/distribution/v1beta1/community_pool: + get: + summary: CommunityPool queries the community pool coins. + operationId: CosmosDistributionV1Beta1CommunityPool + responses: + '200': + description: A successful response. + schema: + type: object + properties: + pool: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + DecCoin defines a token with a denomination and a decimal + amount. + + + NOTE: The amount field is an Dec which implements the custom + method + + signatures required by gogoproto. + description: pool defines community pool's coins. + description: >- + QueryCommunityPoolResponse is the response type for the + Query/CommunityPool + + RPC method. + default: + description: An unexpected error response. + schema: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + '@type': + type: string + additionalProperties: {} + tags: + - Query + /cosmos/distribution/v1beta1/delegators/{delegator_address}/rewards: + get: + summary: |- + DelegationTotalRewards queries the total rewards accrued by a each + validator. + operationId: CosmosDistributionV1Beta1DelegationTotalRewards + responses: + '200': + description: A successful response. + schema: + type: object + properties: + rewards: + type: array + items: + type: object + properties: + validator_address: + type: string + reward: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + DecCoin defines a token with a denomination and a + decimal amount. + + + NOTE: The amount field is an Dec which implements the + custom method + + signatures required by gogoproto. + description: |- + DelegationDelegatorReward represents the properties + of a delegator's delegation reward. + description: rewards defines all the rewards accrued by a delegator. + total: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + DecCoin defines a token with a denomination and a decimal + amount. + + + NOTE: The amount field is an Dec which implements the custom + method + + signatures required by gogoproto. + description: total defines the sum of all the rewards. + description: |- + QueryDelegationTotalRewardsResponse is the response type for the + Query/DelegationTotalRewards RPC method. + default: + description: An unexpected error response. + schema: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + '@type': + type: string + additionalProperties: {} + parameters: + - name: delegator_address + description: delegator_address defines the delegator address to query for. + in: path + required: true + type: string + tags: + - Query + /cosmos/distribution/v1beta1/delegators/{delegator_address}/rewards/{validator_address}: + get: + summary: DelegationRewards queries the total rewards accrued by a delegation. + operationId: CosmosDistributionV1Beta1DelegationRewards + responses: + '200': + description: A successful response. + schema: + type: object + properties: + rewards: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + DecCoin defines a token with a denomination and a decimal + amount. + + + NOTE: The amount field is an Dec which implements the custom + method + + signatures required by gogoproto. + description: rewards defines the rewards accrued by a delegation. + description: |- + QueryDelegationRewardsResponse is the response type for the + Query/DelegationRewards RPC method. + default: + description: An unexpected error response. + schema: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + '@type': + type: string + additionalProperties: {} + parameters: + - name: delegator_address + description: delegator_address defines the delegator address to query for. + in: path + required: true + type: string + - name: validator_address + description: validator_address defines the validator address to query for. + in: path + required: true + type: string + tags: + - Query + /cosmos/distribution/v1beta1/delegators/{delegator_address}/validators: + get: + summary: DelegatorValidators queries the validators of a delegator. + operationId: CosmosDistributionV1Beta1DelegatorValidators + responses: + '200': + description: A successful response. + schema: + type: object + properties: + validators: + type: array + items: + type: string + description: >- + validators defines the validators a delegator is delegating + for. + description: |- + QueryDelegatorValidatorsResponse is the response type for the + Query/DelegatorValidators RPC method. + default: + description: An unexpected error response. + schema: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + '@type': + type: string + additionalProperties: {} + parameters: + - name: delegator_address + description: delegator_address defines the delegator address to query for. + in: path + required: true + type: string + tags: + - Query + /cosmos/distribution/v1beta1/delegators/{delegator_address}/withdraw_address: + get: + summary: DelegatorWithdrawAddress queries withdraw address of a delegator. + operationId: CosmosDistributionV1Beta1DelegatorWithdrawAddress + responses: + '200': + description: A successful response. + schema: + type: object + properties: + withdraw_address: + type: string + description: withdraw_address defines the delegator address to query for. + description: |- + QueryDelegatorWithdrawAddressResponse is the response type for the + Query/DelegatorWithdrawAddress RPC method. + default: + description: An unexpected error response. + schema: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + '@type': + type: string + additionalProperties: {} + parameters: + - name: delegator_address + description: delegator_address defines the delegator address to query for. + in: path + required: true + type: string + tags: + - Query + /cosmos/distribution/v1beta1/params: + get: + summary: Params queries params of the distribution module. + operationId: CosmosDistributionV1Beta1Params + responses: + '200': + description: A successful response. + schema: + type: object + properties: + params: + description: params defines the parameters of the module. + type: object + properties: + community_tax: + type: string + base_proposer_reward: + type: string + bonus_proposer_reward: + type: string + withdraw_addr_enabled: + type: boolean + description: >- + QueryParamsResponse is the response type for the Query/Params RPC + method. + default: + description: An unexpected error response. + schema: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + '@type': + type: string + additionalProperties: {} + tags: + - Query + /cosmos/distribution/v1beta1/validators/{validator_address}/commission: + get: + summary: ValidatorCommission queries accumulated commission for a validator. + operationId: CosmosDistributionV1Beta1ValidatorCommission + responses: + '200': + description: A successful response. + schema: + type: object + properties: + commission: + description: commission defines the commision the validator received. + type: object + properties: + commission: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + DecCoin defines a token with a denomination and a + decimal amount. + + + NOTE: The amount field is an Dec which implements the + custom method + + signatures required by gogoproto. + title: |- + QueryValidatorCommissionResponse is the response type for the + Query/ValidatorCommission RPC method + default: + description: An unexpected error response. + schema: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + '@type': + type: string + additionalProperties: {} + parameters: + - name: validator_address + description: validator_address defines the validator address to query for. + in: path + required: true + type: string + tags: + - Query + /cosmos/distribution/v1beta1/validators/{validator_address}/outstanding_rewards: + get: + summary: ValidatorOutstandingRewards queries rewards of a validator address. + operationId: CosmosDistributionV1Beta1ValidatorOutstandingRewards + responses: + '200': + description: A successful response. + schema: + type: object + properties: + rewards: + type: object + properties: + rewards: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + DecCoin defines a token with a denomination and a + decimal amount. + + + NOTE: The amount field is an Dec which implements the + custom method + + signatures required by gogoproto. + description: >- + ValidatorOutstandingRewards represents outstanding + (un-withdrawn) rewards + + for a validator inexpensive to track, allows simple sanity + checks. + description: >- + QueryValidatorOutstandingRewardsResponse is the response type for + the + + Query/ValidatorOutstandingRewards RPC method. + default: + description: An unexpected error response. + schema: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + '@type': + type: string + additionalProperties: {} + parameters: + - name: validator_address + description: validator_address defines the validator address to query for. + in: path + required: true + type: string + tags: + - Query + /cosmos/distribution/v1beta1/validators/{validator_address}/slashes: + get: + summary: ValidatorSlashes queries slash events of a validator. + operationId: CosmosDistributionV1Beta1ValidatorSlashes + responses: + '200': + description: A successful response. + schema: + type: object + properties: + slashes: + type: array + items: + type: object + properties: + validator_period: + type: string + format: uint64 + fraction: + type: string + description: >- + ValidatorSlashEvent represents a validator slash event. + + Height is implicit within the store key. + + This is needed to calculate appropriate amount of staking + tokens + + for delegations which are withdrawn after a slash has + occurred. + description: slashes defines the slashes the validator received. + pagination: + description: pagination defines the pagination in the response. + type: object + properties: + next_key: + type: string + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + total: + type: string + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total + + was set, its value is undefined otherwise + description: |- + QueryValidatorSlashesResponse is the response type for the + Query/ValidatorSlashes RPC method. + default: + description: An unexpected error response. + schema: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + '@type': + type: string + additionalProperties: {} + parameters: + - name: validator_address + description: validator_address defines the validator address to query for. + in: path + required: true + type: string + - name: starting_height + description: >- + starting_height defines the optional starting height to query the + slashes. + in: query + required: false + type: string + format: uint64 + - name: ending_height + description: >- + starting_height defines the optional ending height to query the + slashes. + in: query + required: false + type: string + format: uint64 + - name: pagination.key + description: |- + key is a value returned in PageResponse.next_key to begin + querying the next page most efficiently. Only one of offset or key + should be set. + in: query + required: false + type: string + format: byte + - name: pagination.offset + description: >- + offset is a numeric offset that can be used when key is unavailable. + + It is less efficient than using key. Only one of offset or key + should + + be set. + in: query + required: false + type: string + format: uint64 + - name: pagination.limit + description: >- + limit is the total number of results to be returned in the result + page. + + If left empty it will default to a value to be set by each app. + in: query + required: false + type: string + format: uint64 + - name: pagination.count_total + description: >- + count_total is set to true to indicate that the result set should + include + + a count of the total number of items available for pagination in + UIs. + + count_total is only respected when offset is used. It is ignored + when key + + is set. + in: query + required: false + type: boolean + - name: pagination.reverse + description: >- + reverse is set to true if results are to be returned in the + descending order. + + + Since: cosmos-sdk 0.43 + in: query + required: false + type: boolean + tags: + - Query + /cosmos/evidence/v1beta1/evidence: + get: + summary: AllEvidence queries all evidence. + operationId: CosmosEvidenceV1Beta1AllEvidence + responses: + '200': + description: A successful response. + schema: + type: object + properties: + evidence: + type: array + items: + type: object + properties: + '@type': + type: string + description: >- + A URL/resource name that uniquely identifies the type of + the serialized + + protocol buffer message. This string must contain at + least + + one "/" character. The last segment of the URL's path + must represent + + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name should be in + a canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the binary + all types that they + + expect it to use in the context of Any. However, for + URLs which use the + + scheme `http`, `https`, or no scheme, one can optionally + set up a type + + server that maps type URLs to message definitions as + follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based + on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available in + the official + + protobuf release, and it is not used for type URLs + beginning with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty scheme) + might be + + used with implementation specific semantics. + additionalProperties: {} + description: >- + `Any` contains an arbitrary serialized protocol buffer + message along with a + + URL that describes the type of the serialized message. + + + Protobuf library provides support to pack/unpack Any values + in the form + + of utility functions or additional generated methods of the + Any type. + + + Example 1: Pack and unpack a message in C++. + + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } + + Example 2: Pack and unpack a message in Java. + + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + + Example 3: Pack and unpack a message in Python. + + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + + Example 4: Pack and unpack a message in Go + + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } + + The pack methods provided by protobuf library will by + default use + + 'type.googleapis.com/full.type.name' as the type URL and the + unpack + + methods only use the fully qualified type name after the + last '/' + + in the type URL, for example "foo.bar.com/x/y.z" will yield + type + + name "y.z". + + + + JSON + + ==== + + The JSON representation of an `Any` value uses the regular + + representation of the deserialized, embedded message, with + an + + additional field `@type` which contains the type URL. + Example: + + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } + + If the embedded message type is well-known and has a custom + JSON + + representation, that representation will be embedded adding + a field + + `value` which holds the custom JSON in addition to the + `@type` + + field. Example (for message [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + description: evidence returns all evidences. + pagination: + description: pagination defines the pagination in the response. + type: object + properties: + next_key: + type: string + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + total: + type: string + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total + + was set, its value is undefined otherwise + description: >- + QueryAllEvidenceResponse is the response type for the + Query/AllEvidence RPC + + method. + default: + description: An unexpected error response. + schema: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + '@type': + type: string + description: >- + A URL/resource name that uniquely identifies the type of + the serialized + + protocol buffer message. This string must contain at + least + + one "/" character. The last segment of the URL's path + must represent + + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name should be in + a canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the binary + all types that they + + expect it to use in the context of Any. However, for + URLs which use the + + scheme `http`, `https`, or no scheme, one can optionally + set up a type + + server that maps type URLs to message definitions as + follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based + on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available in + the official + + protobuf release, and it is not used for type URLs + beginning with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty scheme) + might be + + used with implementation specific semantics. + additionalProperties: {} + description: >- + `Any` contains an arbitrary serialized protocol buffer + message along with a + + URL that describes the type of the serialized message. + + + Protobuf library provides support to pack/unpack Any values + in the form + + of utility functions or additional generated methods of the + Any type. + + + Example 1: Pack and unpack a message in C++. + + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } + + Example 2: Pack and unpack a message in Java. + + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + + Example 3: Pack and unpack a message in Python. + + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + + Example 4: Pack and unpack a message in Go + + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } + + The pack methods provided by protobuf library will by + default use + + 'type.googleapis.com/full.type.name' as the type URL and the + unpack + + methods only use the fully qualified type name after the + last '/' + + in the type URL, for example "foo.bar.com/x/y.z" will yield + type + + name "y.z". + + + + JSON + + ==== + + The JSON representation of an `Any` value uses the regular + + representation of the deserialized, embedded message, with + an + + additional field `@type` which contains the type URL. + Example: + + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } + + If the embedded message type is well-known and has a custom + JSON + + representation, that representation will be embedded adding + a field + + `value` which holds the custom JSON in addition to the + `@type` + + field. Example (for message [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + parameters: + - name: pagination.key + description: |- + key is a value returned in PageResponse.next_key to begin + querying the next page most efficiently. Only one of offset or key + should be set. + in: query + required: false + type: string + format: byte + - name: pagination.offset + description: >- + offset is a numeric offset that can be used when key is unavailable. + + It is less efficient than using key. Only one of offset or key + should + + be set. + in: query + required: false + type: string + format: uint64 + - name: pagination.limit + description: >- + limit is the total number of results to be returned in the result + page. + + If left empty it will default to a value to be set by each app. + in: query + required: false + type: string + format: uint64 + - name: pagination.count_total + description: >- + count_total is set to true to indicate that the result set should + include + + a count of the total number of items available for pagination in + UIs. + + count_total is only respected when offset is used. It is ignored + when key + + is set. + in: query + required: false + type: boolean + - name: pagination.reverse + description: >- + reverse is set to true if results are to be returned in the + descending order. + + + Since: cosmos-sdk 0.43 + in: query + required: false + type: boolean + tags: + - Query + /cosmos/evidence/v1beta1/evidence/{evidence_hash}: + get: + summary: Evidence queries evidence based on evidence hash. + operationId: CosmosEvidenceV1Beta1Evidence + responses: + '200': + description: A successful response. + schema: + type: object + properties: + evidence: + description: evidence returns the requested evidence. + type: object + properties: + '@type': + type: string + description: >- + A URL/resource name that uniquely identifies the type of + the serialized + + protocol buffer message. This string must contain at least + + one "/" character. The last segment of the URL's path must + represent + + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name should be in a + canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the binary all + types that they + + expect it to use in the context of Any. However, for URLs + which use the + + scheme `http`, `https`, or no scheme, one can optionally + set up a type + + server that maps type URLs to message definitions as + follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based + on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available in the + official + + protobuf release, and it is not used for type URLs + beginning with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty scheme) + might be + + used with implementation specific semantics. + additionalProperties: {} + description: >- + QueryEvidenceResponse is the response type for the Query/Evidence + RPC method. + default: + description: An unexpected error response. + schema: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + '@type': + type: string + description: >- + A URL/resource name that uniquely identifies the type of + the serialized + + protocol buffer message. This string must contain at + least + + one "/" character. The last segment of the URL's path + must represent + + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name should be in + a canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the binary + all types that they + + expect it to use in the context of Any. However, for + URLs which use the + + scheme `http`, `https`, or no scheme, one can optionally + set up a type + + server that maps type URLs to message definitions as + follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based + on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available in + the official + + protobuf release, and it is not used for type URLs + beginning with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty scheme) + might be + + used with implementation specific semantics. + additionalProperties: {} + description: >- + `Any` contains an arbitrary serialized protocol buffer + message along with a + + URL that describes the type of the serialized message. + + + Protobuf library provides support to pack/unpack Any values + in the form + + of utility functions or additional generated methods of the + Any type. + + + Example 1: Pack and unpack a message in C++. + + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } + + Example 2: Pack and unpack a message in Java. + + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + + Example 3: Pack and unpack a message in Python. + + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + + Example 4: Pack and unpack a message in Go + + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } + + The pack methods provided by protobuf library will by + default use + + 'type.googleapis.com/full.type.name' as the type URL and the + unpack + + methods only use the fully qualified type name after the + last '/' + + in the type URL, for example "foo.bar.com/x/y.z" will yield + type + + name "y.z". + + + + JSON + + ==== + + The JSON representation of an `Any` value uses the regular + + representation of the deserialized, embedded message, with + an + + additional field `@type` which contains the type URL. + Example: + + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } + + If the embedded message type is well-known and has a custom + JSON + + representation, that representation will be embedded adding + a field + + `value` which holds the custom JSON in addition to the + `@type` + + field. Example (for message [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + parameters: + - name: evidence_hash + description: evidence_hash defines the hash of the requested evidence. + in: path + required: true + type: string + format: byte + tags: + - Query + /cosmos/feegrant/v1beta1/allowance/{granter}/{grantee}: + get: + summary: Allowance returns fee granted to the grantee by the granter. + operationId: CosmosFeegrantV1Beta1Allowance + responses: + '200': + description: A successful response. + schema: + type: object + properties: + allowance: + description: allowance is a allowance granted for grantee by granter. + type: object + properties: + granter: + type: string + description: >- + granter is the address of the user granting an allowance + of their funds. + grantee: + type: string + description: >- + grantee is the address of the user being granted an + allowance of another user's funds. + allowance: + description: >- + allowance can be any of basic, periodic, allowed fee + allowance. + type: object + properties: + '@type': + type: string + description: >- + A URL/resource name that uniquely identifies the type + of the serialized + + protocol buffer message. This string must contain at + least + + one "/" character. The last segment of the URL's path + must represent + + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name should be + in a canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the binary + all types that they + + expect it to use in the context of Any. However, for + URLs which use the + + scheme `http`, `https`, or no scheme, one can + optionally set up a type + + server that maps type URLs to message definitions as + follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results + based on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available in + the official + + protobuf release, and it is not used for type URLs + beginning with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty + scheme) might be + + used with implementation specific semantics. + additionalProperties: {} + title: >- + Grant is stored in the KVStore to record a grant with full + context + description: >- + QueryAllowanceResponse is the response type for the + Query/Allowance RPC method. + default: + description: An unexpected error response. + schema: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + '@type': + type: string + description: >- + A URL/resource name that uniquely identifies the type of + the serialized + + protocol buffer message. This string must contain at + least + + one "/" character. The last segment of the URL's path + must represent + + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name should be in + a canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the binary + all types that they + + expect it to use in the context of Any. However, for + URLs which use the + + scheme `http`, `https`, or no scheme, one can optionally + set up a type + + server that maps type URLs to message definitions as + follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based + on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available in + the official + + protobuf release, and it is not used for type URLs + beginning with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty scheme) + might be + + used with implementation specific semantics. + additionalProperties: {} + description: >- + `Any` contains an arbitrary serialized protocol buffer + message along with a + + URL that describes the type of the serialized message. + + + Protobuf library provides support to pack/unpack Any values + in the form + + of utility functions or additional generated methods of the + Any type. + + + Example 1: Pack and unpack a message in C++. + + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } + + Example 2: Pack and unpack a message in Java. + + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + + Example 3: Pack and unpack a message in Python. + + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + + Example 4: Pack and unpack a message in Go + + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } + + The pack methods provided by protobuf library will by + default use + + 'type.googleapis.com/full.type.name' as the type URL and the + unpack + + methods only use the fully qualified type name after the + last '/' + + in the type URL, for example "foo.bar.com/x/y.z" will yield + type + + name "y.z". + + + + JSON + + ==== + + The JSON representation of an `Any` value uses the regular + + representation of the deserialized, embedded message, with + an + + additional field `@type` which contains the type URL. + Example: + + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } + + If the embedded message type is well-known and has a custom + JSON + + representation, that representation will be embedded adding + a field + + `value` which holds the custom JSON in addition to the + `@type` + + field. Example (for message [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + parameters: + - name: granter + description: >- + granter is the address of the user granting an allowance of their + funds. + in: path + required: true + type: string + - name: grantee + description: >- + grantee is the address of the user being granted an allowance of + another user's funds. + in: path + required: true + type: string + tags: + - Query + /cosmos/feegrant/v1beta1/allowances/{grantee}: + get: + summary: Allowances returns all the grants for address. + operationId: CosmosFeegrantV1Beta1Allowances + responses: + '200': + description: A successful response. + schema: + type: object + properties: + allowances: + type: array + items: + type: object + properties: + granter: + type: string + description: >- + granter is the address of the user granting an allowance + of their funds. + grantee: + type: string + description: >- + grantee is the address of the user being granted an + allowance of another user's funds. + allowance: + description: >- + allowance can be any of basic, periodic, allowed fee + allowance. + type: object + properties: + '@type': + type: string + description: >- + A URL/resource name that uniquely identifies the + type of the serialized + + protocol buffer message. This string must contain at + least + + one "/" character. The last segment of the URL's + path must represent + + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name should be + in a canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the + binary all types that they + + expect it to use in the context of Any. However, for + URLs which use the + + scheme `http`, `https`, or no scheme, one can + optionally set up a type + + server that maps type URLs to message definitions as + follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results + based on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available + in the official + + protobuf release, and it is not used for type URLs + beginning with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty + scheme) might be + + used with implementation specific semantics. + additionalProperties: {} + title: >- + Grant is stored in the KVStore to record a grant with full + context + description: allowances are allowance's granted for grantee by granter. + pagination: + description: pagination defines an pagination for the response. + type: object + properties: + next_key: + type: string + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + total: + type: string + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total + + was set, its value is undefined otherwise + description: >- + QueryAllowancesResponse is the response type for the + Query/Allowances RPC method. + default: + description: An unexpected error response. + schema: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + '@type': + type: string + description: >- + A URL/resource name that uniquely identifies the type of + the serialized + + protocol buffer message. This string must contain at + least + + one "/" character. The last segment of the URL's path + must represent + + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name should be in + a canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the binary + all types that they + + expect it to use in the context of Any. However, for + URLs which use the + + scheme `http`, `https`, or no scheme, one can optionally + set up a type + + server that maps type URLs to message definitions as + follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based + on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available in + the official + + protobuf release, and it is not used for type URLs + beginning with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty scheme) + might be + + used with implementation specific semantics. + additionalProperties: {} + description: >- + `Any` contains an arbitrary serialized protocol buffer + message along with a + + URL that describes the type of the serialized message. + + + Protobuf library provides support to pack/unpack Any values + in the form + + of utility functions or additional generated methods of the + Any type. + + + Example 1: Pack and unpack a message in C++. + + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } + + Example 2: Pack and unpack a message in Java. + + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + + Example 3: Pack and unpack a message in Python. + + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + + Example 4: Pack and unpack a message in Go + + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } + + The pack methods provided by protobuf library will by + default use + + 'type.googleapis.com/full.type.name' as the type URL and the + unpack + + methods only use the fully qualified type name after the + last '/' + + in the type URL, for example "foo.bar.com/x/y.z" will yield + type + + name "y.z". + + + + JSON + + ==== + + The JSON representation of an `Any` value uses the regular + + representation of the deserialized, embedded message, with + an + + additional field `@type` which contains the type URL. + Example: + + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } + + If the embedded message type is well-known and has a custom + JSON + + representation, that representation will be embedded adding + a field + + `value` which holds the custom JSON in addition to the + `@type` + + field. Example (for message [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + parameters: + - name: grantee + in: path + required: true + type: string + - name: pagination.key + description: |- + key is a value returned in PageResponse.next_key to begin + querying the next page most efficiently. Only one of offset or key + should be set. + in: query + required: false + type: string + format: byte + - name: pagination.offset + description: >- + offset is a numeric offset that can be used when key is unavailable. + + It is less efficient than using key. Only one of offset or key + should + + be set. + in: query + required: false + type: string + format: uint64 + - name: pagination.limit + description: >- + limit is the total number of results to be returned in the result + page. + + If left empty it will default to a value to be set by each app. + in: query + required: false + type: string + format: uint64 + - name: pagination.count_total + description: >- + count_total is set to true to indicate that the result set should + include + + a count of the total number of items available for pagination in + UIs. + + count_total is only respected when offset is used. It is ignored + when key + + is set. + in: query + required: false + type: boolean + - name: pagination.reverse + description: >- + reverse is set to true if results are to be returned in the + descending order. + + + Since: cosmos-sdk 0.43 + in: query + required: false + type: boolean + tags: + - Query + /cosmos/feegrant/v1beta1/issued/{granter}: + get: + summary: AllowancesByGranter returns all the grants given by an address + description: 'Since: cosmos-sdk 0.46' + operationId: CosmosFeegrantV1Beta1AllowancesByGranter + responses: + '200': + description: A successful response. + schema: + type: object + properties: + allowances: + type: array + items: + type: object + properties: + granter: + type: string + description: >- + granter is the address of the user granting an allowance + of their funds. + grantee: + type: string + description: >- + grantee is the address of the user being granted an + allowance of another user's funds. + allowance: + description: >- + allowance can be any of basic, periodic, allowed fee + allowance. + type: object + properties: + '@type': + type: string + description: >- + A URL/resource name that uniquely identifies the + type of the serialized + + protocol buffer message. This string must contain at + least + + one "/" character. The last segment of the URL's + path must represent + + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name should be + in a canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the + binary all types that they + + expect it to use in the context of Any. However, for + URLs which use the + + scheme `http`, `https`, or no scheme, one can + optionally set up a type + + server that maps type URLs to message definitions as + follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results + based on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available + in the official + + protobuf release, and it is not used for type URLs + beginning with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty + scheme) might be + + used with implementation specific semantics. + additionalProperties: {} + title: >- + Grant is stored in the KVStore to record a grant with full + context + description: allowances that have been issued by the granter. + pagination: + description: pagination defines an pagination for the response. + type: object + properties: + next_key: + type: string + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + total: + type: string + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total + + was set, its value is undefined otherwise + description: >- + QueryAllowancesByGranterResponse is the response type for the + Query/AllowancesByGranter RPC method. + + + Since: cosmos-sdk 0.46 + default: + description: An unexpected error response. + schema: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + '@type': + type: string + description: >- + A URL/resource name that uniquely identifies the type of + the serialized + + protocol buffer message. This string must contain at + least + + one "/" character. The last segment of the URL's path + must represent + + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name should be in + a canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the binary + all types that they + + expect it to use in the context of Any. However, for + URLs which use the + + scheme `http`, `https`, or no scheme, one can optionally + set up a type + + server that maps type URLs to message definitions as + follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based + on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available in + the official + + protobuf release, and it is not used for type URLs + beginning with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty scheme) + might be + + used with implementation specific semantics. + additionalProperties: {} + description: >- + `Any` contains an arbitrary serialized protocol buffer + message along with a + + URL that describes the type of the serialized message. + + + Protobuf library provides support to pack/unpack Any values + in the form + + of utility functions or additional generated methods of the + Any type. + + + Example 1: Pack and unpack a message in C++. + + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } + + Example 2: Pack and unpack a message in Java. + + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + + Example 3: Pack and unpack a message in Python. + + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + + Example 4: Pack and unpack a message in Go + + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } + + The pack methods provided by protobuf library will by + default use + + 'type.googleapis.com/full.type.name' as the type URL and the + unpack + + methods only use the fully qualified type name after the + last '/' + + in the type URL, for example "foo.bar.com/x/y.z" will yield + type + + name "y.z". + + + + JSON + + ==== + + The JSON representation of an `Any` value uses the regular + + representation of the deserialized, embedded message, with + an + + additional field `@type` which contains the type URL. + Example: + + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } + + If the embedded message type is well-known and has a custom + JSON + + representation, that representation will be embedded adding + a field + + `value` which holds the custom JSON in addition to the + `@type` + + field. Example (for message [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + parameters: + - name: granter + in: path + required: true + type: string + - name: pagination.key + description: |- + key is a value returned in PageResponse.next_key to begin + querying the next page most efficiently. Only one of offset or key + should be set. + in: query + required: false + type: string + format: byte + - name: pagination.offset + description: >- + offset is a numeric offset that can be used when key is unavailable. + + It is less efficient than using key. Only one of offset or key + should + + be set. + in: query + required: false + type: string + format: uint64 + - name: pagination.limit + description: >- + limit is the total number of results to be returned in the result + page. + + If left empty it will default to a value to be set by each app. + in: query + required: false + type: string + format: uint64 + - name: pagination.count_total + description: >- + count_total is set to true to indicate that the result set should + include + + a count of the total number of items available for pagination in + UIs. + + count_total is only respected when offset is used. It is ignored + when key + + is set. + in: query + required: false + type: boolean + - name: pagination.reverse + description: >- + reverse is set to true if results are to be returned in the + descending order. + + + Since: cosmos-sdk 0.43 + in: query + required: false + type: boolean + tags: + - Query + /cosmos/gov/v1/params/{params_type}: + get: + summary: Params queries all parameters of the gov module. + operationId: CosmosGovV1Params + responses: + '200': + description: A successful response. + schema: + type: object + properties: + voting_params: + description: voting_params defines the parameters related to voting. + type: object + properties: + voting_period: + type: string + description: Length of the voting period. + deposit_params: + description: deposit_params defines the parameters related to deposit. + type: object + properties: + min_deposit: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. + + + NOTE: The amount field is an Int which implements the + custom method + + signatures required by gogoproto. + description: Minimum deposit for a proposal to enter voting period. + max_deposit_period: + type: string + description: >- + Maximum period for Atom holders to deposit on a proposal. + Initial value: 2 + months. + tally_params: + description: tally_params defines the parameters related to tally. + type: object + properties: + quorum: + type: string + description: >- + Minimum percentage of total stake needed to vote for a + result to be + considered valid. + threshold: + type: string + description: >- + Minimum proportion of Yes votes for proposal to pass. + Default value: 0.5. + veto_threshold: + type: string + description: >- + Minimum value of Veto votes to Total votes ratio for + proposal to be + vetoed. Default value: 1/3. + description: >- + QueryParamsResponse is the response type for the Query/Params RPC + method. + default: + description: An unexpected error response. + schema: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + '@type': + type: string + description: >- + A URL/resource name that uniquely identifies the type of + the serialized + + protocol buffer message. This string must contain at + least + + one "/" character. The last segment of the URL's path + must represent + + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name should be in + a canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the binary + all types that they + + expect it to use in the context of Any. However, for + URLs which use the + + scheme `http`, `https`, or no scheme, one can optionally + set up a type + + server that maps type URLs to message definitions as + follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based + on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available in + the official + + protobuf release, and it is not used for type URLs + beginning with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty scheme) + might be + + used with implementation specific semantics. + additionalProperties: {} + description: >- + `Any` contains an arbitrary serialized protocol buffer + message along with a + + URL that describes the type of the serialized message. + + + Protobuf library provides support to pack/unpack Any values + in the form + + of utility functions or additional generated methods of the + Any type. + + + Example 1: Pack and unpack a message in C++. + + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } + + Example 2: Pack and unpack a message in Java. + + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + + Example 3: Pack and unpack a message in Python. + + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + + Example 4: Pack and unpack a message in Go + + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } + + The pack methods provided by protobuf library will by + default use + + 'type.googleapis.com/full.type.name' as the type URL and the + unpack + + methods only use the fully qualified type name after the + last '/' + + in the type URL, for example "foo.bar.com/x/y.z" will yield + type + + name "y.z". + + + + JSON + + ==== + + The JSON representation of an `Any` value uses the regular + + representation of the deserialized, embedded message, with + an + + additional field `@type` which contains the type URL. + Example: + + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } + + If the embedded message type is well-known and has a custom + JSON + + representation, that representation will be embedded adding + a field + + `value` which holds the custom JSON in addition to the + `@type` + + field. Example (for message [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + parameters: + - name: params_type + description: >- + params_type defines which parameters to query for, can be one of + "voting", + + "tallying" or "deposit". + in: path + required: true + type: string + tags: + - Query + /cosmos/gov/v1/proposals: + get: + summary: Proposals queries all proposals based on given status. + operationId: CosmosGovV1Proposals + responses: + '200': + description: A successful response. + schema: + type: object + properties: + proposals: + type: array + items: + type: object + properties: + id: + type: string + format: uint64 + messages: + type: array + items: + type: object + properties: + '@type': + type: string + description: >- + A URL/resource name that uniquely identifies the + type of the serialized + + protocol buffer message. This string must contain + at least + + one "/" character. The last segment of the URL's + path must represent + + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name should + be in a canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the + binary all types that they + + expect it to use in the context of Any. However, + for URLs which use the + + scheme `http`, `https`, or no scheme, one can + optionally set up a type + + server that maps type URLs to message definitions + as follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results + based on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently + available in the official + + protobuf release, and it is not used for type URLs + beginning with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty + scheme) might be + + used with implementation specific semantics. + additionalProperties: {} + description: >- + `Any` contains an arbitrary serialized protocol buffer + message along with a + + URL that describes the type of the serialized message. + + + Protobuf library provides support to pack/unpack Any + values in the form + + of utility functions or additional generated methods + of the Any type. + + + Example 1: Pack and unpack a message in C++. + + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } + + Example 2: Pack and unpack a message in Java. + + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + + Example 3: Pack and unpack a message in Python. + + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + + Example 4: Pack and unpack a message in Go + + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } + + The pack methods provided by protobuf library will by + default use + + 'type.googleapis.com/full.type.name' as the type URL + and the unpack + + methods only use the fully qualified type name after + the last '/' + + in the type URL, for example "foo.bar.com/x/y.z" will + yield type + + name "y.z". + + + + JSON + + ==== + + The JSON representation of an `Any` value uses the + regular + + representation of the deserialized, embedded message, + with an + + additional field `@type` which contains the type URL. + Example: + + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } + + If the embedded message type is well-known and has a + custom JSON + + representation, that representation will be embedded + adding a field + + `value` which holds the custom JSON in addition to the + `@type` + + field. Example (for message + [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + status: + type: string + enum: + - PROPOSAL_STATUS_UNSPECIFIED + - PROPOSAL_STATUS_DEPOSIT_PERIOD + - PROPOSAL_STATUS_VOTING_PERIOD + - PROPOSAL_STATUS_PASSED + - PROPOSAL_STATUS_REJECTED + - PROPOSAL_STATUS_FAILED + default: PROPOSAL_STATUS_UNSPECIFIED + description: >- + ProposalStatus enumerates the valid statuses of a + proposal. + + - PROPOSAL_STATUS_UNSPECIFIED: PROPOSAL_STATUS_UNSPECIFIED defines the default proposal status. + - PROPOSAL_STATUS_DEPOSIT_PERIOD: PROPOSAL_STATUS_DEPOSIT_PERIOD defines a proposal status during the deposit + period. + - PROPOSAL_STATUS_VOTING_PERIOD: PROPOSAL_STATUS_VOTING_PERIOD defines a proposal status during the voting + period. + - PROPOSAL_STATUS_PASSED: PROPOSAL_STATUS_PASSED defines a proposal status of a proposal that has + passed. + - PROPOSAL_STATUS_REJECTED: PROPOSAL_STATUS_REJECTED defines a proposal status of a proposal that has + been rejected. + - PROPOSAL_STATUS_FAILED: PROPOSAL_STATUS_FAILED defines a proposal status of a proposal that has + failed. + final_tally_result: + description: >- + final_tally_result is the final tally result of the + proposal. When + + querying a proposal via gRPC, this field is not + populated until the + + proposal's voting period has ended. + type: object + properties: + yes_count: + type: string + abstain_count: + type: string + no_count: + type: string + no_with_veto_count: + type: string + submit_time: + type: string + format: date-time + deposit_end_time: + type: string + format: date-time + total_deposit: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an + amount. + + + NOTE: The amount field is an Int which implements the + custom method + + signatures required by gogoproto. + voting_start_time: + type: string + format: date-time + voting_end_time: + type: string + format: date-time + metadata: + type: string + description: >- + metadata is any arbitrary metadata attached to the + proposal. + description: >- + Proposal defines the core field members of a governance + proposal. + pagination: + description: pagination defines the pagination in the response. + type: object + properties: + next_key: + type: string + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + total: + type: string + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total + + was set, its value is undefined otherwise + description: >- + QueryProposalsResponse is the response type for the + Query/Proposals RPC + + method. + default: + description: An unexpected error response. + schema: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + '@type': + type: string + description: >- + A URL/resource name that uniquely identifies the type of + the serialized + + protocol buffer message. This string must contain at + least + + one "/" character. The last segment of the URL's path + must represent + + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name should be in + a canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the binary + all types that they + + expect it to use in the context of Any. However, for + URLs which use the + + scheme `http`, `https`, or no scheme, one can optionally + set up a type + + server that maps type URLs to message definitions as + follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based + on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available in + the official + + protobuf release, and it is not used for type URLs + beginning with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty scheme) + might be + + used with implementation specific semantics. + additionalProperties: {} + description: >- + `Any` contains an arbitrary serialized protocol buffer + message along with a + + URL that describes the type of the serialized message. + + + Protobuf library provides support to pack/unpack Any values + in the form + + of utility functions or additional generated methods of the + Any type. + + + Example 1: Pack and unpack a message in C++. + + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } + + Example 2: Pack and unpack a message in Java. + + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + + Example 3: Pack and unpack a message in Python. + + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + + Example 4: Pack and unpack a message in Go + + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } + + The pack methods provided by protobuf library will by + default use + + 'type.googleapis.com/full.type.name' as the type URL and the + unpack + + methods only use the fully qualified type name after the + last '/' + + in the type URL, for example "foo.bar.com/x/y.z" will yield + type + + name "y.z". + + + + JSON + + ==== + + The JSON representation of an `Any` value uses the regular + + representation of the deserialized, embedded message, with + an + + additional field `@type` which contains the type URL. + Example: + + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } + + If the embedded message type is well-known and has a custom + JSON + + representation, that representation will be embedded adding + a field + + `value` which holds the custom JSON in addition to the + `@type` + + field. Example (for message [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + parameters: + - name: proposal_status + description: |- + proposal_status defines the status of the proposals. + + - PROPOSAL_STATUS_UNSPECIFIED: PROPOSAL_STATUS_UNSPECIFIED defines the default proposal status. + - PROPOSAL_STATUS_DEPOSIT_PERIOD: PROPOSAL_STATUS_DEPOSIT_PERIOD defines a proposal status during the deposit + period. + - PROPOSAL_STATUS_VOTING_PERIOD: PROPOSAL_STATUS_VOTING_PERIOD defines a proposal status during the voting + period. + - PROPOSAL_STATUS_PASSED: PROPOSAL_STATUS_PASSED defines a proposal status of a proposal that has + passed. + - PROPOSAL_STATUS_REJECTED: PROPOSAL_STATUS_REJECTED defines a proposal status of a proposal that has + been rejected. + - PROPOSAL_STATUS_FAILED: PROPOSAL_STATUS_FAILED defines a proposal status of a proposal that has + failed. + in: query + required: false + type: string + enum: + - PROPOSAL_STATUS_UNSPECIFIED + - PROPOSAL_STATUS_DEPOSIT_PERIOD + - PROPOSAL_STATUS_VOTING_PERIOD + - PROPOSAL_STATUS_PASSED + - PROPOSAL_STATUS_REJECTED + - PROPOSAL_STATUS_FAILED + default: PROPOSAL_STATUS_UNSPECIFIED + - name: voter + description: voter defines the voter address for the proposals. + in: query + required: false + type: string + - name: depositor + description: depositor defines the deposit addresses from the proposals. + in: query + required: false + type: string + - name: pagination.key + description: |- + key is a value returned in PageResponse.next_key to begin + querying the next page most efficiently. Only one of offset or key + should be set. + in: query + required: false + type: string + format: byte + - name: pagination.offset + description: >- + offset is a numeric offset that can be used when key is unavailable. + + It is less efficient than using key. Only one of offset or key + should + + be set. + in: query + required: false + type: string + format: uint64 + - name: pagination.limit + description: >- + limit is the total number of results to be returned in the result + page. + + If left empty it will default to a value to be set by each app. + in: query + required: false + type: string + format: uint64 + - name: pagination.count_total + description: >- + count_total is set to true to indicate that the result set should + include + + a count of the total number of items available for pagination in + UIs. + + count_total is only respected when offset is used. It is ignored + when key + + is set. + in: query + required: false + type: boolean + - name: pagination.reverse + description: >- + reverse is set to true if results are to be returned in the + descending order. + + + Since: cosmos-sdk 0.43 + in: query + required: false + type: boolean + tags: + - Query + /cosmos/gov/v1/proposals/{proposal_id}: + get: + summary: Proposal queries proposal details based on ProposalID. + operationId: CosmosGovV1Proposal + responses: + '200': + description: A successful response. + schema: + type: object + properties: + proposal: + type: object + properties: + id: + type: string + format: uint64 + messages: + type: array + items: + type: object + properties: + '@type': + type: string + description: >- + A URL/resource name that uniquely identifies the + type of the serialized + + protocol buffer message. This string must contain at + least + + one "/" character. The last segment of the URL's + path must represent + + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name should be + in a canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the + binary all types that they + + expect it to use in the context of Any. However, for + URLs which use the + + scheme `http`, `https`, or no scheme, one can + optionally set up a type + + server that maps type URLs to message definitions as + follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results + based on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available + in the official + + protobuf release, and it is not used for type URLs + beginning with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty + scheme) might be + + used with implementation specific semantics. + additionalProperties: {} + description: >- + `Any` contains an arbitrary serialized protocol buffer + message along with a + + URL that describes the type of the serialized message. + + + Protobuf library provides support to pack/unpack Any + values in the form + + of utility functions or additional generated methods of + the Any type. + + + Example 1: Pack and unpack a message in C++. + + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } + + Example 2: Pack and unpack a message in Java. + + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + + Example 3: Pack and unpack a message in Python. + + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + + Example 4: Pack and unpack a message in Go + + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } + + The pack methods provided by protobuf library will by + default use + + 'type.googleapis.com/full.type.name' as the type URL and + the unpack + + methods only use the fully qualified type name after the + last '/' + + in the type URL, for example "foo.bar.com/x/y.z" will + yield type + + name "y.z". + + + + JSON + + ==== + + The JSON representation of an `Any` value uses the + regular + + representation of the deserialized, embedded message, + with an + + additional field `@type` which contains the type URL. + Example: + + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } + + If the embedded message type is well-known and has a + custom JSON + + representation, that representation will be embedded + adding a field + + `value` which holds the custom JSON in addition to the + `@type` + + field. Example (for message + [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + status: + type: string + enum: + - PROPOSAL_STATUS_UNSPECIFIED + - PROPOSAL_STATUS_DEPOSIT_PERIOD + - PROPOSAL_STATUS_VOTING_PERIOD + - PROPOSAL_STATUS_PASSED + - PROPOSAL_STATUS_REJECTED + - PROPOSAL_STATUS_FAILED + default: PROPOSAL_STATUS_UNSPECIFIED + description: >- + ProposalStatus enumerates the valid statuses of a + proposal. + + - PROPOSAL_STATUS_UNSPECIFIED: PROPOSAL_STATUS_UNSPECIFIED defines the default proposal status. + - PROPOSAL_STATUS_DEPOSIT_PERIOD: PROPOSAL_STATUS_DEPOSIT_PERIOD defines a proposal status during the deposit + period. + - PROPOSAL_STATUS_VOTING_PERIOD: PROPOSAL_STATUS_VOTING_PERIOD defines a proposal status during the voting + period. + - PROPOSAL_STATUS_PASSED: PROPOSAL_STATUS_PASSED defines a proposal status of a proposal that has + passed. + - PROPOSAL_STATUS_REJECTED: PROPOSAL_STATUS_REJECTED defines a proposal status of a proposal that has + been rejected. + - PROPOSAL_STATUS_FAILED: PROPOSAL_STATUS_FAILED defines a proposal status of a proposal that has + failed. + final_tally_result: + description: >- + final_tally_result is the final tally result of the + proposal. When + + querying a proposal via gRPC, this field is not populated + until the + + proposal's voting period has ended. + type: object + properties: + yes_count: + type: string + abstain_count: + type: string + no_count: + type: string + no_with_veto_count: + type: string + submit_time: + type: string + format: date-time + deposit_end_time: + type: string + format: date-time + total_deposit: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. + + + NOTE: The amount field is an Int which implements the + custom method + + signatures required by gogoproto. + voting_start_time: + type: string + format: date-time + voting_end_time: + type: string + format: date-time + metadata: + type: string + description: >- + metadata is any arbitrary metadata attached to the + proposal. + description: >- + Proposal defines the core field members of a governance + proposal. + description: >- + QueryProposalResponse is the response type for the Query/Proposal + RPC method. + default: + description: An unexpected error response. + schema: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + '@type': + type: string + description: >- + A URL/resource name that uniquely identifies the type of + the serialized + + protocol buffer message. This string must contain at + least + + one "/" character. The last segment of the URL's path + must represent + + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name should be in + a canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the binary + all types that they + + expect it to use in the context of Any. However, for + URLs which use the + + scheme `http`, `https`, or no scheme, one can optionally + set up a type + + server that maps type URLs to message definitions as + follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based + on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available in + the official + + protobuf release, and it is not used for type URLs + beginning with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty scheme) + might be + + used with implementation specific semantics. + additionalProperties: {} + description: >- + `Any` contains an arbitrary serialized protocol buffer + message along with a + + URL that describes the type of the serialized message. + + + Protobuf library provides support to pack/unpack Any values + in the form + + of utility functions or additional generated methods of the + Any type. + + + Example 1: Pack and unpack a message in C++. + + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } + + Example 2: Pack and unpack a message in Java. + + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + + Example 3: Pack and unpack a message in Python. + + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + + Example 4: Pack and unpack a message in Go + + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } + + The pack methods provided by protobuf library will by + default use + + 'type.googleapis.com/full.type.name' as the type URL and the + unpack + + methods only use the fully qualified type name after the + last '/' + + in the type URL, for example "foo.bar.com/x/y.z" will yield + type + + name "y.z". + + + + JSON + + ==== + + The JSON representation of an `Any` value uses the regular + + representation of the deserialized, embedded message, with + an + + additional field `@type` which contains the type URL. + Example: + + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } + + If the embedded message type is well-known and has a custom + JSON + + representation, that representation will be embedded adding + a field + + `value` which holds the custom JSON in addition to the + `@type` + + field. Example (for message [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + parameters: + - name: proposal_id + description: proposal_id defines the unique id of the proposal. + in: path + required: true + type: string + format: uint64 + tags: + - Query + /cosmos/gov/v1/proposals/{proposal_id}/deposits: + get: + summary: Deposits queries all deposits of a single proposal. + operationId: CosmosGovV1Deposits + responses: + '200': + description: A successful response. + schema: + type: object + properties: + deposits: + type: array + items: + type: object + properties: + proposal_id: + type: string + format: uint64 + depositor: + type: string + amount: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an + amount. + + + NOTE: The amount field is an Int which implements the + custom method + + signatures required by gogoproto. + description: >- + Deposit defines an amount deposited by an account address to + an active + + proposal. + pagination: + description: pagination defines the pagination in the response. + type: object + properties: + next_key: + type: string + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + total: + type: string + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total + + was set, its value is undefined otherwise + description: >- + QueryDepositsResponse is the response type for the Query/Deposits + RPC method. + default: + description: An unexpected error response. + schema: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + '@type': + type: string + description: >- + A URL/resource name that uniquely identifies the type of + the serialized + + protocol buffer message. This string must contain at + least + + one "/" character. The last segment of the URL's path + must represent + + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name should be in + a canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the binary + all types that they + + expect it to use in the context of Any. However, for + URLs which use the + + scheme `http`, `https`, or no scheme, one can optionally + set up a type + + server that maps type URLs to message definitions as + follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based + on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available in + the official + + protobuf release, and it is not used for type URLs + beginning with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty scheme) + might be + + used with implementation specific semantics. + additionalProperties: {} + description: >- + `Any` contains an arbitrary serialized protocol buffer + message along with a + + URL that describes the type of the serialized message. + + + Protobuf library provides support to pack/unpack Any values + in the form + + of utility functions or additional generated methods of the + Any type. + + + Example 1: Pack and unpack a message in C++. + + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } + + Example 2: Pack and unpack a message in Java. + + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + + Example 3: Pack and unpack a message in Python. + + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + + Example 4: Pack and unpack a message in Go + + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } + + The pack methods provided by protobuf library will by + default use + + 'type.googleapis.com/full.type.name' as the type URL and the + unpack + + methods only use the fully qualified type name after the + last '/' + + in the type URL, for example "foo.bar.com/x/y.z" will yield + type + + name "y.z". + + + + JSON + + ==== + + The JSON representation of an `Any` value uses the regular + + representation of the deserialized, embedded message, with + an + + additional field `@type` which contains the type URL. + Example: + + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } + + If the embedded message type is well-known and has a custom + JSON + + representation, that representation will be embedded adding + a field + + `value` which holds the custom JSON in addition to the + `@type` + + field. Example (for message [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + parameters: + - name: proposal_id + description: proposal_id defines the unique id of the proposal. + in: path + required: true + type: string + format: uint64 + - name: pagination.key + description: |- + key is a value returned in PageResponse.next_key to begin + querying the next page most efficiently. Only one of offset or key + should be set. + in: query + required: false + type: string + format: byte + - name: pagination.offset + description: >- + offset is a numeric offset that can be used when key is unavailable. + + It is less efficient than using key. Only one of offset or key + should + + be set. + in: query + required: false + type: string + format: uint64 + - name: pagination.limit + description: >- + limit is the total number of results to be returned in the result + page. + + If left empty it will default to a value to be set by each app. + in: query + required: false + type: string + format: uint64 + - name: pagination.count_total + description: >- + count_total is set to true to indicate that the result set should + include + + a count of the total number of items available for pagination in + UIs. + + count_total is only respected when offset is used. It is ignored + when key + + is set. + in: query + required: false + type: boolean + - name: pagination.reverse + description: >- + reverse is set to true if results are to be returned in the + descending order. + + + Since: cosmos-sdk 0.43 + in: query + required: false + type: boolean + tags: + - Query + /cosmos/gov/v1/proposals/{proposal_id}/deposits/{depositor}: + get: + summary: >- + Deposit queries single deposit information based proposalID, + depositAddr. + operationId: CosmosGovV1Deposit + responses: + '200': + description: A successful response. + schema: + type: object + properties: + deposit: + description: deposit defines the requested deposit. + type: object + properties: + proposal_id: + type: string + format: uint64 + depositor: + type: string + amount: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. + + + NOTE: The amount field is an Int which implements the + custom method + + signatures required by gogoproto. + description: >- + QueryDepositResponse is the response type for the Query/Deposit + RPC method. + default: + description: An unexpected error response. + schema: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + '@type': + type: string + description: >- + A URL/resource name that uniquely identifies the type of + the serialized + + protocol buffer message. This string must contain at + least + + one "/" character. The last segment of the URL's path + must represent + + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name should be in + a canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the binary + all types that they + + expect it to use in the context of Any. However, for + URLs which use the + + scheme `http`, `https`, or no scheme, one can optionally + set up a type + + server that maps type URLs to message definitions as + follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based + on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available in + the official + + protobuf release, and it is not used for type URLs + beginning with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty scheme) + might be + + used with implementation specific semantics. + additionalProperties: {} + description: >- + `Any` contains an arbitrary serialized protocol buffer + message along with a + + URL that describes the type of the serialized message. + + + Protobuf library provides support to pack/unpack Any values + in the form + + of utility functions or additional generated methods of the + Any type. + + + Example 1: Pack and unpack a message in C++. + + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } + + Example 2: Pack and unpack a message in Java. + + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + + Example 3: Pack and unpack a message in Python. + + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + + Example 4: Pack and unpack a message in Go + + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } + + The pack methods provided by protobuf library will by + default use + + 'type.googleapis.com/full.type.name' as the type URL and the + unpack + + methods only use the fully qualified type name after the + last '/' + + in the type URL, for example "foo.bar.com/x/y.z" will yield + type + + name "y.z". + + + + JSON + + ==== + + The JSON representation of an `Any` value uses the regular + + representation of the deserialized, embedded message, with + an + + additional field `@type` which contains the type URL. + Example: + + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } + + If the embedded message type is well-known and has a custom + JSON + + representation, that representation will be embedded adding + a field + + `value` which holds the custom JSON in addition to the + `@type` + + field. Example (for message [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + parameters: + - name: proposal_id + description: proposal_id defines the unique id of the proposal. + in: path + required: true + type: string + format: uint64 + - name: depositor + description: depositor defines the deposit addresses from the proposals. + in: path + required: true + type: string + tags: + - Query + /cosmos/gov/v1/proposals/{proposal_id}/tally: + get: + summary: TallyResult queries the tally of a proposal vote. + operationId: CosmosGovV1TallyResult + responses: + '200': + description: A successful response. + schema: + type: object + properties: + tally: + description: tally defines the requested tally. + type: object + properties: + yes_count: + type: string + abstain_count: + type: string + no_count: + type: string + no_with_veto_count: + type: string + description: >- + QueryTallyResultResponse is the response type for the Query/Tally + RPC method. + default: + description: An unexpected error response. + schema: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + '@type': + type: string + description: >- + A URL/resource name that uniquely identifies the type of + the serialized + + protocol buffer message. This string must contain at + least + + one "/" character. The last segment of the URL's path + must represent + + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name should be in + a canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the binary + all types that they + + expect it to use in the context of Any. However, for + URLs which use the + + scheme `http`, `https`, or no scheme, one can optionally + set up a type + + server that maps type URLs to message definitions as + follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based + on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available in + the official + + protobuf release, and it is not used for type URLs + beginning with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty scheme) + might be + + used with implementation specific semantics. + additionalProperties: {} + description: >- + `Any` contains an arbitrary serialized protocol buffer + message along with a + + URL that describes the type of the serialized message. + + + Protobuf library provides support to pack/unpack Any values + in the form + + of utility functions or additional generated methods of the + Any type. + + + Example 1: Pack and unpack a message in C++. + + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } + + Example 2: Pack and unpack a message in Java. + + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + + Example 3: Pack and unpack a message in Python. + + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + + Example 4: Pack and unpack a message in Go + + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } + + The pack methods provided by protobuf library will by + default use + + 'type.googleapis.com/full.type.name' as the type URL and the + unpack + + methods only use the fully qualified type name after the + last '/' + + in the type URL, for example "foo.bar.com/x/y.z" will yield + type + + name "y.z". + + + + JSON + + ==== + + The JSON representation of an `Any` value uses the regular + + representation of the deserialized, embedded message, with + an + + additional field `@type` which contains the type URL. + Example: + + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } + + If the embedded message type is well-known and has a custom + JSON + + representation, that representation will be embedded adding + a field + + `value` which holds the custom JSON in addition to the + `@type` + + field. Example (for message [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + parameters: + - name: proposal_id + description: proposal_id defines the unique id of the proposal. + in: path + required: true + type: string + format: uint64 + tags: + - Query + /cosmos/gov/v1/proposals/{proposal_id}/votes: + get: + summary: Votes queries votes of a given proposal. + operationId: CosmosGovV1Votes + responses: + '200': + description: A successful response. + schema: + type: object + properties: + votes: + type: array + items: + type: object + properties: + proposal_id: + type: string + format: uint64 + voter: + type: string + options: + type: array + items: + type: object + properties: + option: + type: string + enum: + - VOTE_OPTION_UNSPECIFIED + - VOTE_OPTION_YES + - VOTE_OPTION_ABSTAIN + - VOTE_OPTION_NO + - VOTE_OPTION_NO_WITH_VETO + default: VOTE_OPTION_UNSPECIFIED + description: >- + VoteOption enumerates the valid vote options for a + given governance proposal. + + - VOTE_OPTION_UNSPECIFIED: VOTE_OPTION_UNSPECIFIED defines a no-op vote option. + - VOTE_OPTION_YES: VOTE_OPTION_YES defines a yes vote option. + - VOTE_OPTION_ABSTAIN: VOTE_OPTION_ABSTAIN defines an abstain vote option. + - VOTE_OPTION_NO: VOTE_OPTION_NO defines a no vote option. + - VOTE_OPTION_NO_WITH_VETO: VOTE_OPTION_NO_WITH_VETO defines a no with veto vote option. + weight: + type: string + description: >- + WeightedVoteOption defines a unit of vote for vote + split. + metadata: + type: string + description: >- + metadata is any arbitrary metadata to attached to the + vote. + description: >- + Vote defines a vote on a governance proposal. + + A Vote consists of a proposal ID, the voter, and the vote + option. + description: votes defined the queried votes. + pagination: + description: pagination defines the pagination in the response. + type: object + properties: + next_key: + type: string + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + total: + type: string + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total + + was set, its value is undefined otherwise + description: >- + QueryVotesResponse is the response type for the Query/Votes RPC + method. + default: + description: An unexpected error response. + schema: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + '@type': + type: string + description: >- + A URL/resource name that uniquely identifies the type of + the serialized + + protocol buffer message. This string must contain at + least + + one "/" character. The last segment of the URL's path + must represent + + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name should be in + a canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the binary + all types that they + + expect it to use in the context of Any. However, for + URLs which use the + + scheme `http`, `https`, or no scheme, one can optionally + set up a type + + server that maps type URLs to message definitions as + follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based + on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available in + the official + + protobuf release, and it is not used for type URLs + beginning with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty scheme) + might be + + used with implementation specific semantics. + additionalProperties: {} + description: >- + `Any` contains an arbitrary serialized protocol buffer + message along with a + + URL that describes the type of the serialized message. + + + Protobuf library provides support to pack/unpack Any values + in the form + + of utility functions or additional generated methods of the + Any type. + + + Example 1: Pack and unpack a message in C++. + + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } + + Example 2: Pack and unpack a message in Java. + + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + + Example 3: Pack and unpack a message in Python. + + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + + Example 4: Pack and unpack a message in Go + + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } + + The pack methods provided by protobuf library will by + default use + + 'type.googleapis.com/full.type.name' as the type URL and the + unpack + + methods only use the fully qualified type name after the + last '/' + + in the type URL, for example "foo.bar.com/x/y.z" will yield + type + + name "y.z". + + + + JSON + + ==== + + The JSON representation of an `Any` value uses the regular + + representation of the deserialized, embedded message, with + an + + additional field `@type` which contains the type URL. + Example: + + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } + + If the embedded message type is well-known and has a custom + JSON + + representation, that representation will be embedded adding + a field + + `value` which holds the custom JSON in addition to the + `@type` + + field. Example (for message [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + parameters: + - name: proposal_id + description: proposal_id defines the unique id of the proposal. + in: path + required: true + type: string + format: uint64 + - name: pagination.key + description: |- + key is a value returned in PageResponse.next_key to begin + querying the next page most efficiently. Only one of offset or key + should be set. + in: query + required: false + type: string + format: byte + - name: pagination.offset + description: >- + offset is a numeric offset that can be used when key is unavailable. + + It is less efficient than using key. Only one of offset or key + should + + be set. + in: query + required: false + type: string + format: uint64 + - name: pagination.limit + description: >- + limit is the total number of results to be returned in the result + page. + + If left empty it will default to a value to be set by each app. + in: query + required: false + type: string + format: uint64 + - name: pagination.count_total + description: >- + count_total is set to true to indicate that the result set should + include + + a count of the total number of items available for pagination in + UIs. + + count_total is only respected when offset is used. It is ignored + when key + + is set. + in: query + required: false + type: boolean + - name: pagination.reverse + description: >- + reverse is set to true if results are to be returned in the + descending order. + + + Since: cosmos-sdk 0.43 + in: query + required: false + type: boolean + tags: + - Query + /cosmos/gov/v1/proposals/{proposal_id}/votes/{voter}: + get: + summary: Vote queries voted information based on proposalID, voterAddr. + operationId: CosmosGovV1Vote + responses: + '200': + description: A successful response. + schema: + type: object + properties: + vote: + description: vote defined the queried vote. + type: object + properties: + proposal_id: + type: string + format: uint64 + voter: + type: string + options: + type: array + items: + type: object + properties: + option: + type: string + enum: + - VOTE_OPTION_UNSPECIFIED + - VOTE_OPTION_YES + - VOTE_OPTION_ABSTAIN + - VOTE_OPTION_NO + - VOTE_OPTION_NO_WITH_VETO + default: VOTE_OPTION_UNSPECIFIED + description: >- + VoteOption enumerates the valid vote options for a + given governance proposal. + + - VOTE_OPTION_UNSPECIFIED: VOTE_OPTION_UNSPECIFIED defines a no-op vote option. + - VOTE_OPTION_YES: VOTE_OPTION_YES defines a yes vote option. + - VOTE_OPTION_ABSTAIN: VOTE_OPTION_ABSTAIN defines an abstain vote option. + - VOTE_OPTION_NO: VOTE_OPTION_NO defines a no vote option. + - VOTE_OPTION_NO_WITH_VETO: VOTE_OPTION_NO_WITH_VETO defines a no with veto vote option. + weight: + type: string + description: >- + WeightedVoteOption defines a unit of vote for vote + split. + metadata: + type: string + description: >- + metadata is any arbitrary metadata to attached to the + vote. + description: >- + QueryVoteResponse is the response type for the Query/Vote RPC + method. + default: + description: An unexpected error response. + schema: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + '@type': + type: string + description: >- + A URL/resource name that uniquely identifies the type of + the serialized + + protocol buffer message. This string must contain at + least + + one "/" character. The last segment of the URL's path + must represent + + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name should be in + a canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the binary + all types that they + + expect it to use in the context of Any. However, for + URLs which use the + + scheme `http`, `https`, or no scheme, one can optionally + set up a type + + server that maps type URLs to message definitions as + follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based + on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available in + the official + + protobuf release, and it is not used for type URLs + beginning with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty scheme) + might be + + used with implementation specific semantics. + additionalProperties: {} + description: >- + `Any` contains an arbitrary serialized protocol buffer + message along with a + + URL that describes the type of the serialized message. + + + Protobuf library provides support to pack/unpack Any values + in the form + + of utility functions or additional generated methods of the + Any type. + + + Example 1: Pack and unpack a message in C++. + + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } + + Example 2: Pack and unpack a message in Java. + + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + + Example 3: Pack and unpack a message in Python. + + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + + Example 4: Pack and unpack a message in Go + + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } + + The pack methods provided by protobuf library will by + default use + + 'type.googleapis.com/full.type.name' as the type URL and the + unpack + + methods only use the fully qualified type name after the + last '/' + + in the type URL, for example "foo.bar.com/x/y.z" will yield + type + + name "y.z". + + + + JSON + + ==== + + The JSON representation of an `Any` value uses the regular + + representation of the deserialized, embedded message, with + an + + additional field `@type` which contains the type URL. + Example: + + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } + + If the embedded message type is well-known and has a custom + JSON + + representation, that representation will be embedded adding + a field + + `value` which holds the custom JSON in addition to the + `@type` + + field. Example (for message [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + parameters: + - name: proposal_id + description: proposal_id defines the unique id of the proposal. + in: path + required: true + type: string + format: uint64 + - name: voter + description: voter defines the voter address for the proposals. + in: path + required: true + type: string + tags: + - Query + /cosmos/gov/v1beta1/params/{params_type}: + get: + summary: Params queries all parameters of the gov module. + operationId: CosmosGovV1Beta1Params + responses: + '200': + description: A successful response. + schema: + type: object + properties: + voting_params: + description: voting_params defines the parameters related to voting. + type: object + properties: + voting_period: + type: string + description: Length of the voting period. + deposit_params: + description: deposit_params defines the parameters related to deposit. + type: object + properties: + min_deposit: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. + + + NOTE: The amount field is an Int which implements the + custom method + + signatures required by gogoproto. + description: Minimum deposit for a proposal to enter voting period. + max_deposit_period: + type: string + description: >- + Maximum period for Atom holders to deposit on a proposal. + Initial value: 2 + months. + tally_params: + description: tally_params defines the parameters related to tally. + type: object + properties: + quorum: + type: string + format: byte + description: >- + Minimum percentage of total stake needed to vote for a + result to be + considered valid. + threshold: + type: string + format: byte + description: >- + Minimum proportion of Yes votes for proposal to pass. + Default value: 0.5. + veto_threshold: + type: string + format: byte + description: >- + Minimum value of Veto votes to Total votes ratio for + proposal to be + vetoed. Default value: 1/3. + description: >- + QueryParamsResponse is the response type for the Query/Params RPC + method. + default: + description: An unexpected error response. + schema: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + '@type': + type: string + description: >- + A URL/resource name that uniquely identifies the type of + the serialized + + protocol buffer message. This string must contain at + least + + one "/" character. The last segment of the URL's path + must represent + + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name should be in + a canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the binary + all types that they + + expect it to use in the context of Any. However, for + URLs which use the + + scheme `http`, `https`, or no scheme, one can optionally + set up a type + + server that maps type URLs to message definitions as + follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based + on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available in + the official + + protobuf release, and it is not used for type URLs + beginning with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty scheme) + might be + + used with implementation specific semantics. + additionalProperties: {} + description: >- + `Any` contains an arbitrary serialized protocol buffer + message along with a + + URL that describes the type of the serialized message. + + + Protobuf library provides support to pack/unpack Any values + in the form + + of utility functions or additional generated methods of the + Any type. + + + Example 1: Pack and unpack a message in C++. + + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } + + Example 2: Pack and unpack a message in Java. + + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + + Example 3: Pack and unpack a message in Python. + + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + + Example 4: Pack and unpack a message in Go + + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } + + The pack methods provided by protobuf library will by + default use + + 'type.googleapis.com/full.type.name' as the type URL and the + unpack + + methods only use the fully qualified type name after the + last '/' + + in the type URL, for example "foo.bar.com/x/y.z" will yield + type + + name "y.z". + + + + JSON + + ==== + + The JSON representation of an `Any` value uses the regular + + representation of the deserialized, embedded message, with + an + + additional field `@type` which contains the type URL. + Example: + + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } + + If the embedded message type is well-known and has a custom + JSON + + representation, that representation will be embedded adding + a field + + `value` which holds the custom JSON in addition to the + `@type` + + field. Example (for message [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + parameters: + - name: params_type + description: >- + params_type defines which parameters to query for, can be one of + "voting", + + "tallying" or "deposit". + in: path + required: true + type: string + tags: + - Query + /cosmos/gov/v1beta1/proposals: + get: + summary: Proposals queries all proposals based on given status. + operationId: CosmosGovV1Beta1Proposals + responses: + '200': + description: A successful response. + schema: + type: object + properties: + proposals: + type: array + items: + type: object + properties: + proposal_id: + type: string + format: uint64 + content: + type: object + properties: + '@type': + type: string + description: >- + A URL/resource name that uniquely identifies the + type of the serialized + + protocol buffer message. This string must contain at + least + + one "/" character. The last segment of the URL's + path must represent + + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name should be + in a canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the + binary all types that they + + expect it to use in the context of Any. However, for + URLs which use the + + scheme `http`, `https`, or no scheme, one can + optionally set up a type + + server that maps type URLs to message definitions as + follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results + based on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available + in the official + + protobuf release, and it is not used for type URLs + beginning with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty + scheme) might be + + used with implementation specific semantics. + additionalProperties: {} + description: >- + `Any` contains an arbitrary serialized protocol buffer + message along with a + + URL that describes the type of the serialized message. + + + Protobuf library provides support to pack/unpack Any + values in the form + + of utility functions or additional generated methods of + the Any type. + + + Example 1: Pack and unpack a message in C++. + + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } + + Example 2: Pack and unpack a message in Java. + + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + + Example 3: Pack and unpack a message in Python. + + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + + Example 4: Pack and unpack a message in Go + + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } + + The pack methods provided by protobuf library will by + default use + + 'type.googleapis.com/full.type.name' as the type URL and + the unpack + + methods only use the fully qualified type name after the + last '/' + + in the type URL, for example "foo.bar.com/x/y.z" will + yield type + + name "y.z". + + + + JSON + + ==== + + The JSON representation of an `Any` value uses the + regular + + representation of the deserialized, embedded message, + with an + + additional field `@type` which contains the type URL. + Example: + + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } + + If the embedded message type is well-known and has a + custom JSON + + representation, that representation will be embedded + adding a field + + `value` which holds the custom JSON in addition to the + `@type` + + field. Example (for message + [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + status: + type: string + enum: + - PROPOSAL_STATUS_UNSPECIFIED + - PROPOSAL_STATUS_DEPOSIT_PERIOD + - PROPOSAL_STATUS_VOTING_PERIOD + - PROPOSAL_STATUS_PASSED + - PROPOSAL_STATUS_REJECTED + - PROPOSAL_STATUS_FAILED + default: PROPOSAL_STATUS_UNSPECIFIED + description: >- + ProposalStatus enumerates the valid statuses of a + proposal. + + - PROPOSAL_STATUS_UNSPECIFIED: PROPOSAL_STATUS_UNSPECIFIED defines the default proposal status. + - PROPOSAL_STATUS_DEPOSIT_PERIOD: PROPOSAL_STATUS_DEPOSIT_PERIOD defines a proposal status during the deposit + period. + - PROPOSAL_STATUS_VOTING_PERIOD: PROPOSAL_STATUS_VOTING_PERIOD defines a proposal status during the voting + period. + - PROPOSAL_STATUS_PASSED: PROPOSAL_STATUS_PASSED defines a proposal status of a proposal that has + passed. + - PROPOSAL_STATUS_REJECTED: PROPOSAL_STATUS_REJECTED defines a proposal status of a proposal that has + been rejected. + - PROPOSAL_STATUS_FAILED: PROPOSAL_STATUS_FAILED defines a proposal status of a proposal that has + failed. + final_tally_result: + description: >- + final_tally_result is the final tally result of the + proposal. When + + querying a proposal via gRPC, this field is not + populated until the + + proposal's voting period has ended. + type: object + properties: + 'yes': + type: string + abstain: + type: string + 'no': + type: string + no_with_veto: + type: string + submit_time: + type: string + format: date-time + deposit_end_time: + type: string + format: date-time + total_deposit: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an + amount. + + + NOTE: The amount field is an Int which implements the + custom method + + signatures required by gogoproto. + voting_start_time: + type: string + format: date-time + voting_end_time: + type: string + format: date-time + description: >- + Proposal defines the core field members of a governance + proposal. + pagination: + description: pagination defines the pagination in the response. + type: object + properties: + next_key: + type: string + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + total: + type: string + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total + + was set, its value is undefined otherwise + description: >- + QueryProposalsResponse is the response type for the + Query/Proposals RPC + + method. + default: + description: An unexpected error response. + schema: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + '@type': + type: string + description: >- + A URL/resource name that uniquely identifies the type of + the serialized + + protocol buffer message. This string must contain at + least + + one "/" character. The last segment of the URL's path + must represent + + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name should be in + a canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the binary + all types that they + + expect it to use in the context of Any. However, for + URLs which use the + + scheme `http`, `https`, or no scheme, one can optionally + set up a type + + server that maps type URLs to message definitions as + follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based + on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available in + the official + + protobuf release, and it is not used for type URLs + beginning with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty scheme) + might be + + used with implementation specific semantics. + additionalProperties: {} + description: >- + `Any` contains an arbitrary serialized protocol buffer + message along with a + + URL that describes the type of the serialized message. + + + Protobuf library provides support to pack/unpack Any values + in the form + + of utility functions or additional generated methods of the + Any type. + + + Example 1: Pack and unpack a message in C++. + + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } + + Example 2: Pack and unpack a message in Java. + + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + + Example 3: Pack and unpack a message in Python. + + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + + Example 4: Pack and unpack a message in Go + + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } + + The pack methods provided by protobuf library will by + default use + + 'type.googleapis.com/full.type.name' as the type URL and the + unpack + + methods only use the fully qualified type name after the + last '/' + + in the type URL, for example "foo.bar.com/x/y.z" will yield + type + + name "y.z". + + + + JSON + + ==== + + The JSON representation of an `Any` value uses the regular + + representation of the deserialized, embedded message, with + an + + additional field `@type` which contains the type URL. + Example: + + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } + + If the embedded message type is well-known and has a custom + JSON + + representation, that representation will be embedded adding + a field + + `value` which holds the custom JSON in addition to the + `@type` + + field. Example (for message [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + parameters: + - name: proposal_status + description: |- + proposal_status defines the status of the proposals. + + - PROPOSAL_STATUS_UNSPECIFIED: PROPOSAL_STATUS_UNSPECIFIED defines the default proposal status. + - PROPOSAL_STATUS_DEPOSIT_PERIOD: PROPOSAL_STATUS_DEPOSIT_PERIOD defines a proposal status during the deposit + period. + - PROPOSAL_STATUS_VOTING_PERIOD: PROPOSAL_STATUS_VOTING_PERIOD defines a proposal status during the voting + period. + - PROPOSAL_STATUS_PASSED: PROPOSAL_STATUS_PASSED defines a proposal status of a proposal that has + passed. + - PROPOSAL_STATUS_REJECTED: PROPOSAL_STATUS_REJECTED defines a proposal status of a proposal that has + been rejected. + - PROPOSAL_STATUS_FAILED: PROPOSAL_STATUS_FAILED defines a proposal status of a proposal that has + failed. + in: query + required: false + type: string + enum: + - PROPOSAL_STATUS_UNSPECIFIED + - PROPOSAL_STATUS_DEPOSIT_PERIOD + - PROPOSAL_STATUS_VOTING_PERIOD + - PROPOSAL_STATUS_PASSED + - PROPOSAL_STATUS_REJECTED + - PROPOSAL_STATUS_FAILED + default: PROPOSAL_STATUS_UNSPECIFIED + - name: voter + description: voter defines the voter address for the proposals. + in: query + required: false + type: string + - name: depositor + description: depositor defines the deposit addresses from the proposals. + in: query + required: false + type: string + - name: pagination.key + description: |- + key is a value returned in PageResponse.next_key to begin + querying the next page most efficiently. Only one of offset or key + should be set. + in: query + required: false + type: string + format: byte + - name: pagination.offset + description: >- + offset is a numeric offset that can be used when key is unavailable. + + It is less efficient than using key. Only one of offset or key + should + + be set. + in: query + required: false + type: string + format: uint64 + - name: pagination.limit + description: >- + limit is the total number of results to be returned in the result + page. + + If left empty it will default to a value to be set by each app. + in: query + required: false + type: string + format: uint64 + - name: pagination.count_total + description: >- + count_total is set to true to indicate that the result set should + include + + a count of the total number of items available for pagination in + UIs. + + count_total is only respected when offset is used. It is ignored + when key + + is set. + in: query + required: false + type: boolean + - name: pagination.reverse + description: >- + reverse is set to true if results are to be returned in the + descending order. + + + Since: cosmos-sdk 0.43 + in: query + required: false + type: boolean + tags: + - Query + /cosmos/gov/v1beta1/proposals/{proposal_id}: + get: + summary: Proposal queries proposal details based on ProposalID. + operationId: CosmosGovV1Beta1Proposal + responses: + '200': + description: A successful response. + schema: + type: object + properties: + proposal: + type: object + properties: + proposal_id: + type: string + format: uint64 + content: + type: object + properties: + '@type': + type: string + description: >- + A URL/resource name that uniquely identifies the type + of the serialized + + protocol buffer message. This string must contain at + least + + one "/" character. The last segment of the URL's path + must represent + + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name should be + in a canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the binary + all types that they + + expect it to use in the context of Any. However, for + URLs which use the + + scheme `http`, `https`, or no scheme, one can + optionally set up a type + + server that maps type URLs to message definitions as + follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results + based on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available in + the official + + protobuf release, and it is not used for type URLs + beginning with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty + scheme) might be + + used with implementation specific semantics. + additionalProperties: {} + description: >- + `Any` contains an arbitrary serialized protocol buffer + message along with a + + URL that describes the type of the serialized message. + + + Protobuf library provides support to pack/unpack Any + values in the form + + of utility functions or additional generated methods of + the Any type. + + + Example 1: Pack and unpack a message in C++. + + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } + + Example 2: Pack and unpack a message in Java. + + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + + Example 3: Pack and unpack a message in Python. + + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + + Example 4: Pack and unpack a message in Go + + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } + + The pack methods provided by protobuf library will by + default use + + 'type.googleapis.com/full.type.name' as the type URL and + the unpack + + methods only use the fully qualified type name after the + last '/' + + in the type URL, for example "foo.bar.com/x/y.z" will + yield type + + name "y.z". + + + + JSON + + ==== + + The JSON representation of an `Any` value uses the regular + + representation of the deserialized, embedded message, with + an + + additional field `@type` which contains the type URL. + Example: + + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } + + If the embedded message type is well-known and has a + custom JSON + + representation, that representation will be embedded + adding a field + + `value` which holds the custom JSON in addition to the + `@type` + + field. Example (for message [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + status: + type: string + enum: + - PROPOSAL_STATUS_UNSPECIFIED + - PROPOSAL_STATUS_DEPOSIT_PERIOD + - PROPOSAL_STATUS_VOTING_PERIOD + - PROPOSAL_STATUS_PASSED + - PROPOSAL_STATUS_REJECTED + - PROPOSAL_STATUS_FAILED + default: PROPOSAL_STATUS_UNSPECIFIED + description: >- + ProposalStatus enumerates the valid statuses of a + proposal. + + - PROPOSAL_STATUS_UNSPECIFIED: PROPOSAL_STATUS_UNSPECIFIED defines the default proposal status. + - PROPOSAL_STATUS_DEPOSIT_PERIOD: PROPOSAL_STATUS_DEPOSIT_PERIOD defines a proposal status during the deposit + period. + - PROPOSAL_STATUS_VOTING_PERIOD: PROPOSAL_STATUS_VOTING_PERIOD defines a proposal status during the voting + period. + - PROPOSAL_STATUS_PASSED: PROPOSAL_STATUS_PASSED defines a proposal status of a proposal that has + passed. + - PROPOSAL_STATUS_REJECTED: PROPOSAL_STATUS_REJECTED defines a proposal status of a proposal that has + been rejected. + - PROPOSAL_STATUS_FAILED: PROPOSAL_STATUS_FAILED defines a proposal status of a proposal that has + failed. + final_tally_result: + description: >- + final_tally_result is the final tally result of the + proposal. When + + querying a proposal via gRPC, this field is not populated + until the + + proposal's voting period has ended. + type: object + properties: + 'yes': + type: string + abstain: + type: string + 'no': + type: string + no_with_veto: + type: string + submit_time: + type: string + format: date-time + deposit_end_time: + type: string + format: date-time + total_deposit: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. + + + NOTE: The amount field is an Int which implements the + custom method + + signatures required by gogoproto. + voting_start_time: + type: string + format: date-time + voting_end_time: + type: string + format: date-time + description: >- + Proposal defines the core field members of a governance + proposal. + description: >- + QueryProposalResponse is the response type for the Query/Proposal + RPC method. + default: + description: An unexpected error response. + schema: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + '@type': + type: string + description: >- + A URL/resource name that uniquely identifies the type of + the serialized + + protocol buffer message. This string must contain at + least + + one "/" character. The last segment of the URL's path + must represent + + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name should be in + a canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the binary + all types that they + + expect it to use in the context of Any. However, for + URLs which use the + + scheme `http`, `https`, or no scheme, one can optionally + set up a type + + server that maps type URLs to message definitions as + follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based + on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available in + the official + + protobuf release, and it is not used for type URLs + beginning with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty scheme) + might be + + used with implementation specific semantics. + additionalProperties: {} + description: >- + `Any` contains an arbitrary serialized protocol buffer + message along with a + + URL that describes the type of the serialized message. + + + Protobuf library provides support to pack/unpack Any values + in the form + + of utility functions or additional generated methods of the + Any type. + + + Example 1: Pack and unpack a message in C++. + + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } + + Example 2: Pack and unpack a message in Java. + + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + + Example 3: Pack and unpack a message in Python. + + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + + Example 4: Pack and unpack a message in Go + + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } + + The pack methods provided by protobuf library will by + default use + + 'type.googleapis.com/full.type.name' as the type URL and the + unpack + + methods only use the fully qualified type name after the + last '/' + + in the type URL, for example "foo.bar.com/x/y.z" will yield + type + + name "y.z". + + + + JSON + + ==== + + The JSON representation of an `Any` value uses the regular + + representation of the deserialized, embedded message, with + an + + additional field `@type` which contains the type URL. + Example: + + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } + + If the embedded message type is well-known and has a custom + JSON + + representation, that representation will be embedded adding + a field + + `value` which holds the custom JSON in addition to the + `@type` + + field. Example (for message [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + parameters: + - name: proposal_id + description: proposal_id defines the unique id of the proposal. + in: path + required: true + type: string + format: uint64 + tags: + - Query + /cosmos/gov/v1beta1/proposals/{proposal_id}/deposits: + get: + summary: Deposits queries all deposits of a single proposal. + operationId: CosmosGovV1Beta1Deposits + responses: + '200': + description: A successful response. + schema: + type: object + properties: + deposits: + type: array + items: + type: object + properties: + proposal_id: + type: string + format: uint64 + depositor: + type: string + amount: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an + amount. + + + NOTE: The amount field is an Int which implements the + custom method + + signatures required by gogoproto. + description: >- + Deposit defines an amount deposited by an account address to + an active + + proposal. + pagination: + description: pagination defines the pagination in the response. + type: object + properties: + next_key: + type: string + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + total: + type: string + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total + + was set, its value is undefined otherwise + description: >- + QueryDepositsResponse is the response type for the Query/Deposits + RPC method. + default: + description: An unexpected error response. + schema: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + '@type': + type: string + description: >- + A URL/resource name that uniquely identifies the type of + the serialized + + protocol buffer message. This string must contain at + least + + one "/" character. The last segment of the URL's path + must represent + + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name should be in + a canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the binary + all types that they + + expect it to use in the context of Any. However, for + URLs which use the + + scheme `http`, `https`, or no scheme, one can optionally + set up a type + + server that maps type URLs to message definitions as + follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based + on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available in + the official + + protobuf release, and it is not used for type URLs + beginning with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty scheme) + might be + + used with implementation specific semantics. + additionalProperties: {} + description: >- + `Any` contains an arbitrary serialized protocol buffer + message along with a + + URL that describes the type of the serialized message. + + + Protobuf library provides support to pack/unpack Any values + in the form + + of utility functions or additional generated methods of the + Any type. + + + Example 1: Pack and unpack a message in C++. + + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } + + Example 2: Pack and unpack a message in Java. + + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + + Example 3: Pack and unpack a message in Python. + + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + + Example 4: Pack and unpack a message in Go + + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } + + The pack methods provided by protobuf library will by + default use + + 'type.googleapis.com/full.type.name' as the type URL and the + unpack + + methods only use the fully qualified type name after the + last '/' + + in the type URL, for example "foo.bar.com/x/y.z" will yield + type + + name "y.z". + + + + JSON + + ==== + + The JSON representation of an `Any` value uses the regular + + representation of the deserialized, embedded message, with + an + + additional field `@type` which contains the type URL. + Example: + + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } + + If the embedded message type is well-known and has a custom + JSON + + representation, that representation will be embedded adding + a field + + `value` which holds the custom JSON in addition to the + `@type` + + field. Example (for message [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + parameters: + - name: proposal_id + description: proposal_id defines the unique id of the proposal. + in: path + required: true + type: string + format: uint64 + - name: pagination.key + description: |- + key is a value returned in PageResponse.next_key to begin + querying the next page most efficiently. Only one of offset or key + should be set. + in: query + required: false + type: string + format: byte + - name: pagination.offset + description: >- + offset is a numeric offset that can be used when key is unavailable. + + It is less efficient than using key. Only one of offset or key + should + + be set. + in: query + required: false + type: string + format: uint64 + - name: pagination.limit + description: >- + limit is the total number of results to be returned in the result + page. + + If left empty it will default to a value to be set by each app. + in: query + required: false + type: string + format: uint64 + - name: pagination.count_total + description: >- + count_total is set to true to indicate that the result set should + include + + a count of the total number of items available for pagination in + UIs. + + count_total is only respected when offset is used. It is ignored + when key + + is set. + in: query + required: false + type: boolean + - name: pagination.reverse + description: >- + reverse is set to true if results are to be returned in the + descending order. + + + Since: cosmos-sdk 0.43 + in: query + required: false + type: boolean + tags: + - Query + /cosmos/gov/v1beta1/proposals/{proposal_id}/deposits/{depositor}: + get: + summary: >- + Deposit queries single deposit information based proposalID, + depositAddr. + operationId: CosmosGovV1Beta1Deposit + responses: + '200': + description: A successful response. + schema: + type: object + properties: + deposit: + description: deposit defines the requested deposit. + type: object + properties: + proposal_id: + type: string + format: uint64 + depositor: + type: string + amount: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. + + + NOTE: The amount field is an Int which implements the + custom method + + signatures required by gogoproto. + description: >- + QueryDepositResponse is the response type for the Query/Deposit + RPC method. + default: + description: An unexpected error response. + schema: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + '@type': + type: string + description: >- + A URL/resource name that uniquely identifies the type of + the serialized + + protocol buffer message. This string must contain at + least + + one "/" character. The last segment of the URL's path + must represent + + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name should be in + a canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the binary + all types that they + + expect it to use in the context of Any. However, for + URLs which use the + + scheme `http`, `https`, or no scheme, one can optionally + set up a type + + server that maps type URLs to message definitions as + follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based + on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available in + the official + + protobuf release, and it is not used for type URLs + beginning with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty scheme) + might be + + used with implementation specific semantics. + additionalProperties: {} + description: >- + `Any` contains an arbitrary serialized protocol buffer + message along with a + + URL that describes the type of the serialized message. + + + Protobuf library provides support to pack/unpack Any values + in the form + + of utility functions or additional generated methods of the + Any type. + + + Example 1: Pack and unpack a message in C++. + + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } + + Example 2: Pack and unpack a message in Java. + + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + + Example 3: Pack and unpack a message in Python. + + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + + Example 4: Pack and unpack a message in Go + + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } + + The pack methods provided by protobuf library will by + default use + + 'type.googleapis.com/full.type.name' as the type URL and the + unpack + + methods only use the fully qualified type name after the + last '/' + + in the type URL, for example "foo.bar.com/x/y.z" will yield + type + + name "y.z". + + + + JSON + + ==== + + The JSON representation of an `Any` value uses the regular + + representation of the deserialized, embedded message, with + an + + additional field `@type` which contains the type URL. + Example: + + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } + + If the embedded message type is well-known and has a custom + JSON + + representation, that representation will be embedded adding + a field + + `value` which holds the custom JSON in addition to the + `@type` + + field. Example (for message [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + parameters: + - name: proposal_id + description: proposal_id defines the unique id of the proposal. + in: path + required: true + type: string + format: uint64 + - name: depositor + description: depositor defines the deposit addresses from the proposals. + in: path + required: true + type: string + tags: + - Query + /cosmos/gov/v1beta1/proposals/{proposal_id}/tally: + get: + summary: TallyResult queries the tally of a proposal vote. + operationId: CosmosGovV1Beta1TallyResult + responses: + '200': + description: A successful response. + schema: + type: object + properties: + tally: + description: tally defines the requested tally. + type: object + properties: + 'yes': + type: string + abstain: + type: string + 'no': + type: string + no_with_veto: + type: string + description: >- + QueryTallyResultResponse is the response type for the Query/Tally + RPC method. + default: + description: An unexpected error response. + schema: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + '@type': + type: string + description: >- + A URL/resource name that uniquely identifies the type of + the serialized + + protocol buffer message. This string must contain at + least + + one "/" character. The last segment of the URL's path + must represent + + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name should be in + a canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the binary + all types that they + + expect it to use in the context of Any. However, for + URLs which use the + + scheme `http`, `https`, or no scheme, one can optionally + set up a type + + server that maps type URLs to message definitions as + follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based + on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available in + the official + + protobuf release, and it is not used for type URLs + beginning with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty scheme) + might be + + used with implementation specific semantics. + additionalProperties: {} + description: >- + `Any` contains an arbitrary serialized protocol buffer + message along with a + + URL that describes the type of the serialized message. + + + Protobuf library provides support to pack/unpack Any values + in the form + + of utility functions or additional generated methods of the + Any type. + + + Example 1: Pack and unpack a message in C++. + + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } + + Example 2: Pack and unpack a message in Java. + + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + + Example 3: Pack and unpack a message in Python. + + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + + Example 4: Pack and unpack a message in Go + + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } + + The pack methods provided by protobuf library will by + default use + + 'type.googleapis.com/full.type.name' as the type URL and the + unpack + + methods only use the fully qualified type name after the + last '/' + + in the type URL, for example "foo.bar.com/x/y.z" will yield + type + + name "y.z". + + + + JSON + + ==== + + The JSON representation of an `Any` value uses the regular + + representation of the deserialized, embedded message, with + an + + additional field `@type` which contains the type URL. + Example: + + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } + + If the embedded message type is well-known and has a custom + JSON + + representation, that representation will be embedded adding + a field + + `value` which holds the custom JSON in addition to the + `@type` + + field. Example (for message [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + parameters: + - name: proposal_id + description: proposal_id defines the unique id of the proposal. + in: path + required: true + type: string + format: uint64 + tags: + - Query + /cosmos/gov/v1beta1/proposals/{proposal_id}/votes: + get: + summary: Votes queries votes of a given proposal. + operationId: CosmosGovV1Beta1Votes + responses: + '200': + description: A successful response. + schema: + type: object + properties: + votes: + type: array + items: + type: object + properties: + proposal_id: + type: string + format: uint64 + voter: + type: string + option: + description: >- + Deprecated: Prefer to use `options` instead. This field + is set in queries + + if and only if `len(options) == 1` and that option has + weight 1. In all + + other cases, this field will default to + VOTE_OPTION_UNSPECIFIED. + type: string + enum: + - VOTE_OPTION_UNSPECIFIED + - VOTE_OPTION_YES + - VOTE_OPTION_ABSTAIN + - VOTE_OPTION_NO + - VOTE_OPTION_NO_WITH_VETO + default: VOTE_OPTION_UNSPECIFIED + options: + type: array + items: + type: object + properties: + option: + type: string + enum: + - VOTE_OPTION_UNSPECIFIED + - VOTE_OPTION_YES + - VOTE_OPTION_ABSTAIN + - VOTE_OPTION_NO + - VOTE_OPTION_NO_WITH_VETO + default: VOTE_OPTION_UNSPECIFIED + description: >- + VoteOption enumerates the valid vote options for a + given governance proposal. + + - VOTE_OPTION_UNSPECIFIED: VOTE_OPTION_UNSPECIFIED defines a no-op vote option. + - VOTE_OPTION_YES: VOTE_OPTION_YES defines a yes vote option. + - VOTE_OPTION_ABSTAIN: VOTE_OPTION_ABSTAIN defines an abstain vote option. + - VOTE_OPTION_NO: VOTE_OPTION_NO defines a no vote option. + - VOTE_OPTION_NO_WITH_VETO: VOTE_OPTION_NO_WITH_VETO defines a no with veto vote option. + weight: + type: string + description: >- + WeightedVoteOption defines a unit of vote for vote + split. + + + Since: cosmos-sdk 0.43 + title: 'Since: cosmos-sdk 0.43' + description: >- + Vote defines a vote on a governance proposal. + + A Vote consists of a proposal ID, the voter, and the vote + option. + description: votes defined the queried votes. + pagination: + description: pagination defines the pagination in the response. + type: object + properties: + next_key: + type: string + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + total: + type: string + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total + + was set, its value is undefined otherwise + description: >- + QueryVotesResponse is the response type for the Query/Votes RPC + method. + default: + description: An unexpected error response. + schema: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + '@type': + type: string + description: >- + A URL/resource name that uniquely identifies the type of + the serialized + + protocol buffer message. This string must contain at + least + + one "/" character. The last segment of the URL's path + must represent + + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name should be in + a canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the binary + all types that they + + expect it to use in the context of Any. However, for + URLs which use the + + scheme `http`, `https`, or no scheme, one can optionally + set up a type + + server that maps type URLs to message definitions as + follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based + on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available in + the official + + protobuf release, and it is not used for type URLs + beginning with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty scheme) + might be + + used with implementation specific semantics. + additionalProperties: {} + description: >- + `Any` contains an arbitrary serialized protocol buffer + message along with a + + URL that describes the type of the serialized message. + + + Protobuf library provides support to pack/unpack Any values + in the form + + of utility functions or additional generated methods of the + Any type. + + + Example 1: Pack and unpack a message in C++. + + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } + + Example 2: Pack and unpack a message in Java. + + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + + Example 3: Pack and unpack a message in Python. + + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + + Example 4: Pack and unpack a message in Go + + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } + + The pack methods provided by protobuf library will by + default use + + 'type.googleapis.com/full.type.name' as the type URL and the + unpack + + methods only use the fully qualified type name after the + last '/' + + in the type URL, for example "foo.bar.com/x/y.z" will yield + type + + name "y.z". + + + + JSON + + ==== + + The JSON representation of an `Any` value uses the regular + + representation of the deserialized, embedded message, with + an + + additional field `@type` which contains the type URL. + Example: + + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } + + If the embedded message type is well-known and has a custom + JSON + + representation, that representation will be embedded adding + a field + + `value` which holds the custom JSON in addition to the + `@type` + + field. Example (for message [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + parameters: + - name: proposal_id + description: proposal_id defines the unique id of the proposal. + in: path + required: true + type: string + format: uint64 + - name: pagination.key + description: |- + key is a value returned in PageResponse.next_key to begin + querying the next page most efficiently. Only one of offset or key + should be set. + in: query + required: false + type: string + format: byte + - name: pagination.offset + description: >- + offset is a numeric offset that can be used when key is unavailable. + + It is less efficient than using key. Only one of offset or key + should + + be set. + in: query + required: false + type: string + format: uint64 + - name: pagination.limit + description: >- + limit is the total number of results to be returned in the result + page. + + If left empty it will default to a value to be set by each app. + in: query + required: false + type: string + format: uint64 + - name: pagination.count_total + description: >- + count_total is set to true to indicate that the result set should + include + + a count of the total number of items available for pagination in + UIs. + + count_total is only respected when offset is used. It is ignored + when key + + is set. + in: query + required: false + type: boolean + - name: pagination.reverse + description: >- + reverse is set to true if results are to be returned in the + descending order. + + + Since: cosmos-sdk 0.43 + in: query + required: false + type: boolean + tags: + - Query + /cosmos/gov/v1beta1/proposals/{proposal_id}/votes/{voter}: + get: + summary: Vote queries voted information based on proposalID, voterAddr. + operationId: CosmosGovV1Beta1Vote + responses: + '200': + description: A successful response. + schema: + type: object + properties: + vote: + description: vote defined the queried vote. + type: object + properties: + proposal_id: + type: string + format: uint64 + voter: + type: string + option: + description: >- + Deprecated: Prefer to use `options` instead. This field is + set in queries + + if and only if `len(options) == 1` and that option has + weight 1. In all + + other cases, this field will default to + VOTE_OPTION_UNSPECIFIED. + type: string + enum: + - VOTE_OPTION_UNSPECIFIED + - VOTE_OPTION_YES + - VOTE_OPTION_ABSTAIN + - VOTE_OPTION_NO + - VOTE_OPTION_NO_WITH_VETO + default: VOTE_OPTION_UNSPECIFIED + options: + type: array + items: + type: object + properties: + option: + type: string + enum: + - VOTE_OPTION_UNSPECIFIED + - VOTE_OPTION_YES + - VOTE_OPTION_ABSTAIN + - VOTE_OPTION_NO + - VOTE_OPTION_NO_WITH_VETO + default: VOTE_OPTION_UNSPECIFIED + description: >- + VoteOption enumerates the valid vote options for a + given governance proposal. + + - VOTE_OPTION_UNSPECIFIED: VOTE_OPTION_UNSPECIFIED defines a no-op vote option. + - VOTE_OPTION_YES: VOTE_OPTION_YES defines a yes vote option. + - VOTE_OPTION_ABSTAIN: VOTE_OPTION_ABSTAIN defines an abstain vote option. + - VOTE_OPTION_NO: VOTE_OPTION_NO defines a no vote option. + - VOTE_OPTION_NO_WITH_VETO: VOTE_OPTION_NO_WITH_VETO defines a no with veto vote option. + weight: + type: string + description: >- + WeightedVoteOption defines a unit of vote for vote + split. + + + Since: cosmos-sdk 0.43 + title: 'Since: cosmos-sdk 0.43' + description: >- + QueryVoteResponse is the response type for the Query/Vote RPC + method. + default: + description: An unexpected error response. + schema: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + '@type': + type: string + description: >- + A URL/resource name that uniquely identifies the type of + the serialized + + protocol buffer message. This string must contain at + least + + one "/" character. The last segment of the URL's path + must represent + + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name should be in + a canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the binary + all types that they + + expect it to use in the context of Any. However, for + URLs which use the + + scheme `http`, `https`, or no scheme, one can optionally + set up a type + + server that maps type URLs to message definitions as + follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based + on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available in + the official + + protobuf release, and it is not used for type URLs + beginning with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty scheme) + might be + + used with implementation specific semantics. + additionalProperties: {} + description: >- + `Any` contains an arbitrary serialized protocol buffer + message along with a + + URL that describes the type of the serialized message. + + + Protobuf library provides support to pack/unpack Any values + in the form + + of utility functions or additional generated methods of the + Any type. + + + Example 1: Pack and unpack a message in C++. + + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } + + Example 2: Pack and unpack a message in Java. + + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + + Example 3: Pack and unpack a message in Python. + + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + + Example 4: Pack and unpack a message in Go + + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } + + The pack methods provided by protobuf library will by + default use + + 'type.googleapis.com/full.type.name' as the type URL and the + unpack + + methods only use the fully qualified type name after the + last '/' + + in the type URL, for example "foo.bar.com/x/y.z" will yield + type + + name "y.z". + + + + JSON + + ==== + + The JSON representation of an `Any` value uses the regular + + representation of the deserialized, embedded message, with + an + + additional field `@type` which contains the type URL. + Example: + + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } + + If the embedded message type is well-known and has a custom + JSON + + representation, that representation will be embedded adding + a field + + `value` which holds the custom JSON in addition to the + `@type` + + field. Example (for message [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + parameters: + - name: proposal_id + description: proposal_id defines the unique id of the proposal. + in: path + required: true + type: string + format: uint64 + - name: voter + description: voter defines the voter address for the proposals. + in: path + required: true + type: string + tags: + - Query + /cosmos/group/v1/group_info/{group_id}: + get: + summary: GroupInfo queries group info based on group id. + operationId: CosmosGroupV1GroupInfo + responses: + '200': + description: A successful response. + schema: + type: object + properties: + info: + description: info is the GroupInfo for the group. + type: object + properties: + id: + type: string + format: uint64 + description: id is the unique ID of the group. + admin: + type: string + description: admin is the account address of the group's admin. + metadata: + type: string + description: >- + metadata is any arbitrary metadata to attached to the + group. + version: + type: string + format: uint64 + title: >- + version is used to track changes to a group's membership + structure that + + would break existing proposals. Whenever any members + weight is changed, + + or any member is added or removed this version is + incremented and will + + cause proposals based on older versions of this group to + fail + total_weight: + type: string + description: total_weight is the sum of the group members' weights. + created_at: + type: string + format: date-time + description: >- + created_at is a timestamp specifying when a group was + created. + description: QueryGroupInfoResponse is the Query/GroupInfo response type. + default: + description: An unexpected error response. + schema: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + '@type': + type: string + description: >- + A URL/resource name that uniquely identifies the type of + the serialized + + protocol buffer message. This string must contain at + least + + one "/" character. The last segment of the URL's path + must represent + + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name should be in + a canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the binary + all types that they + + expect it to use in the context of Any. However, for + URLs which use the + + scheme `http`, `https`, or no scheme, one can optionally + set up a type + + server that maps type URLs to message definitions as + follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based + on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available in + the official + + protobuf release, and it is not used for type URLs + beginning with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty scheme) + might be + + used with implementation specific semantics. + additionalProperties: {} + description: >- + `Any` contains an arbitrary serialized protocol buffer + message along with a + + URL that describes the type of the serialized message. + + + Protobuf library provides support to pack/unpack Any values + in the form + + of utility functions or additional generated methods of the + Any type. + + + Example 1: Pack and unpack a message in C++. + + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } + + Example 2: Pack and unpack a message in Java. + + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + + Example 3: Pack and unpack a message in Python. + + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + + Example 4: Pack and unpack a message in Go + + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } + + The pack methods provided by protobuf library will by + default use + + 'type.googleapis.com/full.type.name' as the type URL and the + unpack + + methods only use the fully qualified type name after the + last '/' + + in the type URL, for example "foo.bar.com/x/y.z" will yield + type + + name "y.z". + + + + JSON + + ==== + + The JSON representation of an `Any` value uses the regular + + representation of the deserialized, embedded message, with + an + + additional field `@type` which contains the type URL. + Example: + + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } + + If the embedded message type is well-known and has a custom + JSON + + representation, that representation will be embedded adding + a field + + `value` which holds the custom JSON in addition to the + `@type` + + field. Example (for message [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + parameters: + - name: group_id + description: group_id is the unique ID of the group. + in: path + required: true + type: string + format: uint64 + tags: + - Query + /cosmos/group/v1/group_members/{group_id}: + get: + summary: GroupMembers queries members of a group + operationId: CosmosGroupV1GroupMembers + responses: + '200': + description: A successful response. + schema: + type: object + properties: + members: + type: array + items: + type: object + properties: + group_id: + type: string + format: uint64 + description: group_id is the unique ID of the group. + member: + description: member is the member data. + type: object + properties: + address: + type: string + description: address is the member's account address. + weight: + type: string + description: >- + weight is the member's voting weight that should be + greater than 0. + metadata: + type: string + description: >- + metadata is any arbitrary metadata attached to the + member. + added_at: + type: string + format: date-time + description: >- + added_at is a timestamp specifying when a member was + added. + description: >- + GroupMember represents the relationship between a group and + a member. + description: members are the members of the group with given group_id. + pagination: + description: pagination defines the pagination in the response. + type: object + properties: + next_key: + type: string + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + total: + type: string + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total + + was set, its value is undefined otherwise + description: >- + QueryGroupMembersResponse is the Query/GroupMembersResponse + response type. + default: + description: An unexpected error response. + schema: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + '@type': + type: string + description: >- + A URL/resource name that uniquely identifies the type of + the serialized + + protocol buffer message. This string must contain at + least + + one "/" character. The last segment of the URL's path + must represent + + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name should be in + a canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the binary + all types that they + + expect it to use in the context of Any. However, for + URLs which use the + + scheme `http`, `https`, or no scheme, one can optionally + set up a type + + server that maps type URLs to message definitions as + follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based + on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available in + the official + + protobuf release, and it is not used for type URLs + beginning with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty scheme) + might be + + used with implementation specific semantics. + additionalProperties: {} + description: >- + `Any` contains an arbitrary serialized protocol buffer + message along with a + + URL that describes the type of the serialized message. + + + Protobuf library provides support to pack/unpack Any values + in the form + + of utility functions or additional generated methods of the + Any type. + + + Example 1: Pack and unpack a message in C++. + + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } + + Example 2: Pack and unpack a message in Java. + + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + + Example 3: Pack and unpack a message in Python. + + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + + Example 4: Pack and unpack a message in Go + + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } + + The pack methods provided by protobuf library will by + default use + + 'type.googleapis.com/full.type.name' as the type URL and the + unpack + + methods only use the fully qualified type name after the + last '/' + + in the type URL, for example "foo.bar.com/x/y.z" will yield + type + + name "y.z". + + + + JSON + + ==== + + The JSON representation of an `Any` value uses the regular + + representation of the deserialized, embedded message, with + an + + additional field `@type` which contains the type URL. + Example: + + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } + + If the embedded message type is well-known and has a custom + JSON + + representation, that representation will be embedded adding + a field + + `value` which holds the custom JSON in addition to the + `@type` + + field. Example (for message [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + parameters: + - name: group_id + description: group_id is the unique ID of the group. + in: path + required: true + type: string + format: uint64 + - name: pagination.key + description: |- + key is a value returned in PageResponse.next_key to begin + querying the next page most efficiently. Only one of offset or key + should be set. + in: query + required: false + type: string + format: byte + - name: pagination.offset + description: >- + offset is a numeric offset that can be used when key is unavailable. + + It is less efficient than using key. Only one of offset or key + should + + be set. + in: query + required: false + type: string + format: uint64 + - name: pagination.limit + description: >- + limit is the total number of results to be returned in the result + page. + + If left empty it will default to a value to be set by each app. + in: query + required: false + type: string + format: uint64 + - name: pagination.count_total + description: >- + count_total is set to true to indicate that the result set should + include + + a count of the total number of items available for pagination in + UIs. + + count_total is only respected when offset is used. It is ignored + when key + + is set. + in: query + required: false + type: boolean + - name: pagination.reverse + description: >- + reverse is set to true if results are to be returned in the + descending order. + + + Since: cosmos-sdk 0.43 + in: query + required: false + type: boolean + tags: + - Query + /cosmos/group/v1/group_policies_by_admin/{admin}: + get: + summary: GroupsByAdmin queries group policies by admin address. + operationId: CosmosGroupV1GroupPoliciesByAdmin + responses: + '200': + description: A successful response. + schema: + type: object + properties: + group_policies: + type: array + items: + type: object + properties: + address: + type: string + description: address is the account address of group policy. + group_id: + type: string + format: uint64 + description: group_id is the unique ID of the group. + admin: + type: string + description: admin is the account address of the group admin. + metadata: + type: string + description: >- + metadata is any arbitrary metadata to attached to the + group policy. + version: + type: string + format: uint64 + description: >- + version is used to track changes to a group's + GroupPolicyInfo structure that + + would create a different result on a running proposal. + decision_policy: + description: >- + decision_policy specifies the group policy's decision + policy. + type: object + properties: + '@type': + type: string + description: >- + A URL/resource name that uniquely identifies the + type of the serialized + + protocol buffer message. This string must contain at + least + + one "/" character. The last segment of the URL's + path must represent + + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name should be + in a canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the + binary all types that they + + expect it to use in the context of Any. However, for + URLs which use the + + scheme `http`, `https`, or no scheme, one can + optionally set up a type + + server that maps type URLs to message definitions as + follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results + based on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available + in the official + + protobuf release, and it is not used for type URLs + beginning with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty + scheme) might be + + used with implementation specific semantics. + additionalProperties: {} + created_at: + type: string + format: date-time + description: >- + created_at is a timestamp specifying when a group policy + was created. + description: >- + GroupPolicyInfo represents the high-level on-chain + information for a group policy. + description: >- + group_policies are the group policies info with provided + admin. + pagination: + description: pagination defines the pagination in the response. + type: object + properties: + next_key: + type: string + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + total: + type: string + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total + + was set, its value is undefined otherwise + description: >- + QueryGroupPoliciesByAdminResponse is the + Query/GroupPoliciesByAdmin response type. + default: + description: An unexpected error response. + schema: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + '@type': + type: string + description: >- + A URL/resource name that uniquely identifies the type of + the serialized + + protocol buffer message. This string must contain at + least + + one "/" character. The last segment of the URL's path + must represent + + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name should be in + a canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the binary + all types that they + + expect it to use in the context of Any. However, for + URLs which use the + + scheme `http`, `https`, or no scheme, one can optionally + set up a type + + server that maps type URLs to message definitions as + follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based + on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available in + the official + + protobuf release, and it is not used for type URLs + beginning with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty scheme) + might be + + used with implementation specific semantics. + additionalProperties: {} + description: >- + `Any` contains an arbitrary serialized protocol buffer + message along with a + + URL that describes the type of the serialized message. + + + Protobuf library provides support to pack/unpack Any values + in the form + + of utility functions or additional generated methods of the + Any type. + + + Example 1: Pack and unpack a message in C++. + + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } + + Example 2: Pack and unpack a message in Java. + + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + + Example 3: Pack and unpack a message in Python. + + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + + Example 4: Pack and unpack a message in Go + + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } + + The pack methods provided by protobuf library will by + default use + + 'type.googleapis.com/full.type.name' as the type URL and the + unpack + + methods only use the fully qualified type name after the + last '/' + + in the type URL, for example "foo.bar.com/x/y.z" will yield + type + + name "y.z". + + + + JSON + + ==== + + The JSON representation of an `Any` value uses the regular + + representation of the deserialized, embedded message, with + an + + additional field `@type` which contains the type URL. + Example: + + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } + + If the embedded message type is well-known and has a custom + JSON + + representation, that representation will be embedded adding + a field + + `value` which holds the custom JSON in addition to the + `@type` + + field. Example (for message [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + parameters: + - name: admin + description: admin is the admin address of the group policy. + in: path + required: true + type: string + - name: pagination.key + description: |- + key is a value returned in PageResponse.next_key to begin + querying the next page most efficiently. Only one of offset or key + should be set. + in: query + required: false + type: string + format: byte + - name: pagination.offset + description: >- + offset is a numeric offset that can be used when key is unavailable. + + It is less efficient than using key. Only one of offset or key + should + + be set. + in: query + required: false + type: string + format: uint64 + - name: pagination.limit + description: >- + limit is the total number of results to be returned in the result + page. + + If left empty it will default to a value to be set by each app. + in: query + required: false + type: string + format: uint64 + - name: pagination.count_total + description: >- + count_total is set to true to indicate that the result set should + include + + a count of the total number of items available for pagination in + UIs. + + count_total is only respected when offset is used. It is ignored + when key + + is set. + in: query + required: false + type: boolean + - name: pagination.reverse + description: >- + reverse is set to true if results are to be returned in the + descending order. + + + Since: cosmos-sdk 0.43 + in: query + required: false + type: boolean + tags: + - Query + /cosmos/group/v1/group_policies_by_group/{group_id}: + get: + summary: GroupPoliciesByGroup queries group policies by group id. + operationId: CosmosGroupV1GroupPoliciesByGroup + responses: + '200': + description: A successful response. + schema: + type: object + properties: + group_policies: + type: array + items: + type: object + properties: + address: + type: string + description: address is the account address of group policy. + group_id: + type: string + format: uint64 + description: group_id is the unique ID of the group. + admin: + type: string + description: admin is the account address of the group admin. + metadata: + type: string + description: >- + metadata is any arbitrary metadata to attached to the + group policy. + version: + type: string + format: uint64 + description: >- + version is used to track changes to a group's + GroupPolicyInfo structure that + + would create a different result on a running proposal. + decision_policy: + description: >- + decision_policy specifies the group policy's decision + policy. + type: object + properties: + '@type': + type: string + description: >- + A URL/resource name that uniquely identifies the + type of the serialized + + protocol buffer message. This string must contain at + least + + one "/" character. The last segment of the URL's + path must represent + + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name should be + in a canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the + binary all types that they + + expect it to use in the context of Any. However, for + URLs which use the + + scheme `http`, `https`, or no scheme, one can + optionally set up a type + + server that maps type URLs to message definitions as + follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results + based on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available + in the official + + protobuf release, and it is not used for type URLs + beginning with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty + scheme) might be + + used with implementation specific semantics. + additionalProperties: {} + created_at: + type: string + format: date-time + description: >- + created_at is a timestamp specifying when a group policy + was created. + description: >- + GroupPolicyInfo represents the high-level on-chain + information for a group policy. + description: >- + group_policies are the group policies info associated with the + provided group. + pagination: + description: pagination defines the pagination in the response. + type: object + properties: + next_key: + type: string + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + total: + type: string + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total + + was set, its value is undefined otherwise + description: >- + QueryGroupPoliciesByGroupResponse is the + Query/GroupPoliciesByGroup response type. + default: + description: An unexpected error response. + schema: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + '@type': + type: string + description: >- + A URL/resource name that uniquely identifies the type of + the serialized + + protocol buffer message. This string must contain at + least + + one "/" character. The last segment of the URL's path + must represent + + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name should be in + a canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the binary + all types that they + + expect it to use in the context of Any. However, for + URLs which use the + + scheme `http`, `https`, or no scheme, one can optionally + set up a type + + server that maps type URLs to message definitions as + follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based + on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available in + the official + + protobuf release, and it is not used for type URLs + beginning with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty scheme) + might be + + used with implementation specific semantics. + additionalProperties: {} + description: >- + `Any` contains an arbitrary serialized protocol buffer + message along with a + + URL that describes the type of the serialized message. + + + Protobuf library provides support to pack/unpack Any values + in the form + + of utility functions or additional generated methods of the + Any type. + + + Example 1: Pack and unpack a message in C++. + + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } + + Example 2: Pack and unpack a message in Java. + + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + + Example 3: Pack and unpack a message in Python. + + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + + Example 4: Pack and unpack a message in Go + + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } + + The pack methods provided by protobuf library will by + default use + + 'type.googleapis.com/full.type.name' as the type URL and the + unpack + + methods only use the fully qualified type name after the + last '/' + + in the type URL, for example "foo.bar.com/x/y.z" will yield + type + + name "y.z". + + + + JSON + + ==== + + The JSON representation of an `Any` value uses the regular + + representation of the deserialized, embedded message, with + an + + additional field `@type` which contains the type URL. + Example: + + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } + + If the embedded message type is well-known and has a custom + JSON + + representation, that representation will be embedded adding + a field + + `value` which holds the custom JSON in addition to the + `@type` + + field. Example (for message [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + parameters: + - name: group_id + description: group_id is the unique ID of the group policy's group. + in: path + required: true + type: string + format: uint64 + - name: pagination.key + description: |- + key is a value returned in PageResponse.next_key to begin + querying the next page most efficiently. Only one of offset or key + should be set. + in: query + required: false + type: string + format: byte + - name: pagination.offset + description: >- + offset is a numeric offset that can be used when key is unavailable. + + It is less efficient than using key. Only one of offset or key + should + + be set. + in: query + required: false + type: string + format: uint64 + - name: pagination.limit + description: >- + limit is the total number of results to be returned in the result + page. + + If left empty it will default to a value to be set by each app. + in: query + required: false + type: string + format: uint64 + - name: pagination.count_total + description: >- + count_total is set to true to indicate that the result set should + include + + a count of the total number of items available for pagination in + UIs. + + count_total is only respected when offset is used. It is ignored + when key + + is set. + in: query + required: false + type: boolean + - name: pagination.reverse + description: >- + reverse is set to true if results are to be returned in the + descending order. + + + Since: cosmos-sdk 0.43 + in: query + required: false + type: boolean + tags: + - Query + /cosmos/group/v1/group_policy_info/{address}: + get: + summary: >- + GroupPolicyInfo queries group policy info based on account address of + group policy. + operationId: CosmosGroupV1GroupPolicyInfo + responses: + '200': + description: A successful response. + schema: + type: object + properties: + info: + description: info is the GroupPolicyInfo for the group policy. + type: object + properties: + address: + type: string + description: address is the account address of group policy. + group_id: + type: string + format: uint64 + description: group_id is the unique ID of the group. + admin: + type: string + description: admin is the account address of the group admin. + metadata: + type: string + description: >- + metadata is any arbitrary metadata to attached to the + group policy. + version: + type: string + format: uint64 + description: >- + version is used to track changes to a group's + GroupPolicyInfo structure that + + would create a different result on a running proposal. + decision_policy: + description: >- + decision_policy specifies the group policy's decision + policy. + type: object + properties: + '@type': + type: string + description: >- + A URL/resource name that uniquely identifies the type + of the serialized + + protocol buffer message. This string must contain at + least + + one "/" character. The last segment of the URL's path + must represent + + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name should be + in a canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the binary + all types that they + + expect it to use in the context of Any. However, for + URLs which use the + + scheme `http`, `https`, or no scheme, one can + optionally set up a type + + server that maps type URLs to message definitions as + follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results + based on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available in + the official + + protobuf release, and it is not used for type URLs + beginning with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty + scheme) might be + + used with implementation specific semantics. + additionalProperties: {} + created_at: + type: string + format: date-time + description: >- + created_at is a timestamp specifying when a group policy + was created. + description: >- + QueryGroupPolicyInfoResponse is the Query/GroupPolicyInfo response + type. + default: + description: An unexpected error response. + schema: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + '@type': + type: string + description: >- + A URL/resource name that uniquely identifies the type of + the serialized + + protocol buffer message. This string must contain at + least + + one "/" character. The last segment of the URL's path + must represent + + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name should be in + a canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the binary + all types that they + + expect it to use in the context of Any. However, for + URLs which use the + + scheme `http`, `https`, or no scheme, one can optionally + set up a type + + server that maps type URLs to message definitions as + follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based + on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available in + the official + + protobuf release, and it is not used for type URLs + beginning with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty scheme) + might be + + used with implementation specific semantics. + additionalProperties: {} + description: >- + `Any` contains an arbitrary serialized protocol buffer + message along with a + + URL that describes the type of the serialized message. + + + Protobuf library provides support to pack/unpack Any values + in the form + + of utility functions or additional generated methods of the + Any type. + + + Example 1: Pack and unpack a message in C++. + + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } + + Example 2: Pack and unpack a message in Java. + + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + + Example 3: Pack and unpack a message in Python. + + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + + Example 4: Pack and unpack a message in Go + + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } + + The pack methods provided by protobuf library will by + default use + + 'type.googleapis.com/full.type.name' as the type URL and the + unpack + + methods only use the fully qualified type name after the + last '/' + + in the type URL, for example "foo.bar.com/x/y.z" will yield + type + + name "y.z". + + + + JSON + + ==== + + The JSON representation of an `Any` value uses the regular + + representation of the deserialized, embedded message, with + an + + additional field `@type` which contains the type URL. + Example: + + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } + + If the embedded message type is well-known and has a custom + JSON + + representation, that representation will be embedded adding + a field + + `value` which holds the custom JSON in addition to the + `@type` + + field. Example (for message [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + parameters: + - name: address + description: address is the account address of the group policy. + in: path + required: true + type: string + tags: + - Query + /cosmos/group/v1/groups: + get: + summary: Groups queries all groups in state. + description: 'Since: cosmos-sdk 0.47.1' + operationId: CosmosGroupV1Groups + responses: + '200': + description: A successful response. + schema: + type: object + properties: + groups: + type: array + items: + type: object + properties: + id: + type: string + format: uint64 + description: id is the unique ID of the group. + admin: + type: string + description: admin is the account address of the group's admin. + metadata: + type: string + description: >- + metadata is any arbitrary metadata to attached to the + group. + version: + type: string + format: uint64 + title: >- + version is used to track changes to a group's membership + structure that + + would break existing proposals. Whenever any members + weight is changed, + + or any member is added or removed this version is + incremented and will + + cause proposals based on older versions of this group to + fail + total_weight: + type: string + description: total_weight is the sum of the group members' weights. + created_at: + type: string + format: date-time + description: >- + created_at is a timestamp specifying when a group was + created. + description: >- + GroupInfo represents the high-level on-chain information for + a group. + description: '`groups` is all the groups present in state.' + pagination: + description: pagination defines the pagination in the response. + type: object + properties: + next_key: + type: string + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + total: + type: string + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total + + was set, its value is undefined otherwise + description: |- + QueryGroupsResponse is the Query/Groups response type. + + Since: cosmos-sdk 0.47.1 + default: + description: An unexpected error response. + schema: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + '@type': + type: string + description: >- + A URL/resource name that uniquely identifies the type of + the serialized + + protocol buffer message. This string must contain at + least + + one "/" character. The last segment of the URL's path + must represent + + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name should be in + a canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the binary + all types that they + + expect it to use in the context of Any. However, for + URLs which use the + + scheme `http`, `https`, or no scheme, one can optionally + set up a type + + server that maps type URLs to message definitions as + follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based + on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available in + the official + + protobuf release, and it is not used for type URLs + beginning with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty scheme) + might be + + used with implementation specific semantics. + additionalProperties: {} + description: >- + `Any` contains an arbitrary serialized protocol buffer + message along with a + + URL that describes the type of the serialized message. + + + Protobuf library provides support to pack/unpack Any values + in the form + + of utility functions or additional generated methods of the + Any type. + + + Example 1: Pack and unpack a message in C++. + + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } + + Example 2: Pack and unpack a message in Java. + + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + + Example 3: Pack and unpack a message in Python. + + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + + Example 4: Pack and unpack a message in Go + + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } + + The pack methods provided by protobuf library will by + default use + + 'type.googleapis.com/full.type.name' as the type URL and the + unpack + + methods only use the fully qualified type name after the + last '/' + + in the type URL, for example "foo.bar.com/x/y.z" will yield + type + + name "y.z". + + + + JSON + + ==== + + The JSON representation of an `Any` value uses the regular + + representation of the deserialized, embedded message, with + an + + additional field `@type` which contains the type URL. + Example: + + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } + + If the embedded message type is well-known and has a custom + JSON + + representation, that representation will be embedded adding + a field + + `value` which holds the custom JSON in addition to the + `@type` + + field. Example (for message [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + parameters: + - name: pagination.key + description: |- + key is a value returned in PageResponse.next_key to begin + querying the next page most efficiently. Only one of offset or key + should be set. + in: query + required: false + type: string + format: byte + - name: pagination.offset + description: >- + offset is a numeric offset that can be used when key is unavailable. + + It is less efficient than using key. Only one of offset or key + should + + be set. + in: query + required: false + type: string + format: uint64 + - name: pagination.limit + description: >- + limit is the total number of results to be returned in the result + page. + + If left empty it will default to a value to be set by each app. + in: query + required: false + type: string + format: uint64 + - name: pagination.count_total + description: >- + count_total is set to true to indicate that the result set should + include + + a count of the total number of items available for pagination in + UIs. + + count_total is only respected when offset is used. It is ignored + when key + + is set. + in: query + required: false + type: boolean + - name: pagination.reverse + description: >- + reverse is set to true if results are to be returned in the + descending order. + + + Since: cosmos-sdk 0.43 + in: query + required: false + type: boolean + tags: + - Query + /cosmos/group/v1/groups_by_admin/{admin}: + get: + summary: GroupsByAdmin queries groups by admin address. + operationId: CosmosGroupV1GroupsByAdmin + responses: + '200': + description: A successful response. + schema: + type: object + properties: + groups: + type: array + items: + type: object + properties: + id: + type: string + format: uint64 + description: id is the unique ID of the group. + admin: + type: string + description: admin is the account address of the group's admin. + metadata: + type: string + description: >- + metadata is any arbitrary metadata to attached to the + group. + version: + type: string + format: uint64 + title: >- + version is used to track changes to a group's membership + structure that + + would break existing proposals. Whenever any members + weight is changed, + + or any member is added or removed this version is + incremented and will + + cause proposals based on older versions of this group to + fail + total_weight: + type: string + description: total_weight is the sum of the group members' weights. + created_at: + type: string + format: date-time + description: >- + created_at is a timestamp specifying when a group was + created. + description: >- + GroupInfo represents the high-level on-chain information for + a group. + description: groups are the groups info with the provided admin. + pagination: + description: pagination defines the pagination in the response. + type: object + properties: + next_key: + type: string + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + total: + type: string + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total + + was set, its value is undefined otherwise + description: >- + QueryGroupsByAdminResponse is the Query/GroupsByAdminResponse + response type. + default: + description: An unexpected error response. + schema: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + '@type': + type: string + description: >- + A URL/resource name that uniquely identifies the type of + the serialized + + protocol buffer message. This string must contain at + least + + one "/" character. The last segment of the URL's path + must represent + + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name should be in + a canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the binary + all types that they + + expect it to use in the context of Any. However, for + URLs which use the + + scheme `http`, `https`, or no scheme, one can optionally + set up a type + + server that maps type URLs to message definitions as + follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based + on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available in + the official + + protobuf release, and it is not used for type URLs + beginning with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty scheme) + might be + + used with implementation specific semantics. + additionalProperties: {} + description: >- + `Any` contains an arbitrary serialized protocol buffer + message along with a + + URL that describes the type of the serialized message. + + + Protobuf library provides support to pack/unpack Any values + in the form + + of utility functions or additional generated methods of the + Any type. + + + Example 1: Pack and unpack a message in C++. + + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } + + Example 2: Pack and unpack a message in Java. + + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + + Example 3: Pack and unpack a message in Python. + + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + + Example 4: Pack and unpack a message in Go + + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } + + The pack methods provided by protobuf library will by + default use + + 'type.googleapis.com/full.type.name' as the type URL and the + unpack + + methods only use the fully qualified type name after the + last '/' + + in the type URL, for example "foo.bar.com/x/y.z" will yield + type + + name "y.z". + + + + JSON + + ==== + + The JSON representation of an `Any` value uses the regular + + representation of the deserialized, embedded message, with + an + + additional field `@type` which contains the type URL. + Example: + + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } + + If the embedded message type is well-known and has a custom + JSON + + representation, that representation will be embedded adding + a field + + `value` which holds the custom JSON in addition to the + `@type` + + field. Example (for message [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + parameters: + - name: admin + description: admin is the account address of a group's admin. + in: path + required: true + type: string + - name: pagination.key + description: |- + key is a value returned in PageResponse.next_key to begin + querying the next page most efficiently. Only one of offset or key + should be set. + in: query + required: false + type: string + format: byte + - name: pagination.offset + description: >- + offset is a numeric offset that can be used when key is unavailable. + + It is less efficient than using key. Only one of offset or key + should + + be set. + in: query + required: false + type: string + format: uint64 + - name: pagination.limit + description: >- + limit is the total number of results to be returned in the result + page. + + If left empty it will default to a value to be set by each app. + in: query + required: false + type: string + format: uint64 + - name: pagination.count_total + description: >- + count_total is set to true to indicate that the result set should + include + + a count of the total number of items available for pagination in + UIs. + + count_total is only respected when offset is used. It is ignored + when key + + is set. + in: query + required: false + type: boolean + - name: pagination.reverse + description: >- + reverse is set to true if results are to be returned in the + descending order. + + + Since: cosmos-sdk 0.43 + in: query + required: false + type: boolean + tags: + - Query + /cosmos/group/v1/groups_by_member/{address}: + get: + summary: GroupsByMember queries groups by member address. + operationId: CosmosGroupV1GroupsByMember + responses: + '200': + description: A successful response. + schema: + type: object + properties: + groups: + type: array + items: + type: object + properties: + id: + type: string + format: uint64 + description: id is the unique ID of the group. + admin: + type: string + description: admin is the account address of the group's admin. + metadata: + type: string + description: >- + metadata is any arbitrary metadata to attached to the + group. + version: + type: string + format: uint64 + title: >- + version is used to track changes to a group's membership + structure that + + would break existing proposals. Whenever any members + weight is changed, + + or any member is added or removed this version is + incremented and will + + cause proposals based on older versions of this group to + fail + total_weight: + type: string + description: total_weight is the sum of the group members' weights. + created_at: + type: string + format: date-time + description: >- + created_at is a timestamp specifying when a group was + created. + description: >- + GroupInfo represents the high-level on-chain information for + a group. + description: groups are the groups info with the provided group member. + pagination: + description: pagination defines the pagination in the response. + type: object + properties: + next_key: + type: string + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + total: + type: string + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total + + was set, its value is undefined otherwise + description: >- + QueryGroupsByMemberResponse is the Query/GroupsByMember response + type. + default: + description: An unexpected error response. + schema: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + '@type': + type: string + description: >- + A URL/resource name that uniquely identifies the type of + the serialized + + protocol buffer message. This string must contain at + least + + one "/" character. The last segment of the URL's path + must represent + + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name should be in + a canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the binary + all types that they + + expect it to use in the context of Any. However, for + URLs which use the + + scheme `http`, `https`, or no scheme, one can optionally + set up a type + + server that maps type URLs to message definitions as + follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based + on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available in + the official + + protobuf release, and it is not used for type URLs + beginning with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty scheme) + might be + + used with implementation specific semantics. + additionalProperties: {} + description: >- + `Any` contains an arbitrary serialized protocol buffer + message along with a + + URL that describes the type of the serialized message. + + + Protobuf library provides support to pack/unpack Any values + in the form + + of utility functions or additional generated methods of the + Any type. + + + Example 1: Pack and unpack a message in C++. + + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } + + Example 2: Pack and unpack a message in Java. + + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + + Example 3: Pack and unpack a message in Python. + + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + + Example 4: Pack and unpack a message in Go + + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } + + The pack methods provided by protobuf library will by + default use + + 'type.googleapis.com/full.type.name' as the type URL and the + unpack + + methods only use the fully qualified type name after the + last '/' + + in the type URL, for example "foo.bar.com/x/y.z" will yield + type + + name "y.z". + + + + JSON + + ==== + + The JSON representation of an `Any` value uses the regular + + representation of the deserialized, embedded message, with + an + + additional field `@type` which contains the type URL. + Example: + + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } + + If the embedded message type is well-known and has a custom + JSON + + representation, that representation will be embedded adding + a field + + `value` which holds the custom JSON in addition to the + `@type` + + field. Example (for message [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + parameters: + - name: address + description: address is the group member address. + in: path + required: true + type: string + - name: pagination.key + description: |- + key is a value returned in PageResponse.next_key to begin + querying the next page most efficiently. Only one of offset or key + should be set. + in: query + required: false + type: string + format: byte + - name: pagination.offset + description: >- + offset is a numeric offset that can be used when key is unavailable. + + It is less efficient than using key. Only one of offset or key + should + + be set. + in: query + required: false + type: string + format: uint64 + - name: pagination.limit + description: >- + limit is the total number of results to be returned in the result + page. + + If left empty it will default to a value to be set by each app. + in: query + required: false + type: string + format: uint64 + - name: pagination.count_total + description: >- + count_total is set to true to indicate that the result set should + include + + a count of the total number of items available for pagination in + UIs. + + count_total is only respected when offset is used. It is ignored + when key + + is set. + in: query + required: false + type: boolean + - name: pagination.reverse + description: >- + reverse is set to true if results are to be returned in the + descending order. + + + Since: cosmos-sdk 0.43 + in: query + required: false + type: boolean + tags: + - Query + /cosmos/group/v1/proposal/{proposal_id}: + get: + summary: Proposal queries a proposal based on proposal id. + operationId: CosmosGroupV1Proposal + responses: + '200': + description: A successful response. + schema: + type: object + properties: + proposal: + description: proposal is the proposal info. + type: object + properties: + id: + type: string + format: uint64 + description: id is the unique id of the proposal. + group_policy_address: + type: string + description: >- + group_policy_address is the account address of group + policy. + metadata: + type: string + description: >- + metadata is any arbitrary metadata to attached to the + proposal. + proposers: + type: array + items: + type: string + description: proposers are the account addresses of the proposers. + submit_time: + type: string + format: date-time + description: >- + submit_time is a timestamp specifying when a proposal was + submitted. + group_version: + type: string + format: uint64 + description: >- + group_version tracks the version of the group at proposal + submission. + + This field is here for informational purposes only. + group_policy_version: + type: string + format: uint64 + description: >- + group_policy_version tracks the version of the group + policy at proposal submission. + + When a decision policy is changed, existing proposals from + previous policy + + versions will become invalid with the `ABORTED` status. + + This field is here for informational purposes only. + status: + description: >- + status represents the high level position in the life + cycle of the proposal. Initial value is Submitted. + type: string + enum: + - PROPOSAL_STATUS_UNSPECIFIED + - PROPOSAL_STATUS_SUBMITTED + - PROPOSAL_STATUS_ACCEPTED + - PROPOSAL_STATUS_REJECTED + - PROPOSAL_STATUS_ABORTED + - PROPOSAL_STATUS_WITHDRAWN + default: PROPOSAL_STATUS_UNSPECIFIED + final_tally_result: + description: >- + final_tally_result contains the sums of all weighted votes + for this + + proposal for each vote option. It is empty at submission, + and only + + populated after tallying, at voting period end or at + proposal execution, + + whichever happens first. + type: object + properties: + yes_count: + type: string + description: yes_count is the weighted sum of yes votes. + abstain_count: + type: string + description: abstain_count is the weighted sum of abstainers. + no_count: + type: string + description: no_count is the weighted sum of no votes. + no_with_veto_count: + type: string + description: no_with_veto_count is the weighted sum of veto. + voting_period_end: + type: string + format: date-time + description: >- + voting_period_end is the timestamp before which voting + must be done. + + Unless a successfull MsgExec is called before (to execute + a proposal whose + + tally is successful before the voting period ends), + tallying will be done + + at this point, and the `final_tally_result`and `status` + fields will be + + accordingly updated. + executor_result: + description: >- + executor_result is the final result of the proposal + execution. Initial value is NotRun. + type: string + enum: + - PROPOSAL_EXECUTOR_RESULT_UNSPECIFIED + - PROPOSAL_EXECUTOR_RESULT_NOT_RUN + - PROPOSAL_EXECUTOR_RESULT_SUCCESS + - PROPOSAL_EXECUTOR_RESULT_FAILURE + default: PROPOSAL_EXECUTOR_RESULT_UNSPECIFIED + messages: + type: array + items: + type: object + properties: + '@type': + type: string + description: >- + A URL/resource name that uniquely identifies the + type of the serialized + + protocol buffer message. This string must contain at + least + + one "/" character. The last segment of the URL's + path must represent + + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name should be + in a canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the + binary all types that they + + expect it to use in the context of Any. However, for + URLs which use the + + scheme `http`, `https`, or no scheme, one can + optionally set up a type + + server that maps type URLs to message definitions as + follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results + based on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available + in the official + + protobuf release, and it is not used for type URLs + beginning with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty + scheme) might be + + used with implementation specific semantics. + additionalProperties: {} + description: >- + `Any` contains an arbitrary serialized protocol buffer + message along with a + + URL that describes the type of the serialized message. + + + Protobuf library provides support to pack/unpack Any + values in the form + + of utility functions or additional generated methods of + the Any type. + + + Example 1: Pack and unpack a message in C++. + + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } + + Example 2: Pack and unpack a message in Java. + + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + + Example 3: Pack and unpack a message in Python. + + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + + Example 4: Pack and unpack a message in Go + + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } + + The pack methods provided by protobuf library will by + default use + + 'type.googleapis.com/full.type.name' as the type URL and + the unpack + + methods only use the fully qualified type name after the + last '/' + + in the type URL, for example "foo.bar.com/x/y.z" will + yield type + + name "y.z". + + + + JSON + + ==== + + The JSON representation of an `Any` value uses the + regular + + representation of the deserialized, embedded message, + with an + + additional field `@type` which contains the type URL. + Example: + + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } + + If the embedded message type is well-known and has a + custom JSON + + representation, that representation will be embedded + adding a field + + `value` which holds the custom JSON in addition to the + `@type` + + field. Example (for message + [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + description: >- + messages is a list of `sdk.Msg`s that will be executed if + the proposal passes. + description: QueryProposalResponse is the Query/Proposal response type. + default: + description: An unexpected error response. + schema: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + '@type': + type: string + description: >- + A URL/resource name that uniquely identifies the type of + the serialized + + protocol buffer message. This string must contain at + least + + one "/" character. The last segment of the URL's path + must represent + + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name should be in + a canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the binary + all types that they + + expect it to use in the context of Any. However, for + URLs which use the + + scheme `http`, `https`, or no scheme, one can optionally + set up a type + + server that maps type URLs to message definitions as + follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based + on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available in + the official + + protobuf release, and it is not used for type URLs + beginning with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty scheme) + might be + + used with implementation specific semantics. + additionalProperties: {} + description: >- + `Any` contains an arbitrary serialized protocol buffer + message along with a + + URL that describes the type of the serialized message. + + + Protobuf library provides support to pack/unpack Any values + in the form + + of utility functions or additional generated methods of the + Any type. + + + Example 1: Pack and unpack a message in C++. + + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } + + Example 2: Pack and unpack a message in Java. + + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + + Example 3: Pack and unpack a message in Python. + + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + + Example 4: Pack and unpack a message in Go + + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } + + The pack methods provided by protobuf library will by + default use + + 'type.googleapis.com/full.type.name' as the type URL and the + unpack + + methods only use the fully qualified type name after the + last '/' + + in the type URL, for example "foo.bar.com/x/y.z" will yield + type + + name "y.z". + + + + JSON + + ==== + + The JSON representation of an `Any` value uses the regular + + representation of the deserialized, embedded message, with + an + + additional field `@type` which contains the type URL. + Example: + + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } + + If the embedded message type is well-known and has a custom + JSON + + representation, that representation will be embedded adding + a field + + `value` which holds the custom JSON in addition to the + `@type` + + field. Example (for message [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + parameters: + - name: proposal_id + description: proposal_id is the unique ID of a proposal. + in: path + required: true + type: string + format: uint64 + tags: + - Query + /cosmos/group/v1/proposals/{proposal_id}/tally: + get: + summary: >- + TallyResult returns the tally result of a proposal. If the proposal is + + still in voting period, then this query computes the current tally + state, + + which might not be final. On the other hand, if the proposal is final, + + then it simply returns the `final_tally_result` state stored in the + + proposal itself. + operationId: CosmosGroupV1TallyResult + responses: + '200': + description: A successful response. + schema: + type: object + properties: + tally: + description: tally defines the requested tally. + type: object + properties: + yes_count: + type: string + description: yes_count is the weighted sum of yes votes. + abstain_count: + type: string + description: abstain_count is the weighted sum of abstainers. + no_count: + type: string + description: no_count is the weighted sum of no votes. + no_with_veto_count: + type: string + description: no_with_veto_count is the weighted sum of veto. + description: QueryTallyResultResponse is the Query/TallyResult response type. + default: + description: An unexpected error response. + schema: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + '@type': + type: string + description: >- + A URL/resource name that uniquely identifies the type of + the serialized + + protocol buffer message. This string must contain at + least + + one "/" character. The last segment of the URL's path + must represent + + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name should be in + a canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the binary + all types that they + + expect it to use in the context of Any. However, for + URLs which use the + + scheme `http`, `https`, or no scheme, one can optionally + set up a type + + server that maps type URLs to message definitions as + follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based + on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available in + the official + + protobuf release, and it is not used for type URLs + beginning with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty scheme) + might be + + used with implementation specific semantics. + additionalProperties: {} + description: >- + `Any` contains an arbitrary serialized protocol buffer + message along with a + + URL that describes the type of the serialized message. + + + Protobuf library provides support to pack/unpack Any values + in the form + + of utility functions or additional generated methods of the + Any type. + + + Example 1: Pack and unpack a message in C++. + + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } + + Example 2: Pack and unpack a message in Java. + + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + + Example 3: Pack and unpack a message in Python. + + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + + Example 4: Pack and unpack a message in Go + + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } + + The pack methods provided by protobuf library will by + default use + + 'type.googleapis.com/full.type.name' as the type URL and the + unpack + + methods only use the fully qualified type name after the + last '/' + + in the type URL, for example "foo.bar.com/x/y.z" will yield + type + + name "y.z". + + + + JSON + + ==== + + The JSON representation of an `Any` value uses the regular + + representation of the deserialized, embedded message, with + an + + additional field `@type` which contains the type URL. + Example: + + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } + + If the embedded message type is well-known and has a custom + JSON + + representation, that representation will be embedded adding + a field + + `value` which holds the custom JSON in addition to the + `@type` + + field. Example (for message [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + parameters: + - name: proposal_id + description: proposal_id is the unique id of a proposal. + in: path + required: true + type: string + format: uint64 + tags: + - Query + /cosmos/group/v1/proposals_by_group_policy/{address}: + get: + summary: >- + ProposalsByGroupPolicy queries proposals based on account address of + group policy. + operationId: CosmosGroupV1ProposalsByGroupPolicy + responses: + '200': + description: A successful response. + schema: + type: object + properties: + proposals: + type: array + items: + type: object + properties: + id: + type: string + format: uint64 + description: id is the unique id of the proposal. + group_policy_address: + type: string + description: >- + group_policy_address is the account address of group + policy. + metadata: + type: string + description: >- + metadata is any arbitrary metadata to attached to the + proposal. + proposers: + type: array + items: + type: string + description: proposers are the account addresses of the proposers. + submit_time: + type: string + format: date-time + description: >- + submit_time is a timestamp specifying when a proposal + was submitted. + group_version: + type: string + format: uint64 + description: >- + group_version tracks the version of the group at + proposal submission. + + This field is here for informational purposes only. + group_policy_version: + type: string + format: uint64 + description: >- + group_policy_version tracks the version of the group + policy at proposal submission. + + When a decision policy is changed, existing proposals + from previous policy + + versions will become invalid with the `ABORTED` status. + + This field is here for informational purposes only. + status: + description: >- + status represents the high level position in the life + cycle of the proposal. Initial value is Submitted. + type: string + enum: + - PROPOSAL_STATUS_UNSPECIFIED + - PROPOSAL_STATUS_SUBMITTED + - PROPOSAL_STATUS_ACCEPTED + - PROPOSAL_STATUS_REJECTED + - PROPOSAL_STATUS_ABORTED + - PROPOSAL_STATUS_WITHDRAWN + default: PROPOSAL_STATUS_UNSPECIFIED + final_tally_result: + description: >- + final_tally_result contains the sums of all weighted + votes for this + + proposal for each vote option. It is empty at + submission, and only + + populated after tallying, at voting period end or at + proposal execution, + + whichever happens first. + type: object + properties: + yes_count: + type: string + description: yes_count is the weighted sum of yes votes. + abstain_count: + type: string + description: abstain_count is the weighted sum of abstainers. + no_count: + type: string + description: no_count is the weighted sum of no votes. + no_with_veto_count: + type: string + description: no_with_veto_count is the weighted sum of veto. + voting_period_end: + type: string + format: date-time + description: >- + voting_period_end is the timestamp before which voting + must be done. + + Unless a successfull MsgExec is called before (to + execute a proposal whose + + tally is successful before the voting period ends), + tallying will be done + + at this point, and the `final_tally_result`and `status` + fields will be + + accordingly updated. + executor_result: + description: >- + executor_result is the final result of the proposal + execution. Initial value is NotRun. + type: string + enum: + - PROPOSAL_EXECUTOR_RESULT_UNSPECIFIED + - PROPOSAL_EXECUTOR_RESULT_NOT_RUN + - PROPOSAL_EXECUTOR_RESULT_SUCCESS + - PROPOSAL_EXECUTOR_RESULT_FAILURE + default: PROPOSAL_EXECUTOR_RESULT_UNSPECIFIED + messages: + type: array + items: + type: object + properties: + '@type': + type: string + description: >- + A URL/resource name that uniquely identifies the + type of the serialized + + protocol buffer message. This string must contain + at least + + one "/" character. The last segment of the URL's + path must represent + + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name should + be in a canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the + binary all types that they + + expect it to use in the context of Any. However, + for URLs which use the + + scheme `http`, `https`, or no scheme, one can + optionally set up a type + + server that maps type URLs to message definitions + as follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results + based on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently + available in the official + + protobuf release, and it is not used for type URLs + beginning with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty + scheme) might be + + used with implementation specific semantics. + additionalProperties: {} + description: >- + `Any` contains an arbitrary serialized protocol buffer + message along with a + + URL that describes the type of the serialized message. + + + Protobuf library provides support to pack/unpack Any + values in the form + + of utility functions or additional generated methods + of the Any type. + + + Example 1: Pack and unpack a message in C++. + + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } + + Example 2: Pack and unpack a message in Java. + + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + + Example 3: Pack and unpack a message in Python. + + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + + Example 4: Pack and unpack a message in Go + + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } + + The pack methods provided by protobuf library will by + default use + + 'type.googleapis.com/full.type.name' as the type URL + and the unpack + + methods only use the fully qualified type name after + the last '/' + + in the type URL, for example "foo.bar.com/x/y.z" will + yield type + + name "y.z". + + + + JSON + + ==== + + The JSON representation of an `Any` value uses the + regular + + representation of the deserialized, embedded message, + with an + + additional field `@type` which contains the type URL. + Example: + + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } + + If the embedded message type is well-known and has a + custom JSON + + representation, that representation will be embedded + adding a field + + `value` which holds the custom JSON in addition to the + `@type` + + field. Example (for message + [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + description: >- + messages is a list of `sdk.Msg`s that will be executed + if the proposal passes. + description: >- + Proposal defines a group proposal. Any member of a group can + submit a proposal + + for a group policy to decide upon. + + A proposal consists of a set of `sdk.Msg`s that will be + executed if the proposal + + passes as well as some optional metadata associated with the + proposal. + description: proposals are the proposals with given group policy. + pagination: + description: pagination defines the pagination in the response. + type: object + properties: + next_key: + type: string + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + total: + type: string + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total + + was set, its value is undefined otherwise + description: >- + QueryProposalsByGroupPolicyResponse is the + Query/ProposalByGroupPolicy response type. + default: + description: An unexpected error response. + schema: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + '@type': + type: string + description: >- + A URL/resource name that uniquely identifies the type of + the serialized + + protocol buffer message. This string must contain at + least + + one "/" character. The last segment of the URL's path + must represent + + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name should be in + a canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the binary + all types that they + + expect it to use in the context of Any. However, for + URLs which use the + + scheme `http`, `https`, or no scheme, one can optionally + set up a type + + server that maps type URLs to message definitions as + follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based + on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available in + the official + + protobuf release, and it is not used for type URLs + beginning with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty scheme) + might be + + used with implementation specific semantics. + additionalProperties: {} + description: >- + `Any` contains an arbitrary serialized protocol buffer + message along with a + + URL that describes the type of the serialized message. + + + Protobuf library provides support to pack/unpack Any values + in the form + + of utility functions or additional generated methods of the + Any type. + + + Example 1: Pack and unpack a message in C++. + + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } + + Example 2: Pack and unpack a message in Java. + + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + + Example 3: Pack and unpack a message in Python. + + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + + Example 4: Pack and unpack a message in Go + + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } + + The pack methods provided by protobuf library will by + default use + + 'type.googleapis.com/full.type.name' as the type URL and the + unpack + + methods only use the fully qualified type name after the + last '/' + + in the type URL, for example "foo.bar.com/x/y.z" will yield + type + + name "y.z". + + + + JSON + + ==== + + The JSON representation of an `Any` value uses the regular + + representation of the deserialized, embedded message, with + an + + additional field `@type` which contains the type URL. + Example: + + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } + + If the embedded message type is well-known and has a custom + JSON + + representation, that representation will be embedded adding + a field + + `value` which holds the custom JSON in addition to the + `@type` + + field. Example (for message [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + parameters: + - name: address + description: >- + address is the account address of the group policy related to + proposals. + in: path + required: true + type: string + - name: pagination.key + description: |- + key is a value returned in PageResponse.next_key to begin + querying the next page most efficiently. Only one of offset or key + should be set. + in: query + required: false + type: string + format: byte + - name: pagination.offset + description: >- + offset is a numeric offset that can be used when key is unavailable. + + It is less efficient than using key. Only one of offset or key + should + + be set. + in: query + required: false + type: string + format: uint64 + - name: pagination.limit + description: >- + limit is the total number of results to be returned in the result + page. + + If left empty it will default to a value to be set by each app. + in: query + required: false + type: string + format: uint64 + - name: pagination.count_total + description: >- + count_total is set to true to indicate that the result set should + include + + a count of the total number of items available for pagination in + UIs. + + count_total is only respected when offset is used. It is ignored + when key + + is set. + in: query + required: false + type: boolean + - name: pagination.reverse + description: >- + reverse is set to true if results are to be returned in the + descending order. + + + Since: cosmos-sdk 0.43 + in: query + required: false + type: boolean + tags: + - Query + /cosmos/group/v1/vote_by_proposal_voter/{proposal_id}/{voter}: + get: + summary: VoteByProposalVoter queries a vote by proposal id and voter. + operationId: CosmosGroupV1VoteByProposalVoter + responses: + '200': + description: A successful response. + schema: + type: object + properties: + vote: + description: vote is the vote with given proposal_id and voter. + type: object + properties: + proposal_id: + type: string + format: uint64 + description: proposal is the unique ID of the proposal. + voter: + type: string + description: voter is the account address of the voter. + option: + description: option is the voter's choice on the proposal. + type: string + enum: + - VOTE_OPTION_UNSPECIFIED + - VOTE_OPTION_YES + - VOTE_OPTION_ABSTAIN + - VOTE_OPTION_NO + - VOTE_OPTION_NO_WITH_VETO + default: VOTE_OPTION_UNSPECIFIED + metadata: + type: string + description: >- + metadata is any arbitrary metadata to attached to the + vote. + submit_time: + type: string + format: date-time + description: submit_time is the timestamp when the vote was submitted. + description: >- + QueryVoteByProposalVoterResponse is the Query/VoteByProposalVoter + response type. + default: + description: An unexpected error response. + schema: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + '@type': + type: string + description: >- + A URL/resource name that uniquely identifies the type of + the serialized + + protocol buffer message. This string must contain at + least + + one "/" character. The last segment of the URL's path + must represent + + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name should be in + a canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the binary + all types that they + + expect it to use in the context of Any. However, for + URLs which use the + + scheme `http`, `https`, or no scheme, one can optionally + set up a type + + server that maps type URLs to message definitions as + follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based + on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available in + the official + + protobuf release, and it is not used for type URLs + beginning with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty scheme) + might be + + used with implementation specific semantics. + additionalProperties: {} + description: >- + `Any` contains an arbitrary serialized protocol buffer + message along with a + + URL that describes the type of the serialized message. + + + Protobuf library provides support to pack/unpack Any values + in the form + + of utility functions or additional generated methods of the + Any type. + + + Example 1: Pack and unpack a message in C++. + + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } + + Example 2: Pack and unpack a message in Java. + + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + + Example 3: Pack and unpack a message in Python. + + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + + Example 4: Pack and unpack a message in Go + + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } + + The pack methods provided by protobuf library will by + default use + + 'type.googleapis.com/full.type.name' as the type URL and the + unpack + + methods only use the fully qualified type name after the + last '/' + + in the type URL, for example "foo.bar.com/x/y.z" will yield + type + + name "y.z". + + + + JSON + + ==== + + The JSON representation of an `Any` value uses the regular + + representation of the deserialized, embedded message, with + an + + additional field `@type` which contains the type URL. + Example: + + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } + + If the embedded message type is well-known and has a custom + JSON + + representation, that representation will be embedded adding + a field + + `value` which holds the custom JSON in addition to the + `@type` + + field. Example (for message [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + parameters: + - name: proposal_id + description: proposal_id is the unique ID of a proposal. + in: path + required: true + type: string + format: uint64 + - name: voter + description: voter is a proposal voter account address. + in: path + required: true + type: string + tags: + - Query + /cosmos/group/v1/votes_by_proposal/{proposal_id}: + get: + summary: VotesByProposal queries a vote by proposal. + operationId: CosmosGroupV1VotesByProposal + responses: + '200': + description: A successful response. + schema: + type: object + properties: + votes: + type: array + items: + type: object + properties: + proposal_id: + type: string + format: uint64 + description: proposal is the unique ID of the proposal. + voter: + type: string + description: voter is the account address of the voter. + option: + description: option is the voter's choice on the proposal. + type: string + enum: + - VOTE_OPTION_UNSPECIFIED + - VOTE_OPTION_YES + - VOTE_OPTION_ABSTAIN + - VOTE_OPTION_NO + - VOTE_OPTION_NO_WITH_VETO + default: VOTE_OPTION_UNSPECIFIED + metadata: + type: string + description: >- + metadata is any arbitrary metadata to attached to the + vote. + submit_time: + type: string + format: date-time + description: >- + submit_time is the timestamp when the vote was + submitted. + description: Vote represents a vote for a proposal. + description: votes are the list of votes for given proposal_id. + pagination: + description: pagination defines the pagination in the response. + type: object + properties: + next_key: + type: string + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + total: + type: string + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total + + was set, its value is undefined otherwise + description: >- + QueryVotesByProposalResponse is the Query/VotesByProposal response + type. + default: + description: An unexpected error response. + schema: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + '@type': + type: string + description: >- + A URL/resource name that uniquely identifies the type of + the serialized + + protocol buffer message. This string must contain at + least + + one "/" character. The last segment of the URL's path + must represent + + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name should be in + a canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the binary + all types that they + + expect it to use in the context of Any. However, for + URLs which use the + + scheme `http`, `https`, or no scheme, one can optionally + set up a type + + server that maps type URLs to message definitions as + follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based + on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available in + the official + + protobuf release, and it is not used for type URLs + beginning with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty scheme) + might be + + used with implementation specific semantics. + additionalProperties: {} + description: >- + `Any` contains an arbitrary serialized protocol buffer + message along with a + + URL that describes the type of the serialized message. + + + Protobuf library provides support to pack/unpack Any values + in the form + + of utility functions or additional generated methods of the + Any type. + + + Example 1: Pack and unpack a message in C++. + + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } + + Example 2: Pack and unpack a message in Java. + + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + + Example 3: Pack and unpack a message in Python. + + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + + Example 4: Pack and unpack a message in Go + + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } + + The pack methods provided by protobuf library will by + default use + + 'type.googleapis.com/full.type.name' as the type URL and the + unpack + + methods only use the fully qualified type name after the + last '/' + + in the type URL, for example "foo.bar.com/x/y.z" will yield + type + + name "y.z". + + + + JSON + + ==== + + The JSON representation of an `Any` value uses the regular + + representation of the deserialized, embedded message, with + an + + additional field `@type` which contains the type URL. + Example: + + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } + + If the embedded message type is well-known and has a custom + JSON + + representation, that representation will be embedded adding + a field + + `value` which holds the custom JSON in addition to the + `@type` + + field. Example (for message [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + parameters: + - name: proposal_id + description: proposal_id is the unique ID of a proposal. + in: path + required: true + type: string + format: uint64 + - name: pagination.key + description: |- + key is a value returned in PageResponse.next_key to begin + querying the next page most efficiently. Only one of offset or key + should be set. + in: query + required: false + type: string + format: byte + - name: pagination.offset + description: >- + offset is a numeric offset that can be used when key is unavailable. + + It is less efficient than using key. Only one of offset or key + should + + be set. + in: query + required: false + type: string + format: uint64 + - name: pagination.limit + description: >- + limit is the total number of results to be returned in the result + page. + + If left empty it will default to a value to be set by each app. + in: query + required: false + type: string + format: uint64 + - name: pagination.count_total + description: >- + count_total is set to true to indicate that the result set should + include + + a count of the total number of items available for pagination in + UIs. + + count_total is only respected when offset is used. It is ignored + when key + + is set. + in: query + required: false + type: boolean + - name: pagination.reverse + description: >- + reverse is set to true if results are to be returned in the + descending order. + + + Since: cosmos-sdk 0.43 + in: query + required: false + type: boolean + tags: + - Query + /cosmos/group/v1/votes_by_voter/{voter}: + get: + summary: VotesByVoter queries a vote by voter. + operationId: CosmosGroupV1VotesByVoter + responses: + '200': + description: A successful response. + schema: + type: object + properties: + votes: + type: array + items: + type: object + properties: + proposal_id: + type: string + format: uint64 + description: proposal is the unique ID of the proposal. + voter: + type: string + description: voter is the account address of the voter. + option: + description: option is the voter's choice on the proposal. + type: string + enum: + - VOTE_OPTION_UNSPECIFIED + - VOTE_OPTION_YES + - VOTE_OPTION_ABSTAIN + - VOTE_OPTION_NO + - VOTE_OPTION_NO_WITH_VETO + default: VOTE_OPTION_UNSPECIFIED + metadata: + type: string + description: >- + metadata is any arbitrary metadata to attached to the + vote. + submit_time: + type: string + format: date-time + description: >- + submit_time is the timestamp when the vote was + submitted. + description: Vote represents a vote for a proposal. + description: votes are the list of votes by given voter. + pagination: + description: pagination defines the pagination in the response. + type: object + properties: + next_key: + type: string + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + total: + type: string + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total + + was set, its value is undefined otherwise + description: QueryVotesByVoterResponse is the Query/VotesByVoter response type. + default: + description: An unexpected error response. + schema: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + '@type': + type: string + description: >- + A URL/resource name that uniquely identifies the type of + the serialized + + protocol buffer message. This string must contain at + least + + one "/" character. The last segment of the URL's path + must represent + + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name should be in + a canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the binary + all types that they + + expect it to use in the context of Any. However, for + URLs which use the + + scheme `http`, `https`, or no scheme, one can optionally + set up a type + + server that maps type URLs to message definitions as + follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based + on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available in + the official + + protobuf release, and it is not used for type URLs + beginning with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty scheme) + might be + + used with implementation specific semantics. + additionalProperties: {} + description: >- + `Any` contains an arbitrary serialized protocol buffer + message along with a + + URL that describes the type of the serialized message. + + + Protobuf library provides support to pack/unpack Any values + in the form + + of utility functions or additional generated methods of the + Any type. + + + Example 1: Pack and unpack a message in C++. + + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } + + Example 2: Pack and unpack a message in Java. + + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + + Example 3: Pack and unpack a message in Python. + + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + + Example 4: Pack and unpack a message in Go + + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } + + The pack methods provided by protobuf library will by + default use + + 'type.googleapis.com/full.type.name' as the type URL and the + unpack + + methods only use the fully qualified type name after the + last '/' + + in the type URL, for example "foo.bar.com/x/y.z" will yield + type + + name "y.z". + + + + JSON + + ==== + + The JSON representation of an `Any` value uses the regular + + representation of the deserialized, embedded message, with + an + + additional field `@type` which contains the type URL. + Example: + + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } + + If the embedded message type is well-known and has a custom + JSON + + representation, that representation will be embedded adding + a field + + `value` which holds the custom JSON in addition to the + `@type` + + field. Example (for message [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + parameters: + - name: voter + description: voter is a proposal voter account address. + in: path + required: true + type: string + - name: pagination.key + description: |- + key is a value returned in PageResponse.next_key to begin + querying the next page most efficiently. Only one of offset or key + should be set. + in: query + required: false + type: string + format: byte + - name: pagination.offset + description: >- + offset is a numeric offset that can be used when key is unavailable. + + It is less efficient than using key. Only one of offset or key + should + + be set. + in: query + required: false + type: string + format: uint64 + - name: pagination.limit + description: >- + limit is the total number of results to be returned in the result + page. + + If left empty it will default to a value to be set by each app. + in: query + required: false + type: string + format: uint64 + - name: pagination.count_total + description: >- + count_total is set to true to indicate that the result set should + include + + a count of the total number of items available for pagination in + UIs. + + count_total is only respected when offset is used. It is ignored + when key + + is set. + in: query + required: false + type: boolean + - name: pagination.reverse + description: >- + reverse is set to true if results are to be returned in the + descending order. + + + Since: cosmos-sdk 0.43 + in: query + required: false + type: boolean + tags: + - Query + /cosmos/mint/v1beta1/annual_provisions: + get: + summary: AnnualProvisions current minting annual provisions value. + operationId: CosmosMintV1Beta1AnnualProvisions + responses: + '200': + description: A successful response. + schema: + type: object + properties: + annual_provisions: + type: string + format: byte + description: >- + annual_provisions is the current minting annual provisions + value. + description: |- + QueryAnnualProvisionsResponse is the response type for the + Query/AnnualProvisions RPC method. + default: + description: An unexpected error response. + schema: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + '@type': + type: string + additionalProperties: {} + tags: + - Query + /cosmos/mint/v1beta1/inflation: + get: + summary: Inflation returns the current minting inflation value. + operationId: CosmosMintV1Beta1Inflation + responses: + '200': + description: A successful response. + schema: + type: object + properties: + inflation: + type: string + format: byte + description: inflation is the current minting inflation value. + description: >- + QueryInflationResponse is the response type for the + Query/Inflation RPC + + method. + default: + description: An unexpected error response. + schema: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + '@type': + type: string + additionalProperties: {} + tags: + - Query + /cosmos/mint/v1beta1/params: + get: + summary: Params returns the total set of minting parameters. + operationId: CosmosMintV1Beta1Params + responses: + '200': + description: A successful response. + schema: + type: object + properties: + params: + description: params defines the parameters of the module. + type: object + properties: + mint_denom: + type: string + title: type of coin to mint + inflation_rate_change: + type: string + title: maximum annual change in inflation rate + inflation_max: + type: string + title: maximum inflation rate + inflation_min: + type: string + title: minimum inflation rate + goal_bonded: + type: string + title: goal of percent bonded atoms + blocks_per_year: + type: string + format: uint64 + title: expected blocks per year + description: >- + QueryParamsResponse is the response type for the Query/Params RPC + method. + default: + description: An unexpected error response. + schema: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + '@type': + type: string + additionalProperties: {} + tags: + - Query + /cosmos/nft/v1beta1/balance/{owner}/{class_id}: + get: + summary: >- + Balance queries the number of NFTs of a given class owned by the owner, + same as balanceOf in ERC721 + operationId: CosmosNftV1Beta1Balance + responses: + '200': + description: A successful response. + schema: + type: object + properties: + amount: + type: string + format: uint64 + title: >- + QueryBalanceResponse is the response type for the Query/Balance + RPC method + default: + description: An unexpected error response. + schema: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + '@type': + type: string + description: >- + A URL/resource name that uniquely identifies the type of + the serialized + + protocol buffer message. This string must contain at + least + + one "/" character. The last segment of the URL's path + must represent + + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name should be in + a canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the binary + all types that they + + expect it to use in the context of Any. However, for + URLs which use the + + scheme `http`, `https`, or no scheme, one can optionally + set up a type + + server that maps type URLs to message definitions as + follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based + on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available in + the official + + protobuf release, and it is not used for type URLs + beginning with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty scheme) + might be + + used with implementation specific semantics. + additionalProperties: {} + description: >- + `Any` contains an arbitrary serialized protocol buffer + message along with a + + URL that describes the type of the serialized message. + + + Protobuf library provides support to pack/unpack Any values + in the form + + of utility functions or additional generated methods of the + Any type. + + + Example 1: Pack and unpack a message in C++. + + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } + + Example 2: Pack and unpack a message in Java. + + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + + Example 3: Pack and unpack a message in Python. + + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + + Example 4: Pack and unpack a message in Go + + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } + + The pack methods provided by protobuf library will by + default use + + 'type.googleapis.com/full.type.name' as the type URL and the + unpack + + methods only use the fully qualified type name after the + last '/' + + in the type URL, for example "foo.bar.com/x/y.z" will yield + type + + name "y.z". + + + + JSON + + ==== + + The JSON representation of an `Any` value uses the regular + + representation of the deserialized, embedded message, with + an + + additional field `@type` which contains the type URL. + Example: + + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } + + If the embedded message type is well-known and has a custom + JSON + + representation, that representation will be embedded adding + a field + + `value` which holds the custom JSON in addition to the + `@type` + + field. Example (for message [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + parameters: + - name: owner + in: path + required: true + type: string + - name: class_id + in: path + required: true + type: string + tags: + - Query + /cosmos/nft/v1beta1/classes: + get: + summary: Classes queries all NFT classes + operationId: CosmosNftV1Beta1Classes + responses: + '200': + description: A successful response. + schema: + type: object + properties: + classes: + type: array + items: + type: object + properties: + id: + type: string + title: >- + id defines the unique identifier of the NFT + classification, similar to the contract address of + ERC721 + name: + type: string + title: >- + name defines the human-readable name of the NFT + classification. Optional + symbol: + type: string + title: >- + symbol is an abbreviated name for nft classification. + Optional + description: + type: string + title: >- + description is a brief description of nft + classification. Optional + uri: + type: string + title: >- + uri for the class metadata stored off chain. It can + define schema for Class and NFT `Data` attributes. + Optional + uri_hash: + type: string + title: >- + uri_hash is a hash of the document pointed by uri. + Optional + data: + title: >- + data is the app specific metadata of the NFT class. + Optional + type: object + properties: + '@type': + type: string + description: >- + A URL/resource name that uniquely identifies the + type of the serialized + + protocol buffer message. This string must contain at + least + + one "/" character. The last segment of the URL's + path must represent + + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name should be + in a canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the + binary all types that they + + expect it to use in the context of Any. However, for + URLs which use the + + scheme `http`, `https`, or no scheme, one can + optionally set up a type + + server that maps type URLs to message definitions as + follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results + based on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available + in the official + + protobuf release, and it is not used for type URLs + beginning with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty + scheme) might be + + used with implementation specific semantics. + additionalProperties: {} + description: >- + `Any` contains an arbitrary serialized protocol buffer + message along with a + + URL that describes the type of the serialized message. + + + Protobuf library provides support to pack/unpack Any + values in the form + + of utility functions or additional generated methods of + the Any type. + + + Example 1: Pack and unpack a message in C++. + + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } + + Example 2: Pack and unpack a message in Java. + + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + + Example 3: Pack and unpack a message in Python. + + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + + Example 4: Pack and unpack a message in Go + + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } + + The pack methods provided by protobuf library will by + default use + + 'type.googleapis.com/full.type.name' as the type URL and + the unpack + + methods only use the fully qualified type name after the + last '/' + + in the type URL, for example "foo.bar.com/x/y.z" will + yield type + + name "y.z". + + + + JSON + + ==== + + The JSON representation of an `Any` value uses the + regular + + representation of the deserialized, embedded message, + with an + + additional field `@type` which contains the type URL. + Example: + + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } + + If the embedded message type is well-known and has a + custom JSON + + representation, that representation will be embedded + adding a field + + `value` which holds the custom JSON in addition to the + `@type` + + field. Example (for message + [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + description: Class defines the class of the nft type. + pagination: + type: object + properties: + next_key: + type: string + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + total: + type: string + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total + + was set, its value is undefined otherwise + description: >- + PageResponse is to be embedded in gRPC response messages where + the + + corresponding request message has used PageRequest. + + message SomeResponse { + repeated Bar results = 1; + PageResponse page = 2; + } + title: >- + QueryClassesResponse is the response type for the Query/Classes + RPC method + default: + description: An unexpected error response. + schema: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + '@type': + type: string + description: >- + A URL/resource name that uniquely identifies the type of + the serialized + + protocol buffer message. This string must contain at + least + + one "/" character. The last segment of the URL's path + must represent + + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name should be in + a canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the binary + all types that they + + expect it to use in the context of Any. However, for + URLs which use the + + scheme `http`, `https`, or no scheme, one can optionally + set up a type + + server that maps type URLs to message definitions as + follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based + on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available in + the official + + protobuf release, and it is not used for type URLs + beginning with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty scheme) + might be + + used with implementation specific semantics. + additionalProperties: {} + description: >- + `Any` contains an arbitrary serialized protocol buffer + message along with a + + URL that describes the type of the serialized message. + + + Protobuf library provides support to pack/unpack Any values + in the form + + of utility functions or additional generated methods of the + Any type. + + + Example 1: Pack and unpack a message in C++. + + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } + + Example 2: Pack and unpack a message in Java. + + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + + Example 3: Pack and unpack a message in Python. + + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + + Example 4: Pack and unpack a message in Go + + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } + + The pack methods provided by protobuf library will by + default use + + 'type.googleapis.com/full.type.name' as the type URL and the + unpack + + methods only use the fully qualified type name after the + last '/' + + in the type URL, for example "foo.bar.com/x/y.z" will yield + type + + name "y.z". + + + + JSON + + ==== + + The JSON representation of an `Any` value uses the regular + + representation of the deserialized, embedded message, with + an + + additional field `@type` which contains the type URL. + Example: + + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } + + If the embedded message type is well-known and has a custom + JSON + + representation, that representation will be embedded adding + a field + + `value` which holds the custom JSON in addition to the + `@type` + + field. Example (for message [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + parameters: + - name: pagination.key + description: |- + key is a value returned in PageResponse.next_key to begin + querying the next page most efficiently. Only one of offset or key + should be set. + in: query + required: false + type: string + format: byte + - name: pagination.offset + description: >- + offset is a numeric offset that can be used when key is unavailable. + + It is less efficient than using key. Only one of offset or key + should + + be set. + in: query + required: false + type: string + format: uint64 + - name: pagination.limit + description: >- + limit is the total number of results to be returned in the result + page. + + If left empty it will default to a value to be set by each app. + in: query + required: false + type: string + format: uint64 + - name: pagination.count_total + description: >- + count_total is set to true to indicate that the result set should + include + + a count of the total number of items available for pagination in + UIs. + + count_total is only respected when offset is used. It is ignored + when key + + is set. + in: query + required: false + type: boolean + - name: pagination.reverse + description: >- + reverse is set to true if results are to be returned in the + descending order. + + + Since: cosmos-sdk 0.43 + in: query + required: false + type: boolean + tags: + - Query + /cosmos/nft/v1beta1/classes/{class_id}: + get: + summary: Class queries an NFT class based on its id + operationId: CosmosNftV1Beta1Class + responses: + '200': + description: A successful response. + schema: + type: object + properties: + class: + type: object + properties: + id: + type: string + title: >- + id defines the unique identifier of the NFT + classification, similar to the contract address of ERC721 + name: + type: string + title: >- + name defines the human-readable name of the NFT + classification. Optional + symbol: + type: string + title: >- + symbol is an abbreviated name for nft classification. + Optional + description: + type: string + title: >- + description is a brief description of nft classification. + Optional + uri: + type: string + title: >- + uri for the class metadata stored off chain. It can define + schema for Class and NFT `Data` attributes. Optional + uri_hash: + type: string + title: >- + uri_hash is a hash of the document pointed by uri. + Optional + data: + title: >- + data is the app specific metadata of the NFT class. + Optional + type: object + properties: + '@type': + type: string + description: >- + A URL/resource name that uniquely identifies the type + of the serialized + + protocol buffer message. This string must contain at + least + + one "/" character. The last segment of the URL's path + must represent + + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name should be + in a canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the binary + all types that they + + expect it to use in the context of Any. However, for + URLs which use the + + scheme `http`, `https`, or no scheme, one can + optionally set up a type + + server that maps type URLs to message definitions as + follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results + based on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available in + the official + + protobuf release, and it is not used for type URLs + beginning with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty + scheme) might be + + used with implementation specific semantics. + additionalProperties: {} + description: >- + `Any` contains an arbitrary serialized protocol buffer + message along with a + + URL that describes the type of the serialized message. + + + Protobuf library provides support to pack/unpack Any + values in the form + + of utility functions or additional generated methods of + the Any type. + + + Example 1: Pack and unpack a message in C++. + + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } + + Example 2: Pack and unpack a message in Java. + + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + + Example 3: Pack and unpack a message in Python. + + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + + Example 4: Pack and unpack a message in Go + + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } + + The pack methods provided by protobuf library will by + default use + + 'type.googleapis.com/full.type.name' as the type URL and + the unpack + + methods only use the fully qualified type name after the + last '/' + + in the type URL, for example "foo.bar.com/x/y.z" will + yield type + + name "y.z". + + + + JSON + + ==== + + The JSON representation of an `Any` value uses the regular + + representation of the deserialized, embedded message, with + an + + additional field `@type` which contains the type URL. + Example: + + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } + + If the embedded message type is well-known and has a + custom JSON + + representation, that representation will be embedded + adding a field + + `value` which holds the custom JSON in addition to the + `@type` + + field. Example (for message [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + description: Class defines the class of the nft type. + title: >- + QueryClassResponse is the response type for the Query/Class RPC + method + default: + description: An unexpected error response. + schema: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + '@type': + type: string + description: >- + A URL/resource name that uniquely identifies the type of + the serialized + + protocol buffer message. This string must contain at + least + + one "/" character. The last segment of the URL's path + must represent + + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name should be in + a canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the binary + all types that they + + expect it to use in the context of Any. However, for + URLs which use the + + scheme `http`, `https`, or no scheme, one can optionally + set up a type + + server that maps type URLs to message definitions as + follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based + on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available in + the official + + protobuf release, and it is not used for type URLs + beginning with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty scheme) + might be + + used with implementation specific semantics. + additionalProperties: {} + description: >- + `Any` contains an arbitrary serialized protocol buffer + message along with a + + URL that describes the type of the serialized message. + + + Protobuf library provides support to pack/unpack Any values + in the form + + of utility functions or additional generated methods of the + Any type. + + + Example 1: Pack and unpack a message in C++. + + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } + + Example 2: Pack and unpack a message in Java. + + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + + Example 3: Pack and unpack a message in Python. + + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + + Example 4: Pack and unpack a message in Go + + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } + + The pack methods provided by protobuf library will by + default use + + 'type.googleapis.com/full.type.name' as the type URL and the + unpack + + methods only use the fully qualified type name after the + last '/' + + in the type URL, for example "foo.bar.com/x/y.z" will yield + type + + name "y.z". + + + + JSON + + ==== + + The JSON representation of an `Any` value uses the regular + + representation of the deserialized, embedded message, with + an + + additional field `@type` which contains the type URL. + Example: + + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } + + If the embedded message type is well-known and has a custom + JSON + + representation, that representation will be embedded adding + a field + + `value` which holds the custom JSON in addition to the + `@type` + + field. Example (for message [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + parameters: + - name: class_id + in: path + required: true + type: string + tags: + - Query + /cosmos/nft/v1beta1/nfts: + get: + summary: >- + NFTs queries all NFTs of a given class or owner,choose at least one of + the two, similar to tokenByIndex in + + ERC721Enumerable + operationId: CosmosNftV1Beta1NFTs + responses: + '200': + description: A successful response. + schema: + type: object + properties: + nfts: + type: array + items: + type: object + properties: + class_id: + type: string + title: >- + class_id associated with the NFT, similar to the + contract address of ERC721 + id: + type: string + title: id is a unique identifier of the NFT + uri: + type: string + title: uri for the NFT metadata stored off chain + uri_hash: + type: string + title: uri_hash is a hash of the document pointed by uri + data: + title: data is an app specific data of the NFT. Optional + type: object + properties: + '@type': + type: string + description: >- + A URL/resource name that uniquely identifies the + type of the serialized + + protocol buffer message. This string must contain at + least + + one "/" character. The last segment of the URL's + path must represent + + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name should be + in a canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the + binary all types that they + + expect it to use in the context of Any. However, for + URLs which use the + + scheme `http`, `https`, or no scheme, one can + optionally set up a type + + server that maps type URLs to message definitions as + follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results + based on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available + in the official + + protobuf release, and it is not used for type URLs + beginning with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty + scheme) might be + + used with implementation specific semantics. + additionalProperties: {} + description: >- + `Any` contains an arbitrary serialized protocol buffer + message along with a + + URL that describes the type of the serialized message. + + + Protobuf library provides support to pack/unpack Any + values in the form + + of utility functions or additional generated methods of + the Any type. + + + Example 1: Pack and unpack a message in C++. + + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } + + Example 2: Pack and unpack a message in Java. + + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + + Example 3: Pack and unpack a message in Python. + + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + + Example 4: Pack and unpack a message in Go + + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } + + The pack methods provided by protobuf library will by + default use + + 'type.googleapis.com/full.type.name' as the type URL and + the unpack + + methods only use the fully qualified type name after the + last '/' + + in the type URL, for example "foo.bar.com/x/y.z" will + yield type + + name "y.z". + + + + JSON + + ==== + + The JSON representation of an `Any` value uses the + regular + + representation of the deserialized, embedded message, + with an + + additional field `@type` which contains the type URL. + Example: + + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } + + If the embedded message type is well-known and has a + custom JSON + + representation, that representation will be embedded + adding a field + + `value` which holds the custom JSON in addition to the + `@type` + + field. Example (for message + [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + description: NFT defines the NFT. + pagination: + type: object + properties: + next_key: + type: string + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + total: + type: string + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total + + was set, its value is undefined otherwise + description: >- + PageResponse is to be embedded in gRPC response messages where + the + + corresponding request message has used PageRequest. + + message SomeResponse { + repeated Bar results = 1; + PageResponse page = 2; + } + title: >- + QueryNFTsResponse is the response type for the Query/NFTs RPC + methods + default: + description: An unexpected error response. + schema: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + '@type': + type: string + description: >- + A URL/resource name that uniquely identifies the type of + the serialized + + protocol buffer message. This string must contain at + least + + one "/" character. The last segment of the URL's path + must represent + + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name should be in + a canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the binary + all types that they + + expect it to use in the context of Any. However, for + URLs which use the + + scheme `http`, `https`, or no scheme, one can optionally + set up a type + + server that maps type URLs to message definitions as + follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based + on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available in + the official + + protobuf release, and it is not used for type URLs + beginning with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty scheme) + might be + + used with implementation specific semantics. + additionalProperties: {} + description: >- + `Any` contains an arbitrary serialized protocol buffer + message along with a + + URL that describes the type of the serialized message. + + + Protobuf library provides support to pack/unpack Any values + in the form + + of utility functions or additional generated methods of the + Any type. + + + Example 1: Pack and unpack a message in C++. + + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } + + Example 2: Pack and unpack a message in Java. + + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + + Example 3: Pack and unpack a message in Python. + + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + + Example 4: Pack and unpack a message in Go + + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } + + The pack methods provided by protobuf library will by + default use + + 'type.googleapis.com/full.type.name' as the type URL and the + unpack + + methods only use the fully qualified type name after the + last '/' + + in the type URL, for example "foo.bar.com/x/y.z" will yield + type + + name "y.z". + + + + JSON + + ==== + + The JSON representation of an `Any` value uses the regular + + representation of the deserialized, embedded message, with + an + + additional field `@type` which contains the type URL. + Example: + + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } + + If the embedded message type is well-known and has a custom + JSON + + representation, that representation will be embedded adding + a field + + `value` which holds the custom JSON in addition to the + `@type` + + field. Example (for message [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + parameters: + - name: class_id + in: query + required: false + type: string + - name: owner + in: query + required: false + type: string + - name: pagination.key + description: |- + key is a value returned in PageResponse.next_key to begin + querying the next page most efficiently. Only one of offset or key + should be set. + in: query + required: false + type: string + format: byte + - name: pagination.offset + description: >- + offset is a numeric offset that can be used when key is unavailable. + + It is less efficient than using key. Only one of offset or key + should + + be set. + in: query + required: false + type: string + format: uint64 + - name: pagination.limit + description: >- + limit is the total number of results to be returned in the result + page. + + If left empty it will default to a value to be set by each app. + in: query + required: false + type: string + format: uint64 + - name: pagination.count_total + description: >- + count_total is set to true to indicate that the result set should + include + + a count of the total number of items available for pagination in + UIs. + + count_total is only respected when offset is used. It is ignored + when key + + is set. + in: query + required: false + type: boolean + - name: pagination.reverse + description: >- + reverse is set to true if results are to be returned in the + descending order. + + + Since: cosmos-sdk 0.43 + in: query + required: false + type: boolean + tags: + - Query + /cosmos/nft/v1beta1/nfts/{class_id}/{id}: + get: + summary: NFT queries an NFT based on its class and id. + operationId: CosmosNftV1Beta1NFT + responses: + '200': + description: A successful response. + schema: + type: object + properties: + nft: + type: object + properties: + class_id: + type: string + title: >- + class_id associated with the NFT, similar to the contract + address of ERC721 + id: + type: string + title: id is a unique identifier of the NFT + uri: + type: string + title: uri for the NFT metadata stored off chain + uri_hash: + type: string + title: uri_hash is a hash of the document pointed by uri + data: + title: data is an app specific data of the NFT. Optional + type: object + properties: + '@type': + type: string + description: >- + A URL/resource name that uniquely identifies the type + of the serialized + + protocol buffer message. This string must contain at + least + + one "/" character. The last segment of the URL's path + must represent + + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name should be + in a canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the binary + all types that they + + expect it to use in the context of Any. However, for + URLs which use the + + scheme `http`, `https`, or no scheme, one can + optionally set up a type + + server that maps type URLs to message definitions as + follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results + based on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available in + the official + + protobuf release, and it is not used for type URLs + beginning with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty + scheme) might be + + used with implementation specific semantics. + additionalProperties: {} + description: >- + `Any` contains an arbitrary serialized protocol buffer + message along with a + + URL that describes the type of the serialized message. + + + Protobuf library provides support to pack/unpack Any + values in the form + + of utility functions or additional generated methods of + the Any type. + + + Example 1: Pack and unpack a message in C++. + + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } + + Example 2: Pack and unpack a message in Java. + + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + + Example 3: Pack and unpack a message in Python. + + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + + Example 4: Pack and unpack a message in Go + + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } + + The pack methods provided by protobuf library will by + default use + + 'type.googleapis.com/full.type.name' as the type URL and + the unpack + + methods only use the fully qualified type name after the + last '/' + + in the type URL, for example "foo.bar.com/x/y.z" will + yield type + + name "y.z". + + + + JSON + + ==== + + The JSON representation of an `Any` value uses the regular + + representation of the deserialized, embedded message, with + an + + additional field `@type` which contains the type URL. + Example: + + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } + + If the embedded message type is well-known and has a + custom JSON + + representation, that representation will be embedded + adding a field + + `value` which holds the custom JSON in addition to the + `@type` + + field. Example (for message [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + description: NFT defines the NFT. + title: QueryNFTResponse is the response type for the Query/NFT RPC method + default: + description: An unexpected error response. + schema: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + '@type': + type: string + description: >- + A URL/resource name that uniquely identifies the type of + the serialized + + protocol buffer message. This string must contain at + least + + one "/" character. The last segment of the URL's path + must represent + + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name should be in + a canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the binary + all types that they + + expect it to use in the context of Any. However, for + URLs which use the + + scheme `http`, `https`, or no scheme, one can optionally + set up a type + + server that maps type URLs to message definitions as + follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based + on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available in + the official + + protobuf release, and it is not used for type URLs + beginning with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty scheme) + might be + + used with implementation specific semantics. + additionalProperties: {} + description: >- + `Any` contains an arbitrary serialized protocol buffer + message along with a + + URL that describes the type of the serialized message. + + + Protobuf library provides support to pack/unpack Any values + in the form + + of utility functions or additional generated methods of the + Any type. + + + Example 1: Pack and unpack a message in C++. + + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } + + Example 2: Pack and unpack a message in Java. + + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + + Example 3: Pack and unpack a message in Python. + + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + + Example 4: Pack and unpack a message in Go + + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } + + The pack methods provided by protobuf library will by + default use + + 'type.googleapis.com/full.type.name' as the type URL and the + unpack + + methods only use the fully qualified type name after the + last '/' + + in the type URL, for example "foo.bar.com/x/y.z" will yield + type + + name "y.z". + + + + JSON + + ==== + + The JSON representation of an `Any` value uses the regular + + representation of the deserialized, embedded message, with + an + + additional field `@type` which contains the type URL. + Example: + + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } + + If the embedded message type is well-known and has a custom + JSON + + representation, that representation will be embedded adding + a field + + `value` which holds the custom JSON in addition to the + `@type` + + field. Example (for message [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + parameters: + - name: class_id + in: path + required: true + type: string + - name: id + in: path + required: true + type: string + tags: + - Query + /cosmos/nft/v1beta1/owner/{class_id}/{id}: + get: + summary: >- + Owner queries the owner of the NFT based on its class and id, same as + ownerOf in ERC721 + operationId: CosmosNftV1Beta1Owner + responses: + '200': + description: A successful response. + schema: + type: object + properties: + owner: + type: string + title: >- + QueryOwnerResponse is the response type for the Query/Owner RPC + method + default: + description: An unexpected error response. + schema: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + '@type': + type: string + description: >- + A URL/resource name that uniquely identifies the type of + the serialized + + protocol buffer message. This string must contain at + least + + one "/" character. The last segment of the URL's path + must represent + + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name should be in + a canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the binary + all types that they + + expect it to use in the context of Any. However, for + URLs which use the + + scheme `http`, `https`, or no scheme, one can optionally + set up a type + + server that maps type URLs to message definitions as + follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based + on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available in + the official + + protobuf release, and it is not used for type URLs + beginning with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty scheme) + might be + + used with implementation specific semantics. + additionalProperties: {} + description: >- + `Any` contains an arbitrary serialized protocol buffer + message along with a + + URL that describes the type of the serialized message. + + + Protobuf library provides support to pack/unpack Any values + in the form + + of utility functions or additional generated methods of the + Any type. + + + Example 1: Pack and unpack a message in C++. + + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } + + Example 2: Pack and unpack a message in Java. + + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + + Example 3: Pack and unpack a message in Python. + + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + + Example 4: Pack and unpack a message in Go + + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } + + The pack methods provided by protobuf library will by + default use + + 'type.googleapis.com/full.type.name' as the type URL and the + unpack + + methods only use the fully qualified type name after the + last '/' + + in the type URL, for example "foo.bar.com/x/y.z" will yield + type + + name "y.z". + + + + JSON + + ==== + + The JSON representation of an `Any` value uses the regular + + representation of the deserialized, embedded message, with + an + + additional field `@type` which contains the type URL. + Example: + + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } + + If the embedded message type is well-known and has a custom + JSON + + representation, that representation will be embedded adding + a field + + `value` which holds the custom JSON in addition to the + `@type` + + field. Example (for message [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + parameters: + - name: class_id + in: path + required: true + type: string + - name: id + in: path + required: true + type: string + tags: + - Query + /cosmos/nft/v1beta1/supply/{class_id}: + get: + summary: >- + Supply queries the number of NFTs from the given class, same as + totalSupply of ERC721. + operationId: CosmosNftV1Beta1Supply + responses: + '200': + description: A successful response. + schema: + type: object + properties: + amount: + type: string + format: uint64 + title: >- + QuerySupplyResponse is the response type for the Query/Supply RPC + method + default: + description: An unexpected error response. + schema: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + '@type': + type: string + description: >- + A URL/resource name that uniquely identifies the type of + the serialized + + protocol buffer message. This string must contain at + least + + one "/" character. The last segment of the URL's path + must represent + + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name should be in + a canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the binary + all types that they + + expect it to use in the context of Any. However, for + URLs which use the + + scheme `http`, `https`, or no scheme, one can optionally + set up a type + + server that maps type URLs to message definitions as + follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based + on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available in + the official + + protobuf release, and it is not used for type URLs + beginning with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty scheme) + might be + + used with implementation specific semantics. + additionalProperties: {} + description: >- + `Any` contains an arbitrary serialized protocol buffer + message along with a + + URL that describes the type of the serialized message. + + + Protobuf library provides support to pack/unpack Any values + in the form + + of utility functions or additional generated methods of the + Any type. + + + Example 1: Pack and unpack a message in C++. + + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } + + Example 2: Pack and unpack a message in Java. + + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + + Example 3: Pack and unpack a message in Python. + + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + + Example 4: Pack and unpack a message in Go + + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } + + The pack methods provided by protobuf library will by + default use + + 'type.googleapis.com/full.type.name' as the type URL and the + unpack + + methods only use the fully qualified type name after the + last '/' + + in the type URL, for example "foo.bar.com/x/y.z" will yield + type + + name "y.z". + + + + JSON + + ==== + + The JSON representation of an `Any` value uses the regular + + representation of the deserialized, embedded message, with + an + + additional field `@type` which contains the type URL. + Example: + + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } + + If the embedded message type is well-known and has a custom + JSON + + representation, that representation will be embedded adding + a field + + `value` which holds the custom JSON in addition to the + `@type` + + field. Example (for message [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + parameters: + - name: class_id + in: path + required: true + type: string + tags: + - Query + /cosmos/params/v1beta1/params: + get: + summary: |- + Params queries a specific parameter of a module, given its subspace and + key. + operationId: CosmosParamsV1Beta1Params + responses: + '200': + description: A successful response. + schema: + type: object + properties: + param: + description: param defines the queried parameter. + type: object + properties: + subspace: + type: string + key: + type: string + value: + type: string + description: >- + QueryParamsResponse is response type for the Query/Params RPC + method. + default: + description: An unexpected error response. + schema: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + '@type': + type: string + additionalProperties: {} + parameters: + - name: subspace + description: subspace defines the module to query the parameter for. + in: query + required: false + type: string + - name: key + description: key defines the key of the parameter in the subspace. + in: query + required: false + type: string + tags: + - Query + /cosmos/params/v1beta1/subspaces: + get: + summary: >- + Subspaces queries for all registered subspaces and all keys for a + subspace. + description: 'Since: cosmos-sdk 0.46' + operationId: CosmosParamsV1Beta1Subspaces + responses: + '200': + description: A successful response. + schema: + type: object + properties: + subspaces: + type: array + items: + type: object + properties: + subspace: + type: string + keys: + type: array + items: + type: string + description: >- + Subspace defines a parameter subspace name and all the keys + that exist for + + the subspace. + + + Since: cosmos-sdk 0.46 + description: >- + QuerySubspacesResponse defines the response types for querying for + all + + registered subspaces and all keys for a subspace. + + + Since: cosmos-sdk 0.46 + default: + description: An unexpected error response. + schema: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + '@type': + type: string + additionalProperties: {} + tags: + - Query + /cosmos/slashing/v1beta1/params: + get: + summary: Params queries the parameters of slashing module + operationId: CosmosSlashingV1Beta1Params + responses: + '200': + description: A successful response. + schema: + type: object + properties: + params: + type: object + properties: + signed_blocks_window: + type: string + format: int64 + min_signed_per_window: + type: string + format: byte + downtime_jail_duration: + type: string + slash_fraction_double_sign: + type: string + format: byte + slash_fraction_downtime: + type: string + format: byte + description: >- + Params represents the parameters used for by the slashing + module. + title: >- + QueryParamsResponse is the response type for the Query/Params RPC + method + default: + description: An unexpected error response. + schema: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + '@type': + type: string + additionalProperties: {} + tags: + - Query + /cosmos/slashing/v1beta1/signing_infos: + get: + summary: SigningInfos queries signing info of all validators + operationId: CosmosSlashingV1Beta1SigningInfos + responses: + '200': + description: A successful response. + schema: + type: object + properties: + info: + type: array + items: + type: object + properties: + address: + type: string + start_height: + type: string + format: int64 + title: >- + Height at which validator was first a candidate OR was + unjailed + index_offset: + type: string + format: int64 + description: >- + Index which is incremented each time the validator was a + bonded + + in a block and may have signed a precommit or not. This + in conjunction with the + + `SignedBlocksWindow` param determines the index in the + `MissedBlocksBitArray`. + jailed_until: + type: string + format: date-time + description: >- + Timestamp until which the validator is jailed due to + liveness downtime. + tombstoned: + type: boolean + description: >- + Whether or not a validator has been tombstoned (killed + out of validator set). It is set + + once the validator commits an equivocation or for any + other configured misbehiavor. + missed_blocks_counter: + type: string + format: int64 + description: >- + A counter kept to avoid unnecessary array reads. + + Note that `Sum(MissedBlocksBitArray)` always equals + `MissedBlocksCounter`. + description: >- + ValidatorSigningInfo defines a validator's signing info for + monitoring their + + liveness activity. + title: info is the signing info of all validators + pagination: + type: object + properties: + next_key: + type: string + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + total: + type: string + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total + + was set, its value is undefined otherwise + description: >- + PageResponse is to be embedded in gRPC response messages where + the + + corresponding request message has used PageRequest. + + message SomeResponse { + repeated Bar results = 1; + PageResponse page = 2; + } + title: >- + QuerySigningInfosResponse is the response type for the + Query/SigningInfos RPC + + method + default: + description: An unexpected error response. + schema: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + '@type': + type: string + additionalProperties: {} + parameters: + - name: pagination.key + description: |- + key is a value returned in PageResponse.next_key to begin + querying the next page most efficiently. Only one of offset or key + should be set. + in: query + required: false + type: string + format: byte + - name: pagination.offset + description: >- + offset is a numeric offset that can be used when key is unavailable. + + It is less efficient than using key. Only one of offset or key + should + + be set. + in: query + required: false + type: string + format: uint64 + - name: pagination.limit + description: >- + limit is the total number of results to be returned in the result + page. + + If left empty it will default to a value to be set by each app. + in: query + required: false + type: string + format: uint64 + - name: pagination.count_total + description: >- + count_total is set to true to indicate that the result set should + include + + a count of the total number of items available for pagination in + UIs. + + count_total is only respected when offset is used. It is ignored + when key + + is set. + in: query + required: false + type: boolean + - name: pagination.reverse + description: >- + reverse is set to true if results are to be returned in the + descending order. + + + Since: cosmos-sdk 0.43 + in: query + required: false + type: boolean + tags: + - Query + /cosmos/slashing/v1beta1/signing_infos/{cons_address}: + get: + summary: SigningInfo queries the signing info of given cons address + operationId: CosmosSlashingV1Beta1SigningInfo + responses: + '200': + description: A successful response. + schema: + type: object + properties: + val_signing_info: + title: >- + val_signing_info is the signing info of requested val cons + address + type: object + properties: + address: + type: string + start_height: + type: string + format: int64 + title: >- + Height at which validator was first a candidate OR was + unjailed + index_offset: + type: string + format: int64 + description: >- + Index which is incremented each time the validator was a + bonded + + in a block and may have signed a precommit or not. This in + conjunction with the + + `SignedBlocksWindow` param determines the index in the + `MissedBlocksBitArray`. + jailed_until: + type: string + format: date-time + description: >- + Timestamp until which the validator is jailed due to + liveness downtime. + tombstoned: + type: boolean + description: >- + Whether or not a validator has been tombstoned (killed out + of validator set). It is set + + once the validator commits an equivocation or for any + other configured misbehiavor. + missed_blocks_counter: + type: string + format: int64 + description: >- + A counter kept to avoid unnecessary array reads. + + Note that `Sum(MissedBlocksBitArray)` always equals + `MissedBlocksCounter`. + description: >- + ValidatorSigningInfo defines a validator's signing info for + monitoring their + + liveness activity. + title: >- + QuerySigningInfoResponse is the response type for the + Query/SigningInfo RPC + + method + default: + description: An unexpected error response. + schema: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + '@type': + type: string + additionalProperties: {} + parameters: + - name: cons_address + description: cons_address is the address to query signing info of + in: path + required: true + type: string + tags: + - Query + /cosmos/staking/v1beta1/delegations/{delegator_addr}: + get: + summary: >- + DelegatorDelegations queries all delegations of a given delegator + address. + operationId: CosmosStakingV1Beta1DelegatorDelegations + responses: + '200': + description: A successful response. + schema: + type: object + properties: + delegation_responses: + type: array + items: + type: object + properties: + delegation: + type: object + properties: + delegator_address: + type: string + description: >- + delegator_address is the bech32-encoded address of + the delegator. + validator_address: + type: string + description: >- + validator_address is the bech32-encoded address of + the validator. + shares: + type: string + description: shares define the delegation shares received. + description: >- + Delegation represents the bond with tokens held by an + account. It is + + owned by one delegator, and is associated with the + voting power of one + + validator. + balance: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. + + + NOTE: The amount field is an Int which implements the + custom method + + signatures required by gogoproto. + description: >- + DelegationResponse is equivalent to Delegation except that + it contains a + + balance in addition to shares which is more suitable for + client responses. + description: >- + delegation_responses defines all the delegations' info of a + delegator. + pagination: + description: pagination defines the pagination in the response. + type: object + properties: + next_key: + type: string + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + total: + type: string + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total + + was set, its value is undefined otherwise + description: |- + QueryDelegatorDelegationsResponse is response type for the + Query/DelegatorDelegations RPC method. + default: + description: An unexpected error response. + schema: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + '@type': + type: string + description: >- + A URL/resource name that uniquely identifies the type of + the serialized + + protocol buffer message. This string must contain at + least + + one "/" character. The last segment of the URL's path + must represent + + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name should be in + a canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the binary + all types that they + + expect it to use in the context of Any. However, for + URLs which use the + + scheme `http`, `https`, or no scheme, one can optionally + set up a type + + server that maps type URLs to message definitions as + follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based + on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available in + the official + + protobuf release, and it is not used for type URLs + beginning with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty scheme) + might be + + used with implementation specific semantics. + additionalProperties: {} + description: >- + `Any` contains an arbitrary serialized protocol buffer + message along with a + + URL that describes the type of the serialized message. + + + Protobuf library provides support to pack/unpack Any values + in the form + + of utility functions or additional generated methods of the + Any type. + + + Example 1: Pack and unpack a message in C++. + + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } + + Example 2: Pack and unpack a message in Java. + + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + + Example 3: Pack and unpack a message in Python. + + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + + Example 4: Pack and unpack a message in Go + + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } + + The pack methods provided by protobuf library will by + default use + + 'type.googleapis.com/full.type.name' as the type URL and the + unpack + + methods only use the fully qualified type name after the + last '/' + + in the type URL, for example "foo.bar.com/x/y.z" will yield + type + + name "y.z". + + + + JSON + + ==== + + The JSON representation of an `Any` value uses the regular + + representation of the deserialized, embedded message, with + an + + additional field `@type` which contains the type URL. + Example: + + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } + + If the embedded message type is well-known and has a custom + JSON + + representation, that representation will be embedded adding + a field + + `value` which holds the custom JSON in addition to the + `@type` + + field. Example (for message [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + parameters: + - name: delegator_addr + description: delegator_addr defines the delegator address to query for. + in: path required: true type: string + - name: pagination.key + description: |- + key is a value returned in PageResponse.next_key to begin + querying the next page most efficiently. Only one of offset or key + should be set. + in: query + required: false + type: string + format: byte + - name: pagination.offset + description: >- + offset is a numeric offset that can be used when key is unavailable. + + It is less efficient than using key. Only one of offset or key + should + + be set. + in: query + required: false + type: string + format: uint64 + - name: pagination.limit + description: >- + limit is the total number of results to be returned in the result + page. + + If left empty it will default to a value to be set by each app. + in: query + required: false + type: string + format: uint64 + - name: pagination.count_total + description: >- + count_total is set to true to indicate that the result set should + include + + a count of the total number of items available for pagination in + UIs. + + count_total is only respected when offset is used. It is ignored + when key + + is set. + in: query + required: false + type: boolean + - name: pagination.reverse + description: >- + reverse is set to true if results are to be returned in the + descending order. + + + Since: cosmos-sdk 0.43 + in: query + required: false + type: boolean tags: - Query - /cosmos/distribution/v1beta1/delegators/{delegator_address}/rewards/{validator_address}: + /cosmos/staking/v1beta1/delegators/{delegator_addr}/redelegations: get: - summary: DelegationRewards queries the total rewards accrued by a delegation. - operationId: CosmosDistributionV1Beta1DelegationRewards + summary: Redelegations queries redelegations of given address. + operationId: CosmosStakingV1Beta1Redelegations responses: '200': description: A successful response. schema: type: object properties: - rewards: + redelegation_responses: type: array items: type: object properties: - denom: - type: string - amount: - type: string + redelegation: + type: object + properties: + delegator_address: + type: string + description: >- + delegator_address is the bech32-encoded address of + the delegator. + validator_src_address: + type: string + description: >- + validator_src_address is the validator redelegation + source operator address. + validator_dst_address: + type: string + description: >- + validator_dst_address is the validator redelegation + destination operator address. + entries: + type: array + items: + type: object + properties: + creation_height: + type: string + format: int64 + description: >- + creation_height defines the height which the + redelegation took place. + completion_time: + type: string + format: date-time + description: >- + completion_time defines the unix time for + redelegation completion. + initial_balance: + type: string + description: >- + initial_balance defines the initial balance + when redelegation started. + shares_dst: + type: string + description: >- + shares_dst is the amount of + destination-validator shares created by + redelegation. + description: >- + RedelegationEntry defines a redelegation object + with relevant metadata. + description: |- + entries are the redelegation entries. + + redelegation entries + description: >- + Redelegation contains the list of a particular + delegator's redelegating bonds + + from a particular source validator to a particular + destination validator. + entries: + type: array + items: + type: object + properties: + redelegation_entry: + type: object + properties: + creation_height: + type: string + format: int64 + description: >- + creation_height defines the height which the + redelegation took place. + completion_time: + type: string + format: date-time + description: >- + completion_time defines the unix time for + redelegation completion. + initial_balance: + type: string + description: >- + initial_balance defines the initial balance + when redelegation started. + shares_dst: + type: string + description: >- + shares_dst is the amount of + destination-validator shares created by + redelegation. + description: >- + RedelegationEntry defines a redelegation object + with relevant metadata. + balance: + type: string + description: >- + RedelegationEntryResponse is equivalent to a + RedelegationEntry except that it + + contains a balance in addition to shares which is more + suitable for client + + responses. description: >- - DecCoin defines a token with a denomination and a decimal - amount. + RedelegationResponse is equivalent to a Redelegation except + that its entries + contain a balance in addition to shares which is more + suitable for client - NOTE: The amount field is an Dec which implements the custom - method + responses. + pagination: + description: pagination defines the pagination in the response. + type: object + properties: + next_key: + type: string + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + total: + type: string + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total - signatures required by gogoproto. - description: rewards defines the rewards accrued by a delegation. - description: |- - QueryDelegationRewardsResponse is the response type for the - Query/DelegationRewards RPC method. + was set, its value is undefined otherwise + description: >- + QueryRedelegationsResponse is response type for the + Query/Redelegations RPC + + method. default: description: An unexpected error response. schema: @@ -5378,82 +25549,340 @@ paths: properties: '@type': type: string + description: >- + A URL/resource name that uniquely identifies the type of + the serialized + + protocol buffer message. This string must contain at + least + + one "/" character. The last segment of the URL's path + must represent + + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name should be in + a canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the binary + all types that they + + expect it to use in the context of Any. However, for + URLs which use the + + scheme `http`, `https`, or no scheme, one can optionally + set up a type + + server that maps type URLs to message definitions as + follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based + on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available in + the official + + protobuf release, and it is not used for type URLs + beginning with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty scheme) + might be + + used with implementation specific semantics. additionalProperties: {} + description: >- + `Any` contains an arbitrary serialized protocol buffer + message along with a + + URL that describes the type of the serialized message. + + + Protobuf library provides support to pack/unpack Any values + in the form + + of utility functions or additional generated methods of the + Any type. + + + Example 1: Pack and unpack a message in C++. + + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } + + Example 2: Pack and unpack a message in Java. + + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + + Example 3: Pack and unpack a message in Python. + + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + + Example 4: Pack and unpack a message in Go + + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } + + The pack methods provided by protobuf library will by + default use + + 'type.googleapis.com/full.type.name' as the type URL and the + unpack + + methods only use the fully qualified type name after the + last '/' + + in the type URL, for example "foo.bar.com/x/y.z" will yield + type + + name "y.z". + + + + JSON + + ==== + + The JSON representation of an `Any` value uses the regular + + representation of the deserialized, embedded message, with + an + + additional field `@type` which contains the type URL. + Example: + + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } + + If the embedded message type is well-known and has a custom + JSON + + representation, that representation will be embedded adding + a field + + `value` which holds the custom JSON in addition to the + `@type` + + field. Example (for message [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } parameters: - - name: delegator_address - description: delegator_address defines the delegator address to query for. + - name: delegator_addr + description: delegator_addr defines the delegator address to query for. in: path required: true type: string - - name: validator_address - description: validator_address defines the validator address to query for. - in: path - required: true + - name: src_validator_addr + description: src_validator_addr defines the validator address to redelegate from. + in: query + required: false + type: string + - name: dst_validator_addr + description: dst_validator_addr defines the validator address to redelegate to. + in: query + required: false + type: string + - name: pagination.key + description: |- + key is a value returned in PageResponse.next_key to begin + querying the next page most efficiently. Only one of offset or key + should be set. + in: query + required: false + type: string + format: byte + - name: pagination.offset + description: >- + offset is a numeric offset that can be used when key is unavailable. + + It is less efficient than using key. Only one of offset or key + should + + be set. + in: query + required: false + type: string + format: uint64 + - name: pagination.limit + description: >- + limit is the total number of results to be returned in the result + page. + + If left empty it will default to a value to be set by each app. + in: query + required: false type: string + format: uint64 + - name: pagination.count_total + description: >- + count_total is set to true to indicate that the result set should + include + + a count of the total number of items available for pagination in + UIs. + + count_total is only respected when offset is used. It is ignored + when key + + is set. + in: query + required: false + type: boolean + - name: pagination.reverse + description: >- + reverse is set to true if results are to be returned in the + descending order. + + + Since: cosmos-sdk 0.43 + in: query + required: false + type: boolean tags: - Query - /cosmos/distribution/v1beta1/delegators/{delegator_address}/validators: + /cosmos/staking/v1beta1/delegators/{delegator_addr}/unbonding_delegations: get: - summary: DelegatorValidators queries the validators of a delegator. - operationId: CosmosDistributionV1Beta1DelegatorValidators + summary: >- + DelegatorUnbondingDelegations queries all unbonding delegations of a + given + + delegator address. + operationId: CosmosStakingV1Beta1DelegatorUnbondingDelegations responses: '200': description: A successful response. schema: type: object properties: - validators: - type: array - items: - type: string - description: >- - validators defines the validators a delegator is delegating - for. - description: |- - QueryDelegatorValidatorsResponse is the response type for the - Query/DelegatorValidators RPC method. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: + unbonding_responses: type: array items: type: object properties: - '@type': + delegator_address: type: string - additionalProperties: {} - parameters: - - name: delegator_address - description: delegator_address defines the delegator address to query for. - in: path - required: true - type: string - tags: - - Query - /cosmos/distribution/v1beta1/delegators/{delegator_address}/withdraw_address: - get: - summary: DelegatorWithdrawAddress queries withdraw address of a delegator. - operationId: CosmosDistributionV1Beta1DelegatorWithdrawAddress - responses: - '200': - description: A successful response. - schema: - type: object - properties: - withdraw_address: - type: string - description: withdraw_address defines the delegator address to query for. - description: |- - QueryDelegatorWithdrawAddressResponse is the response type for the - Query/DelegatorWithdrawAddress RPC method. + description: >- + delegator_address is the bech32-encoded address of the + delegator. + validator_address: + type: string + description: >- + validator_address is the bech32-encoded address of the + validator. + entries: + type: array + items: + type: object + properties: + creation_height: + type: string + format: int64 + description: >- + creation_height is the height which the unbonding + took place. + completion_time: + type: string + format: date-time + description: >- + completion_time is the unix time for unbonding + completion. + initial_balance: + type: string + description: >- + initial_balance defines the tokens initially + scheduled to receive at completion. + balance: + type: string + description: >- + balance defines the tokens to receive at + completion. + description: >- + UnbondingDelegationEntry defines an unbonding object + with relevant metadata. + description: |- + entries are the unbonding delegation entries. + + unbonding delegation entries + description: >- + UnbondingDelegation stores all of a single delegator's + unbonding bonds + + for a single validator in an time-ordered list. + pagination: + description: pagination defines the pagination in the response. + type: object + properties: + next_key: + type: string + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + total: + type: string + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total + + was set, its value is undefined otherwise + description: >- + QueryUnbondingDelegatorDelegationsResponse is response type for + the + + Query/UnbondingDelegatorDelegations RPC method. default: description: An unexpected error response. schema: @@ -5471,95 +25900,476 @@ paths: properties: '@type': type: string + description: >- + A URL/resource name that uniquely identifies the type of + the serialized + + protocol buffer message. This string must contain at + least + + one "/" character. The last segment of the URL's path + must represent + + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name should be in + a canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the binary + all types that they + + expect it to use in the context of Any. However, for + URLs which use the + + scheme `http`, `https`, or no scheme, one can optionally + set up a type + + server that maps type URLs to message definitions as + follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based + on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available in + the official + + protobuf release, and it is not used for type URLs + beginning with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty scheme) + might be + + used with implementation specific semantics. additionalProperties: {} + description: >- + `Any` contains an arbitrary serialized protocol buffer + message along with a + + URL that describes the type of the serialized message. + + + Protobuf library provides support to pack/unpack Any values + in the form + + of utility functions or additional generated methods of the + Any type. + + + Example 1: Pack and unpack a message in C++. + + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } + + Example 2: Pack and unpack a message in Java. + + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + + Example 3: Pack and unpack a message in Python. + + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + + Example 4: Pack and unpack a message in Go + + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } + + The pack methods provided by protobuf library will by + default use + + 'type.googleapis.com/full.type.name' as the type URL and the + unpack + + methods only use the fully qualified type name after the + last '/' + + in the type URL, for example "foo.bar.com/x/y.z" will yield + type + + name "y.z". + + + + JSON + + ==== + + The JSON representation of an `Any` value uses the regular + + representation of the deserialized, embedded message, with + an + + additional field `@type` which contains the type URL. + Example: + + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } + + If the embedded message type is well-known and has a custom + JSON + + representation, that representation will be embedded adding + a field + + `value` which holds the custom JSON in addition to the + `@type` + + field. Example (for message [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } parameters: - - name: delegator_address - description: delegator_address defines the delegator address to query for. + - name: delegator_addr + description: delegator_addr defines the delegator address to query for. in: path required: true type: string + - name: pagination.key + description: |- + key is a value returned in PageResponse.next_key to begin + querying the next page most efficiently. Only one of offset or key + should be set. + in: query + required: false + type: string + format: byte + - name: pagination.offset + description: >- + offset is a numeric offset that can be used when key is unavailable. + + It is less efficient than using key. Only one of offset or key + should + + be set. + in: query + required: false + type: string + format: uint64 + - name: pagination.limit + description: >- + limit is the total number of results to be returned in the result + page. + + If left empty it will default to a value to be set by each app. + in: query + required: false + type: string + format: uint64 + - name: pagination.count_total + description: >- + count_total is set to true to indicate that the result set should + include + + a count of the total number of items available for pagination in + UIs. + + count_total is only respected when offset is used. It is ignored + when key + + is set. + in: query + required: false + type: boolean + - name: pagination.reverse + description: >- + reverse is set to true if results are to be returned in the + descending order. + + + Since: cosmos-sdk 0.43 + in: query + required: false + type: boolean tags: - Query - /cosmos/distribution/v1beta1/params: + /cosmos/staking/v1beta1/delegators/{delegator_addr}/validators: get: - summary: Params queries params of the distribution module. - operationId: CosmosDistributionV1Beta1Params + summary: |- + DelegatorValidators queries all validators info for given delegator + address. + operationId: CosmosStakingV1Beta1DelegatorValidators responses: '200': description: A successful response. schema: type: object properties: - params: - description: params defines the parameters of the module. - type: object - properties: - community_tax: - type: string - base_proposer_reward: - type: string - bonus_proposer_reward: - type: string - withdraw_addr_enabled: - type: boolean - description: >- - QueryParamsResponse is the response type for the Query/Params RPC - method. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: + validators: type: array items: type: object properties: - '@type': + operator_address: + type: string + description: >- + operator_address defines the address of the validator's + operator; bech encoded in JSON. + consensus_pubkey: + description: >- + consensus_pubkey is the consensus public key of the + validator, as a Protobuf Any. + type: object + properties: + '@type': + type: string + description: >- + A URL/resource name that uniquely identifies the + type of the serialized + + protocol buffer message. This string must contain at + least + + one "/" character. The last segment of the URL's + path must represent + + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name should be + in a canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the + binary all types that they + + expect it to use in the context of Any. However, for + URLs which use the + + scheme `http`, `https`, or no scheme, one can + optionally set up a type + + server that maps type URLs to message definitions as + follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results + based on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available + in the official + + protobuf release, and it is not used for type URLs + beginning with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty + scheme) might be + + used with implementation specific semantics. + additionalProperties: {} + jailed: + type: boolean + description: >- + jailed defined whether the validator has been jailed + from bonded status or not. + status: + description: >- + status is the validator status + (bonded/unbonding/unbonded). + type: string + enum: + - BOND_STATUS_UNSPECIFIED + - BOND_STATUS_UNBONDED + - BOND_STATUS_UNBONDING + - BOND_STATUS_BONDED + default: BOND_STATUS_UNSPECIFIED + tokens: + type: string + description: >- + tokens define the delegated tokens (incl. + self-delegation). + delegator_shares: + type: string + description: >- + delegator_shares defines total shares issued to a + validator's delegators. + description: + description: >- + description defines the description terms for the + validator. + type: object + properties: + moniker: + type: string + description: >- + moniker defines a human-readable name for the + validator. + identity: + type: string + description: >- + identity defines an optional identity signature (ex. + UPort or Keybase). + website: + type: string + description: website defines an optional website link. + security_contact: + type: string + description: >- + security_contact defines an optional email for + security contact. + details: + type: string + description: details define other optional details. + unbonding_height: + type: string + format: int64 + description: >- + unbonding_height defines, if unbonding, the height at + which this validator has begun unbonding. + unbonding_time: type: string - additionalProperties: {} - tags: - - Query - /cosmos/distribution/v1beta1/validators/{validator_address}/commission: - get: - summary: ValidatorCommission queries accumulated commission for a validator. - operationId: CosmosDistributionV1Beta1ValidatorCommission - responses: - '200': - description: A successful response. - schema: - type: object - properties: - commission: - description: commission defines the commision the validator received. - type: object - properties: - commission: - type: array - items: + format: date-time + description: >- + unbonding_time defines, if unbonding, the min time for + the validator to complete unbonding. + commission: + description: commission defines the commission parameters. type: object properties: - denom: - type: string - amount: + commission_rates: + description: >- + commission_rates defines the initial commission + rates to be used for creating a validator. + type: object + properties: + rate: + type: string + description: >- + rate is the commission rate charged to + delegators, as a fraction. + max_rate: + type: string + description: >- + max_rate defines the maximum commission rate + which validator can ever charge, as a fraction. + max_change_rate: + type: string + description: >- + max_change_rate defines the maximum daily + increase of the validator commission, as a + fraction. + update_time: type: string + format: date-time + description: >- + update_time is the last time the commission rate was + changed. + min_self_delegation: + type: string description: >- - DecCoin defines a token with a denomination and a - decimal amount. + min_self_delegation is the validator's self declared + minimum self delegation. - NOTE: The amount field is an Dec which implements the - custom method + Since: cosmos-sdk 0.46 + description: >- + Validator defines a validator, together with the total + amount of the - signatures required by gogoproto. - title: |- - QueryValidatorCommissionResponse is the response type for the - Query/ValidatorCommission RPC method + Validator's bond shares and their exchange rate to coins. + Slashing results in + + a decrease in the exchange rate, allowing correct + calculation of future + + undelegations without iterating over delegators. When coins + are delegated to + + this validator, the validator is credited with a delegation + whose number of + + bond shares is based on the amount of coins delegated + divided by the current + + exchange rate. Voting power can be calculated as total + bonded shares + + multiplied by exchange rate. + description: validators defines the validators' info of a delegator. + pagination: + description: pagination defines the pagination in the response. + type: object + properties: + next_key: + type: string + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + total: + type: string + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total + + was set, its value is undefined otherwise + description: |- + QueryDelegatorValidatorsResponse is response type for the + Query/DelegatorValidators RPC method. default: description: An unexpected error response. schema: @@ -5577,135 +26387,431 @@ paths: properties: '@type': type: string + description: >- + A URL/resource name that uniquely identifies the type of + the serialized + + protocol buffer message. This string must contain at + least + + one "/" character. The last segment of the URL's path + must represent + + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name should be in + a canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the binary + all types that they + + expect it to use in the context of Any. However, for + URLs which use the + + scheme `http`, `https`, or no scheme, one can optionally + set up a type + + server that maps type URLs to message definitions as + follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based + on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available in + the official + + protobuf release, and it is not used for type URLs + beginning with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty scheme) + might be + + used with implementation specific semantics. additionalProperties: {} + description: >- + `Any` contains an arbitrary serialized protocol buffer + message along with a + + URL that describes the type of the serialized message. + + + Protobuf library provides support to pack/unpack Any values + in the form + + of utility functions or additional generated methods of the + Any type. + + + Example 1: Pack and unpack a message in C++. + + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } + + Example 2: Pack and unpack a message in Java. + + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + + Example 3: Pack and unpack a message in Python. + + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + + Example 4: Pack and unpack a message in Go + + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } + + The pack methods provided by protobuf library will by + default use + + 'type.googleapis.com/full.type.name' as the type URL and the + unpack + + methods only use the fully qualified type name after the + last '/' + + in the type URL, for example "foo.bar.com/x/y.z" will yield + type + + name "y.z". + + + + JSON + + ==== + + The JSON representation of an `Any` value uses the regular + + representation of the deserialized, embedded message, with + an + + additional field `@type` which contains the type URL. + Example: + + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } + + If the embedded message type is well-known and has a custom + JSON + + representation, that representation will be embedded adding + a field + + `value` which holds the custom JSON in addition to the + `@type` + + field. Example (for message [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } parameters: - - name: validator_address - description: validator_address defines the validator address to query for. + - name: delegator_addr + description: delegator_addr defines the delegator address to query for. in: path required: true type: string + - name: pagination.key + description: |- + key is a value returned in PageResponse.next_key to begin + querying the next page most efficiently. Only one of offset or key + should be set. + in: query + required: false + type: string + format: byte + - name: pagination.offset + description: >- + offset is a numeric offset that can be used when key is unavailable. + + It is less efficient than using key. Only one of offset or key + should + + be set. + in: query + required: false + type: string + format: uint64 + - name: pagination.limit + description: >- + limit is the total number of results to be returned in the result + page. + + If left empty it will default to a value to be set by each app. + in: query + required: false + type: string + format: uint64 + - name: pagination.count_total + description: >- + count_total is set to true to indicate that the result set should + include + + a count of the total number of items available for pagination in + UIs. + + count_total is only respected when offset is used. It is ignored + when key + + is set. + in: query + required: false + type: boolean + - name: pagination.reverse + description: >- + reverse is set to true if results are to be returned in the + descending order. + + + Since: cosmos-sdk 0.43 + in: query + required: false + type: boolean tags: - Query - /cosmos/distribution/v1beta1/validators/{validator_address}/outstanding_rewards: + /cosmos/staking/v1beta1/delegators/{delegator_addr}/validators/{validator_addr}: get: - summary: ValidatorOutstandingRewards queries rewards of a validator address. - operationId: CosmosDistributionV1Beta1ValidatorOutstandingRewards + summary: |- + DelegatorValidator queries validator info for given delegator validator + pair. + operationId: CosmosStakingV1Beta1DelegatorValidator responses: '200': description: A successful response. schema: type: object properties: - rewards: + validator: + description: validator defines the validator info. type: object properties: - rewards: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - DecCoin defines a token with a denomination and a - decimal amount. + operator_address: + type: string + description: >- + operator_address defines the address of the validator's + operator; bech encoded in JSON. + consensus_pubkey: + description: >- + consensus_pubkey is the consensus public key of the + validator, as a Protobuf Any. + type: object + properties: + '@type': + type: string + description: >- + A URL/resource name that uniquely identifies the type + of the serialized + protocol buffer message. This string must contain at + least - NOTE: The amount field is an Dec which implements the - custom method + one "/" character. The last segment of the URL's path + must represent - signatures required by gogoproto. - description: >- - ValidatorOutstandingRewards represents outstanding - (un-withdrawn) rewards + the fully qualified name of the type (as in - for a validator inexpensive to track, allows simple sanity - checks. - description: >- - QueryValidatorOutstandingRewardsResponse is the response type for - the + `path/google.protobuf.Duration`). The name should be + in a canonical form - Query/ValidatorOutstandingRewards RPC method. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: validator_address - description: validator_address defines the validator address to query for. - in: path - required: true - type: string - tags: - - Query - /cosmos/distribution/v1beta1/validators/{validator_address}/slashes: - get: - summary: ValidatorSlashes queries slash events of a validator. - operationId: CosmosDistributionV1Beta1ValidatorSlashes - responses: - '200': - description: A successful response. - schema: - type: object - properties: - slashes: - type: array - items: - type: object - properties: - validator_period: - type: string - format: uint64 - fraction: - type: string - description: >- - ValidatorSlashEvent represents a validator slash event. + (e.g., leading "." is not accepted). - Height is implicit within the store key. - This is needed to calculate appropriate amount of staking - tokens + In practice, teams usually precompile into the binary + all types that they - for delegations which are withdrawn after a slash has - occurred. - description: slashes defines the slashes the validator received. - pagination: - description: pagination defines the pagination in the response. - type: object - properties: - next_key: + expect it to use in the context of Any. However, for + URLs which use the + + scheme `http`, `https`, or no scheme, one can + optionally set up a type + + server that maps type URLs to message definitions as + follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results + based on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available in + the official + + protobuf release, and it is not used for type URLs + beginning with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty + scheme) might be + + used with implementation specific semantics. + additionalProperties: {} + jailed: + type: boolean + description: >- + jailed defined whether the validator has been jailed from + bonded status or not. + status: + description: >- + status is the validator status + (bonded/unbonding/unbonded). + type: string + enum: + - BOND_STATUS_UNSPECIFIED + - BOND_STATUS_UNBONDED + - BOND_STATUS_UNBONDING + - BOND_STATUS_BONDED + default: BOND_STATUS_UNSPECIFIED + tokens: + type: string + description: >- + tokens define the delegated tokens (incl. + self-delegation). + delegator_shares: type: string - format: byte - title: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently - total: + description: >- + delegator_shares defines total shares issued to a + validator's delegators. + description: + description: >- + description defines the description terms for the + validator. + type: object + properties: + moniker: + type: string + description: >- + moniker defines a human-readable name for the + validator. + identity: + type: string + description: >- + identity defines an optional identity signature (ex. + UPort or Keybase). + website: + type: string + description: website defines an optional website link. + security_contact: + type: string + description: >- + security_contact defines an optional email for + security contact. + details: + type: string + description: details define other optional details. + unbonding_height: type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total + format: int64 + description: >- + unbonding_height defines, if unbonding, the height at + which this validator has begun unbonding. + unbonding_time: + type: string + format: date-time + description: >- + unbonding_time defines, if unbonding, the min time for the + validator to complete unbonding. + commission: + description: commission defines the commission parameters. + type: object + properties: + commission_rates: + description: >- + commission_rates defines the initial commission rates + to be used for creating a validator. + type: object + properties: + rate: + type: string + description: >- + rate is the commission rate charged to delegators, + as a fraction. + max_rate: + type: string + description: >- + max_rate defines the maximum commission rate which + validator can ever charge, as a fraction. + max_change_rate: + type: string + description: >- + max_change_rate defines the maximum daily increase + of the validator commission, as a fraction. + update_time: + type: string + format: date-time + description: >- + update_time is the last time the commission rate was + changed. + min_self_delegation: + type: string + description: >- + min_self_delegation is the validator's self declared + minimum self delegation. - was set, its value is undefined otherwise + + Since: cosmos-sdk 0.46 description: |- - QueryValidatorSlashesResponse is the response type for the - Query/ValidatorSlashes RPC method. + QueryDelegatorValidatorResponse response type for the + Query/DelegatorValidator RPC method. default: description: An unexpected error response. schema: @@ -5717,104 +26823,6 @@ paths: message: type: string details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: validator_address - description: validator_address defines the validator address to query for. - in: path - required: true - type: string - - name: starting_height - description: >- - starting_height defines the optional starting height to query the - slashes. - in: query - required: false - type: string - format: uint64 - - name: ending_height - description: >- - starting_height defines the optional ending height to query the - slashes. - in: query - required: false - type: string - format: uint64 - - name: pagination.key - description: |- - key is a value returned in PageResponse.next_key to begin - querying the next page most efficiently. Only one of offset or key - should be set. - in: query - required: false - type: string - format: byte - - name: pagination.offset - description: >- - offset is a numeric offset that can be used when key is unavailable. - - It is less efficient than using key. Only one of offset or key - should - - be set. - in: query - required: false - type: string - format: uint64 - - name: pagination.limit - description: >- - limit is the total number of results to be returned in the result - page. - - If left empty it will default to a value to be set by each app. - in: query - required: false - type: string - format: uint64 - - name: pagination.count_total - description: >- - count_total is set to true to indicate that the result set should - include - - a count of the total number of items available for pagination in - UIs. - - count_total is only respected when offset is used. It is ignored - when key - - is set. - in: query - required: false - type: boolean - - name: pagination.reverse - description: >- - reverse is set to true if results are to be returned in the - descending order. - - - Since: cosmos-sdk 0.43 - in: query - required: false - type: boolean - tags: - - Query - /cosmos/evidence/v1beta1/evidence: - get: - summary: AllEvidence queries all evidence. - operationId: CosmosEvidenceV1Beta1AllEvidence - responses: - '200': - description: A successful response. - schema: - type: object - properties: - evidence: type: array items: type: object @@ -5989,28 +26997,328 @@ paths: "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" } - description: evidence returns all evidences. - pagination: - description: pagination defines the pagination in the response. + parameters: + - name: delegator_addr + description: delegator_addr defines the delegator address to query for. + in: path + required: true + type: string + - name: validator_addr + description: validator_addr defines the validator address to query for. + in: path + required: true + type: string + tags: + - Query + /cosmos/staking/v1beta1/historical_info/{height}: + get: + summary: HistoricalInfo queries the historical info for given height. + operationId: CosmosStakingV1Beta1HistoricalInfo + responses: + '200': + description: A successful response. + schema: + type: object + properties: + hist: + description: hist defines the historical info at the given height. type: object properties: - next_key: - type: string - format: byte - title: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently - total: - type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total + header: + type: object + properties: + version: + title: basic block info + type: object + properties: + block: + type: string + format: uint64 + app: + type: string + format: uint64 + description: >- + Consensus captures the consensus rules for processing + a block in the blockchain, - was set, its value is undefined otherwise + including all blockchain data structures and the rules + of the application's + + state transition machine. + chain_id: + type: string + height: + type: string + format: int64 + time: + type: string + format: date-time + last_block_id: + title: prev block info + type: object + properties: + hash: + type: string + format: byte + part_set_header: + type: object + properties: + total: + type: integer + format: int64 + hash: + type: string + format: byte + title: PartsetHeader + last_commit_hash: + type: string + format: byte + description: commit from validators from the last block + title: hashes of block data + data_hash: + type: string + format: byte + title: transactions + validators_hash: + type: string + format: byte + description: validators for the current block + title: hashes from the app output from the prev block + next_validators_hash: + type: string + format: byte + title: validators for the next block + consensus_hash: + type: string + format: byte + title: consensus params for current block + app_hash: + type: string + format: byte + title: state after txs from the previous block + last_results_hash: + type: string + format: byte + title: >- + root hash of all results from the txs from the + previous block + evidence_hash: + type: string + format: byte + description: evidence included in the block + title: consensus info + proposer_address: + type: string + format: byte + title: original proposer of the block + description: Header defines the structure of a block header. + valset: + type: array + items: + type: object + properties: + operator_address: + type: string + description: >- + operator_address defines the address of the + validator's operator; bech encoded in JSON. + consensus_pubkey: + description: >- + consensus_pubkey is the consensus public key of the + validator, as a Protobuf Any. + type: object + properties: + '@type': + type: string + description: >- + A URL/resource name that uniquely identifies the + type of the serialized + + protocol buffer message. This string must + contain at least + + one "/" character. The last segment of the URL's + path must represent + + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name + should be in a canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the + binary all types that they + + expect it to use in the context of Any. However, + for URLs which use the + + scheme `http`, `https`, or no scheme, one can + optionally set up a type + + server that maps type URLs to message + definitions as follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup + results based on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently + available in the official + + protobuf release, and it is not used for type + URLs beginning with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty + scheme) might be + + used with implementation specific semantics. + additionalProperties: {} + jailed: + type: boolean + description: >- + jailed defined whether the validator has been jailed + from bonded status or not. + status: + description: >- + status is the validator status + (bonded/unbonding/unbonded). + type: string + enum: + - BOND_STATUS_UNSPECIFIED + - BOND_STATUS_UNBONDED + - BOND_STATUS_UNBONDING + - BOND_STATUS_BONDED + default: BOND_STATUS_UNSPECIFIED + tokens: + type: string + description: >- + tokens define the delegated tokens (incl. + self-delegation). + delegator_shares: + type: string + description: >- + delegator_shares defines total shares issued to a + validator's delegators. + description: + description: >- + description defines the description terms for the + validator. + type: object + properties: + moniker: + type: string + description: >- + moniker defines a human-readable name for the + validator. + identity: + type: string + description: >- + identity defines an optional identity signature + (ex. UPort or Keybase). + website: + type: string + description: website defines an optional website link. + security_contact: + type: string + description: >- + security_contact defines an optional email for + security contact. + details: + type: string + description: details define other optional details. + unbonding_height: + type: string + format: int64 + description: >- + unbonding_height defines, if unbonding, the height + at which this validator has begun unbonding. + unbonding_time: + type: string + format: date-time + description: >- + unbonding_time defines, if unbonding, the min time + for the validator to complete unbonding. + commission: + description: commission defines the commission parameters. + type: object + properties: + commission_rates: + description: >- + commission_rates defines the initial commission + rates to be used for creating a validator. + type: object + properties: + rate: + type: string + description: >- + rate is the commission rate charged to + delegators, as a fraction. + max_rate: + type: string + description: >- + max_rate defines the maximum commission rate + which validator can ever charge, as a + fraction. + max_change_rate: + type: string + description: >- + max_change_rate defines the maximum daily + increase of the validator commission, as a + fraction. + update_time: + type: string + format: date-time + description: >- + update_time is the last time the commission rate + was changed. + min_self_delegation: + type: string + description: >- + min_self_delegation is the validator's self declared + minimum self delegation. + + + Since: cosmos-sdk 0.46 + description: >- + Validator defines a validator, together with the total + amount of the + + Validator's bond shares and their exchange rate to + coins. Slashing results in + + a decrease in the exchange rate, allowing correct + calculation of future + + undelegations without iterating over delegators. When + coins are delegated to + + this validator, the validator is credited with a + delegation whose number of + + bond shares is based on the amount of coins delegated + divided by the current + + exchange rate. Voting power can be calculated as total + bonded shares + + multiplied by exchange rate. description: >- - QueryAllEvidenceResponse is the response type for the - Query/AllEvidence RPC + QueryHistoricalInfoResponse is response type for the + Query/HistoricalInfo RPC method. default: @@ -6199,246 +27507,58 @@ paths: "value": "1.212s" } parameters: - - name: pagination.key - description: |- - key is a value returned in PageResponse.next_key to begin - querying the next page most efficiently. Only one of offset or key - should be set. - in: query - required: false - type: string - format: byte - - name: pagination.offset - description: >- - offset is a numeric offset that can be used when key is unavailable. - - It is less efficient than using key. Only one of offset or key - should - - be set. - in: query - required: false - type: string - format: uint64 - - name: pagination.limit - description: >- - limit is the total number of results to be returned in the result - page. - - If left empty it will default to a value to be set by each app. - in: query - required: false + - name: height + description: height defines at which height to query the historical info. + in: path + required: true type: string - format: uint64 - - name: pagination.count_total - description: >- - count_total is set to true to indicate that the result set should - include - - a count of the total number of items available for pagination in - UIs. - - count_total is only respected when offset is used. It is ignored - when key - - is set. - in: query - required: false - type: boolean - - name: pagination.reverse - description: >- - reverse is set to true if results are to be returned in the - descending order. - - - Since: cosmos-sdk 0.43 - in: query - required: false - type: boolean + format: int64 tags: - Query - /cosmos/evidence/v1beta1/evidence/{evidence_hash}: + /cosmos/staking/v1beta1/params: get: - summary: Evidence queries evidence based on evidence hash. - operationId: CosmosEvidenceV1Beta1Evidence + summary: Parameters queries the staking parameters. + operationId: CosmosStakingV1Beta1Params responses: '200': description: A successful response. schema: type: object properties: - evidence: + params: + description: params holds all the parameters of this module. type: object properties: - '@type': + unbonding_time: type: string + description: unbonding_time is the time duration of unbonding. + max_validators: + type: integer + format: int64 + description: max_validators is the maximum number of validators. + max_entries: + type: integer + format: int64 description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at least - - one "/" character. The last segment of the URL's path must - represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in a - canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary all - types that they - - expect it to use in the context of Any. However, for URLs - which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in the - official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer message - along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values in - the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by default - use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the last - '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with an - - additional field `@type` which contains the type URL. Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding a - field - - `value` which holds the custom JSON in addition to the `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } + max_entries is the max entries for either unbonding + delegation or redelegation (per pair/trio). + historical_entries: + type: integer + format: int64 + description: >- + historical_entries is the number of historical entries to + persist. + bond_denom: + type: string + description: bond_denom defines the bondable coin denomination. + min_commission_rate: + type: string + title: >- + min_commission_rate is the chain-wide minimum commission + rate that a validator can charge their delegators description: >- - QueryEvidenceResponse is the response type for the Query/Evidence - RPC method. + QueryParamsResponse is response type for the Query/Params RPC + method. default: description: An unexpected error response. schema: @@ -6624,108 +27744,27 @@ paths: "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" } - parameters: - - name: evidence_hash - description: evidence_hash defines the hash of the requested evidence. - in: path - required: true - type: string - format: byte tags: - Query - /cosmos/feegrant/v1beta1/allowance/{granter}/{grantee}: + /cosmos/staking/v1beta1/pool: get: - summary: Allowance returns fee granted to the grantee by the granter. - operationId: CosmosFeegrantV1Beta1Allowance + summary: Pool queries the pool info. + operationId: CosmosStakingV1Beta1Pool responses: '200': description: A successful response. schema: type: object properties: - allowance: - description: allowance is a allowance granted for grantee by granter. + pool: + description: pool defines the pool info. type: object properties: - granter: + not_bonded_tokens: type: string - description: >- - granter is the address of the user granting an allowance - of their funds. - grantee: + bonded_tokens: type: string - description: >- - grantee is the address of the user being granted an - allowance of another user's funds. - allowance: - description: allowance can be any of basic and filtered fee allowance. - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type - of the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be - in a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can - optionally set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results - based on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. - - - Schemes other than `http`, `https` (or the empty - scheme) might be - - used with implementation specific semantics. - additionalProperties: {} - title: >- - Grant is stored in the KVStore to record a grant with full - context - description: >- - QueryAllowanceResponse is the response type for the - Query/Allowance RPC method. + description: QueryPoolResponse is response type for the Query/Pool RPC method. default: description: An unexpected error response. schema: @@ -6911,52 +27950,32 @@ paths: "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" } - parameters: - - name: granter - description: >- - granter is the address of the user granting an allowance of their - funds. - in: path - required: true - type: string - - name: grantee - description: >- - grantee is the address of the user being granted an allowance of - another user's funds. - in: path - required: true - type: string tags: - Query - /cosmos/feegrant/v1beta1/allowances/{grantee}: + /cosmos/staking/v1beta1/validators: get: - summary: Allowances returns all the grants for address. - operationId: CosmosFeegrantV1Beta1Allowances + summary: Validators queries all validators that match the given status. + operationId: CosmosStakingV1Beta1Validators responses: '200': description: A successful response. schema: type: object properties: - allowances: + validators: type: array items: type: object properties: - granter: - type: string - description: >- - granter is the address of the user granting an allowance - of their funds. - grantee: + operator_address: type: string description: >- - grantee is the address of the user being granted an - allowance of another user's funds. - allowance: + operator_address defines the address of the validator's + operator; bech encoded in JSON. + consensus_pubkey: description: >- - allowance can be any of basic and filtered fee - allowance. + consensus_pubkey is the consensus public key of the + validator, as a Protobuf Any. type: object properties: '@type': @@ -6992,46 +28011,172 @@ paths: follows: - * If no scheme is provided, `https` is assumed. + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results + based on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available + in the official + + protobuf release, and it is not used for type URLs + beginning with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty + scheme) might be + + used with implementation specific semantics. + additionalProperties: {} + jailed: + type: boolean + description: >- + jailed defined whether the validator has been jailed + from bonded status or not. + status: + description: >- + status is the validator status + (bonded/unbonding/unbonded). + type: string + enum: + - BOND_STATUS_UNSPECIFIED + - BOND_STATUS_UNBONDED + - BOND_STATUS_UNBONDING + - BOND_STATUS_BONDED + default: BOND_STATUS_UNSPECIFIED + tokens: + type: string + description: >- + tokens define the delegated tokens (incl. + self-delegation). + delegator_shares: + type: string + description: >- + delegator_shares defines total shares issued to a + validator's delegators. + description: + description: >- + description defines the description terms for the + validator. + type: object + properties: + moniker: + type: string + description: >- + moniker defines a human-readable name for the + validator. + identity: + type: string + description: >- + identity defines an optional identity signature (ex. + UPort or Keybase). + website: + type: string + description: website defines an optional website link. + security_contact: + type: string + description: >- + security_contact defines an optional email for + security contact. + details: + type: string + description: details define other optional details. + unbonding_height: + type: string + format: int64 + description: >- + unbonding_height defines, if unbonding, the height at + which this validator has begun unbonding. + unbonding_time: + type: string + format: date-time + description: >- + unbonding_time defines, if unbonding, the min time for + the validator to complete unbonding. + commission: + description: commission defines the commission parameters. + type: object + properties: + commission_rates: + description: >- + commission_rates defines the initial commission + rates to be used for creating a validator. + type: object + properties: + rate: + type: string + description: >- + rate is the commission rate charged to + delegators, as a fraction. + max_rate: + type: string + description: >- + max_rate defines the maximum commission rate + which validator can ever charge, as a fraction. + max_change_rate: + type: string + description: >- + max_change_rate defines the maximum daily + increase of the validator commission, as a + fraction. + update_time: + type: string + format: date-time + description: >- + update_time is the last time the commission rate was + changed. + min_self_delegation: + type: string + description: >- + min_self_delegation is the validator's self declared + minimum self delegation. + + + Since: cosmos-sdk 0.46 + description: >- + Validator defines a validator, together with the total + amount of the - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results - based on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) + Validator's bond shares and their exchange rate to coins. + Slashing results in - Note: this functionality is not currently available - in the official + a decrease in the exchange rate, allowing correct + calculation of future - protobuf release, and it is not used for type URLs - beginning with + undelegations without iterating over delegators. When coins + are delegated to - type.googleapis.com. + this validator, the validator is credited with a delegation + whose number of + bond shares is based on the amount of coins delegated + divided by the current - Schemes other than `http`, `https` (or the empty - scheme) might be + exchange rate. Voting power can be calculated as total + bonded shares - used with implementation specific semantics. - additionalProperties: {} - title: >- - Grant is stored in the KVStore to record a grant with full - context - description: allowances are allowance's granted for grantee by granter. + multiplied by exchange rate. + description: validators contains all the queried validators. pagination: - description: pagination defines an pagination for the response. + description: pagination defines the pagination in the response. type: object properties: next_key: type: string format: byte - title: |- + description: |- next_key is the key to be passed to PageRequest.key to - query the next page most efficiently + query the next page most efficiently. It will be empty if + there are no more results. total: type: string format: uint64 @@ -7040,9 +28185,9 @@ paths: PageRequest.count_total was set, its value is undefined otherwise - description: >- - QueryAllowancesResponse is the response type for the - Query/Allowances RPC method. + title: >- + QueryValidatorsResponse is response type for the Query/Validators + RPC method default: description: An unexpected error response. schema: @@ -7229,9 +28374,10 @@ paths: "value": "1.212s" } parameters: - - name: grantee - in: path - required: true + - name: status + description: status enables to query for validators matching a given status. + in: query + required: false type: string - name: pagination.key description: |- @@ -7291,78 +28437,197 @@ paths: type: boolean tags: - Query - /cosmos/gov/v1beta1/params/{params_type}: + /cosmos/staking/v1beta1/validators/{validator_addr}: get: - summary: Params queries all parameters of the gov module. - operationId: CosmosGovV1Beta1Params + summary: Validator queries validator info for given validator address. + operationId: CosmosStakingV1Beta1Validator responses: '200': description: A successful response. schema: type: object properties: - voting_params: - description: voting_params defines the parameters related to voting. + validator: + description: validator defines the validator info. type: object properties: - voting_period: + operator_address: type: string - description: Length of the voting period. - deposit_params: - description: deposit_params defines the parameters related to deposit. - type: object - properties: - min_deposit: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. + description: >- + operator_address defines the address of the validator's + operator; bech encoded in JSON. + consensus_pubkey: + description: >- + consensus_pubkey is the consensus public key of the + validator, as a Protobuf Any. + type: object + properties: + '@type': + type: string + description: >- + A URL/resource name that uniquely identifies the type + of the serialized + protocol buffer message. This string must contain at + least - NOTE: The amount field is an Int which implements the - custom method + one "/" character. The last segment of the URL's path + must represent - signatures required by gogoproto. - description: Minimum deposit for a proposal to enter voting period. - max_deposit_period: + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name should be + in a canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the binary + all types that they + + expect it to use in the context of Any. However, for + URLs which use the + + scheme `http`, `https`, or no scheme, one can + optionally set up a type + + server that maps type URLs to message definitions as + follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results + based on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available in + the official + + protobuf release, and it is not used for type URLs + beginning with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty + scheme) might be + + used with implementation specific semantics. + additionalProperties: {} + jailed: + type: boolean + description: >- + jailed defined whether the validator has been jailed from + bonded status or not. + status: + description: >- + status is the validator status + (bonded/unbonding/unbonded). + type: string + enum: + - BOND_STATUS_UNSPECIFIED + - BOND_STATUS_UNBONDED + - BOND_STATUS_UNBONDING + - BOND_STATUS_BONDED + default: BOND_STATUS_UNSPECIFIED + tokens: type: string description: >- - Maximum period for Atom holders to deposit on a proposal. - Initial value: 2 - months. - tally_params: - description: tally_params defines the parameters related to tally. - type: object - properties: - quorum: + tokens define the delegated tokens (incl. + self-delegation). + delegator_shares: type: string - format: byte description: >- - Minimum percentage of total stake needed to vote for a - result to be - considered valid. - threshold: + delegator_shares defines total shares issued to a + validator's delegators. + description: + description: >- + description defines the description terms for the + validator. + type: object + properties: + moniker: + type: string + description: >- + moniker defines a human-readable name for the + validator. + identity: + type: string + description: >- + identity defines an optional identity signature (ex. + UPort or Keybase). + website: + type: string + description: website defines an optional website link. + security_contact: + type: string + description: >- + security_contact defines an optional email for + security contact. + details: + type: string + description: details define other optional details. + unbonding_height: type: string - format: byte + format: int64 description: >- - Minimum proportion of Yes votes for proposal to pass. - Default value: 0.5. - veto_threshold: + unbonding_height defines, if unbonding, the height at + which this validator has begun unbonding. + unbonding_time: type: string - format: byte + format: date-time description: >- - Minimum value of Veto votes to Total votes ratio for - proposal to be - vetoed. Default value: 1/3. - description: >- - QueryParamsResponse is the response type for the Query/Params RPC - method. + unbonding_time defines, if unbonding, the min time for the + validator to complete unbonding. + commission: + description: commission defines the commission parameters. + type: object + properties: + commission_rates: + description: >- + commission_rates defines the initial commission rates + to be used for creating a validator. + type: object + properties: + rate: + type: string + description: >- + rate is the commission rate charged to delegators, + as a fraction. + max_rate: + type: string + description: >- + max_rate defines the maximum commission rate which + validator can ever charge, as a fraction. + max_change_rate: + type: string + description: >- + max_change_rate defines the maximum daily increase + of the validator commission, as a fraction. + update_time: + type: string + format: date-time + description: >- + update_time is the last time the commission rate was + changed. + min_self_delegation: + type: string + description: >- + min_self_delegation is the validator's self declared + minimum self delegation. + + + Since: cosmos-sdk 0.46 + title: >- + QueryValidatorResponse is response type for the Query/Validator + RPC method default: description: An unexpected error response. schema: @@ -7549,282 +28814,73 @@ paths: "value": "1.212s" } parameters: - - name: params_type - description: >- - params_type defines which parameters to query for, can be one of - "voting", - - "tallying" or "deposit". + - name: validator_addr + description: validator_addr defines the validator address to query for. in: path required: true type: string tags: - Query - /cosmos/gov/v1beta1/proposals: + /cosmos/staking/v1beta1/validators/{validator_addr}/delegations: get: - summary: Proposals queries all proposals based on given status. - operationId: CosmosGovV1Beta1Proposals + summary: ValidatorDelegations queries delegate info for given validator. + operationId: CosmosStakingV1Beta1ValidatorDelegations responses: '200': description: A successful response. schema: type: object properties: - proposals: + delegation_responses: type: array items: type: object properties: - proposal_id: - type: string - format: uint64 - content: + delegation: type: object properties: - '@type': + delegator_address: type: string description: >- - A URL/resource name that uniquely identifies the - type of the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's - path must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be - in a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the - binary all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can - optionally set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results - based on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available - in the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. - - - Schemes other than `http`, `https` (or the empty - scheme) might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any - values in the form - - of utility functions or additional generated methods of - the Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and - the unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will - yield type - - name "y.z". - - - - JSON - - ==== - - The JSON representation of an `Any` value uses the - regular - - representation of the deserialized, embedded message, - with an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a - custom JSON - - representation, that representation will be embedded - adding a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message - [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - status: - type: string - enum: - - PROPOSAL_STATUS_UNSPECIFIED - - PROPOSAL_STATUS_DEPOSIT_PERIOD - - PROPOSAL_STATUS_VOTING_PERIOD - - PROPOSAL_STATUS_PASSED - - PROPOSAL_STATUS_REJECTED - - PROPOSAL_STATUS_FAILED - default: PROPOSAL_STATUS_UNSPECIFIED + delegator_address is the bech32-encoded address of + the delegator. + validator_address: + type: string + description: >- + validator_address is the bech32-encoded address of + the validator. + shares: + type: string + description: shares define the delegation shares received. description: >- - ProposalStatus enumerates the valid statuses of a - proposal. + Delegation represents the bond with tokens held by an + account. It is - - PROPOSAL_STATUS_UNSPECIFIED: PROPOSAL_STATUS_UNSPECIFIED defines the default propopsal status. - - PROPOSAL_STATUS_DEPOSIT_PERIOD: PROPOSAL_STATUS_DEPOSIT_PERIOD defines a proposal status during the deposit - period. - - PROPOSAL_STATUS_VOTING_PERIOD: PROPOSAL_STATUS_VOTING_PERIOD defines a proposal status during the voting - period. - - PROPOSAL_STATUS_PASSED: PROPOSAL_STATUS_PASSED defines a proposal status of a proposal that has - passed. - - PROPOSAL_STATUS_REJECTED: PROPOSAL_STATUS_REJECTED defines a proposal status of a proposal that has - been rejected. - - PROPOSAL_STATUS_FAILED: PROPOSAL_STATUS_FAILED defines a proposal status of a proposal that has - failed. - final_tally_result: + owned by one delegator, and is associated with the + voting power of one + + validator. + balance: type: object properties: - 'yes': - type: string - abstain: - type: string - 'no': + denom: type: string - no_with_veto: + amount: type: string description: >- - TallyResult defines a standard tally for a governance - proposal. - submit_time: - type: string - format: date-time - deposit_end_time: - type: string - format: date-time - total_deposit: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an - amount. + Coin defines a token with a denomination and an amount. - NOTE: The amount field is an Int which implements the - custom method + NOTE: The amount field is an Int which implements the + custom method - signatures required by gogoproto. - voting_start_time: - type: string - format: date-time - voting_end_time: - type: string - format: date-time + signatures required by gogoproto. description: >- - Proposal defines the core field members of a governance - proposal. + DelegationResponse is equivalent to Delegation except that + it contains a + + balance in addition to shares which is more suitable for + client responses. pagination: description: pagination defines the pagination in the response. type: object @@ -7832,9 +28888,10 @@ paths: next_key: type: string format: byte - title: |- + description: |- next_key is the key to be passed to PageRequest.key to - query the next page most efficiently + query the next page most efficiently. It will be empty if + there are no more results. total: type: string format: uint64 @@ -7843,11 +28900,9 @@ paths: PageRequest.count_total was set, its value is undefined otherwise - description: >- - QueryProposalsResponse is the response type for the - Query/Proposals RPC - - method. + title: |- + QueryValidatorDelegationsResponse is response type for the + Query/ValidatorDelegations RPC method default: description: An unexpected error response. schema: @@ -8034,41 +29089,10 @@ paths: "value": "1.212s" } parameters: - - name: proposal_status - description: |- - proposal_status defines the status of the proposals. - - - PROPOSAL_STATUS_UNSPECIFIED: PROPOSAL_STATUS_UNSPECIFIED defines the default propopsal status. - - PROPOSAL_STATUS_DEPOSIT_PERIOD: PROPOSAL_STATUS_DEPOSIT_PERIOD defines a proposal status during the deposit - period. - - PROPOSAL_STATUS_VOTING_PERIOD: PROPOSAL_STATUS_VOTING_PERIOD defines a proposal status during the voting - period. - - PROPOSAL_STATUS_PASSED: PROPOSAL_STATUS_PASSED defines a proposal status of a proposal that has - passed. - - PROPOSAL_STATUS_REJECTED: PROPOSAL_STATUS_REJECTED defines a proposal status of a proposal that has - been rejected. - - PROPOSAL_STATUS_FAILED: PROPOSAL_STATUS_FAILED defines a proposal status of a proposal that has - failed. - in: query - required: false - type: string - enum: - - PROPOSAL_STATUS_UNSPECIFIED - - PROPOSAL_STATUS_DEPOSIT_PERIOD - - PROPOSAL_STATUS_VOTING_PERIOD - - PROPOSAL_STATUS_PASSED - - PROPOSAL_STATUS_REJECTED - - PROPOSAL_STATUS_FAILED - default: PROPOSAL_STATUS_UNSPECIFIED - - name: voter - description: voter defines the voter address for the proposals. - in: query - required: false - type: string - - name: depositor - description: depositor defines the deposit addresses from the proposals. - in: query - required: false + - name: validator_addr + description: validator_addr defines the validator address to query for. + in: path + required: true type: string - name: pagination.key description: |- @@ -8128,268 +29152,324 @@ paths: type: boolean tags: - Query - /cosmos/gov/v1beta1/proposals/{proposal_id}: + /cosmos/staking/v1beta1/validators/{validator_addr}/delegations/{delegator_addr}: get: - summary: Proposal queries proposal details based on ProposalID. - operationId: CosmosGovV1Beta1Proposal + summary: Delegation queries delegate info for given validator delegator pair. + operationId: CosmosStakingV1Beta1Delegation responses: '200': description: A successful response. schema: type: object properties: - proposal: + delegation_response: + description: >- + delegation_responses defines the delegation info of a + delegation. type: object properties: - proposal_id: - type: string - format: uint64 - content: + delegation: type: object properties: - '@type': + delegator_address: type: string description: >- - A URL/resource name that uniquely identifies the type - of the serialized + delegator_address is the bech32-encoded address of the + delegator. + validator_address: + type: string + description: >- + validator_address is the bech32-encoded address of the + validator. + shares: + type: string + description: shares define the delegation shares received. + description: >- + Delegation represents the bond with tokens held by an + account. It is - protocol buffer message. This string must contain at - least + owned by one delegator, and is associated with the voting + power of one - one "/" character. The last segment of the URL's path - must represent + validator. + balance: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. - the fully qualified name of the type (as in - `path/google.protobuf.Duration`). The name should be - in a canonical form + NOTE: The amount field is an Int which implements the + custom method - (e.g., leading "." is not accepted). + signatures required by gogoproto. + description: >- + QueryDelegationResponse is response type for the Query/Delegation + RPC method. + default: + description: An unexpected error response. + schema: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + '@type': + type: string + description: >- + A URL/resource name that uniquely identifies the type of + the serialized + protocol buffer message. This string must contain at + least - In practice, teams usually precompile into the binary - all types that they + one "/" character. The last segment of the URL's path + must represent - expect it to use in the context of Any. However, for - URLs which use the + the fully qualified name of the type (as in - scheme `http`, `https`, or no scheme, one can - optionally set up a type + `path/google.protobuf.Duration`). The name should be in + a canonical form - server that maps type URLs to message definitions as - follows: + (e.g., leading "." is not accepted). - * If no scheme is provided, `https` is assumed. + In practice, teams usually precompile into the binary + all types that they - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results - based on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) + expect it to use in the context of Any. However, for + URLs which use the - Note: this functionality is not currently available in - the official + scheme `http`, `https`, or no scheme, one can optionally + set up a type - protobuf release, and it is not used for type URLs - beginning with + server that maps type URLs to message definitions as + follows: - type.googleapis.com. + * If no scheme is provided, `https` is assumed. - Schemes other than `http`, `https` (or the empty - scheme) might be + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based + on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a + Note: this functionality is not currently available in + the official - URL that describes the type of the serialized message. + protobuf release, and it is not used for type URLs + beginning with + type.googleapis.com. - Protobuf library provides support to pack/unpack Any - values in the form - of utility functions or additional generated methods of - the Any type. + Schemes other than `http`, `https` (or the empty scheme) + might be + used with implementation specific semantics. + additionalProperties: {} + description: >- + `Any` contains an arbitrary serialized protocol buffer + message along with a - Example 1: Pack and unpack a message in C++. + URL that describes the type of the serialized message. - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - Example 2: Pack and unpack a message in Java. + Protobuf library provides support to pack/unpack Any values + in the form - Foo foo = ...; - Any any = Any.pack(foo); + of utility functions or additional generated methods of the + Any type. + + + Example 1: Pack and unpack a message in C++. + + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } + } - Example 3: Pack and unpack a message in Python. + Example 2: Pack and unpack a message in Java. - foo = Foo(...) - any = Any() - any.Pack(foo) + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + + Example 3: Pack and unpack a message in Python. + + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - Example 4: Pack and unpack a message in Go + Example 4: Pack and unpack a message in Go - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } - The pack methods provided by protobuf library will by - default use + The pack methods provided by protobuf library will by + default use - 'type.googleapis.com/full.type.name' as the type URL and - the unpack + 'type.googleapis.com/full.type.name' as the type URL and the + unpack - methods only use the fully qualified type name after the - last '/' + methods only use the fully qualified type name after the + last '/' - in the type URL, for example "foo.bar.com/x/y.z" will - yield type + in the type URL, for example "foo.bar.com/x/y.z" will yield + type - name "y.z". + name "y.z". - JSON + JSON - ==== + ==== - The JSON representation of an `Any` value uses the regular + The JSON representation of an `Any` value uses the regular - representation of the deserialized, embedded message, with - an + representation of the deserialized, embedded message, with + an - additional field `@type` which contains the type URL. - Example: + additional field `@type` which contains the type URL. + Example: - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } - If the embedded message type is well-known and has a - custom JSON + If the embedded message type is well-known and has a custom + JSON - representation, that representation will be embedded - adding a field + representation, that representation will be embedded adding + a field - `value` which holds the custom JSON in addition to the - `@type` + `value` which holds the custom JSON in addition to the + `@type` - field. Example (for message [google.protobuf.Duration][]): + field. Example (for message [google.protobuf.Duration][]): - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - status: + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + parameters: + - name: validator_addr + description: validator_addr defines the validator address to query for. + in: path + required: true + type: string + - name: delegator_addr + description: delegator_addr defines the delegator address to query for. + in: path + required: true + type: string + tags: + - Query + /cosmos/staking/v1beta1/validators/{validator_addr}/delegations/{delegator_addr}/unbonding_delegation: + get: + summary: |- + UnbondingDelegation queries unbonding info for given validator delegator + pair. + operationId: CosmosStakingV1Beta1UnbondingDelegation + responses: + '200': + description: A successful response. + schema: + type: object + properties: + unbond: + description: unbond defines the unbonding information of a delegation. + type: object + properties: + delegator_address: type: string - enum: - - PROPOSAL_STATUS_UNSPECIFIED - - PROPOSAL_STATUS_DEPOSIT_PERIOD - - PROPOSAL_STATUS_VOTING_PERIOD - - PROPOSAL_STATUS_PASSED - - PROPOSAL_STATUS_REJECTED - - PROPOSAL_STATUS_FAILED - default: PROPOSAL_STATUS_UNSPECIFIED - description: >- - ProposalStatus enumerates the valid statuses of a - proposal. - - - PROPOSAL_STATUS_UNSPECIFIED: PROPOSAL_STATUS_UNSPECIFIED defines the default propopsal status. - - PROPOSAL_STATUS_DEPOSIT_PERIOD: PROPOSAL_STATUS_DEPOSIT_PERIOD defines a proposal status during the deposit - period. - - PROPOSAL_STATUS_VOTING_PERIOD: PROPOSAL_STATUS_VOTING_PERIOD defines a proposal status during the voting - period. - - PROPOSAL_STATUS_PASSED: PROPOSAL_STATUS_PASSED defines a proposal status of a proposal that has - passed. - - PROPOSAL_STATUS_REJECTED: PROPOSAL_STATUS_REJECTED defines a proposal status of a proposal that has - been rejected. - - PROPOSAL_STATUS_FAILED: PROPOSAL_STATUS_FAILED defines a proposal status of a proposal that has - failed. - final_tally_result: - type: object - properties: - 'yes': - type: string - abstain: - type: string - 'no': - type: string - no_with_veto: - type: string description: >- - TallyResult defines a standard tally for a governance - proposal. - submit_time: - type: string - format: date-time - deposit_end_time: + delegator_address is the bech32-encoded address of the + delegator. + validator_address: type: string - format: date-time - total_deposit: + description: >- + validator_address is the bech32-encoded address of the + validator. + entries: type: array items: type: object properties: - denom: + creation_height: type: string - amount: + format: int64 + description: >- + creation_height is the height which the unbonding + took place. + completion_time: + type: string + format: date-time + description: >- + completion_time is the unix time for unbonding + completion. + initial_balance: + type: string + description: >- + initial_balance defines the tokens initially + scheduled to receive at completion. + balance: type: string + description: balance defines the tokens to receive at completion. description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the - custom method + UnbondingDelegationEntry defines an unbonding object + with relevant metadata. + description: |- + entries are the unbonding delegation entries. - signatures required by gogoproto. - voting_start_time: - type: string - format: date-time - voting_end_time: - type: string - format: date-time - description: >- - Proposal defines the core field members of a governance - proposal. + unbonding delegation entries description: >- - QueryProposalResponse is the response type for the Query/Proposal + QueryDelegationResponse is response type for the + Query/UnbondingDelegation + RPC method. default: description: An unexpected error response. @@ -8577,57 +29657,84 @@ paths: "value": "1.212s" } parameters: - - name: proposal_id - description: proposal_id defines the unique id of the proposal. + - name: validator_addr + description: validator_addr defines the validator address to query for. + in: path + required: true + type: string + - name: delegator_addr + description: delegator_addr defines the delegator address to query for. in: path required: true type: string - format: uint64 tags: - Query - /cosmos/gov/v1beta1/proposals/{proposal_id}/deposits: + /cosmos/staking/v1beta1/validators/{validator_addr}/unbonding_delegations: get: - summary: Deposits queries all deposits of a single proposal. - operationId: CosmosGovV1Beta1Deposits + summary: >- + ValidatorUnbondingDelegations queries unbonding delegations of a + validator. + operationId: CosmosStakingV1Beta1ValidatorUnbondingDelegations responses: '200': description: A successful response. schema: type: object properties: - deposits: + unbonding_responses: type: array items: type: object properties: - proposal_id: + delegator_address: type: string - format: uint64 - depositor: + description: >- + delegator_address is the bech32-encoded address of the + delegator. + validator_address: type: string - amount: + description: >- + validator_address is the bech32-encoded address of the + validator. + entries: type: array items: type: object properties: - denom: + creation_height: type: string - amount: + format: int64 + description: >- + creation_height is the height which the unbonding + took place. + completion_time: + type: string + format: date-time + description: >- + completion_time is the unix time for unbonding + completion. + initial_balance: type: string + description: >- + initial_balance defines the tokens initially + scheduled to receive at completion. + balance: + type: string + description: >- + balance defines the tokens to receive at + completion. description: >- - Coin defines a token with a denomination and an - amount. - - - NOTE: The amount field is an Int which implements the - custom method + UnbondingDelegationEntry defines an unbonding object + with relevant metadata. + description: |- + entries are the unbonding delegation entries. - signatures required by gogoproto. + unbonding delegation entries description: >- - Deposit defines an amount deposited by an account address to - an active + UnbondingDelegation stores all of a single delegator's + unbonding bonds - proposal. + for a single validator in an time-ordered list. pagination: description: pagination defines the pagination in the response. type: object @@ -8635,9 +29742,10 @@ paths: next_key: type: string format: byte - title: |- + description: |- next_key is the key to be passed to PageRequest.key to - query the next page most efficiently + query the next page most efficiently. It will be empty if + there are no more results. total: type: string format: uint64 @@ -8647,8 +29755,10 @@ paths: was set, its value is undefined otherwise description: >- - QueryDepositsResponse is the response type for the Query/Deposits - RPC method. + QueryValidatorUnbondingDelegationsResponse is response type for + the + + Query/ValidatorUnbondingDelegations RPC method. default: description: An unexpected error response. schema: @@ -8835,12 +29945,11 @@ paths: "value": "1.212s" } parameters: - - name: proposal_id - description: proposal_id defines the unique id of the proposal. + - name: validator_addr + description: validator_addr defines the validator address to query for. in: path required: true type: string - format: uint64 - name: pagination.key description: |- key is a value returned in PageResponse.next_key to begin @@ -8899,277 +30008,276 @@ paths: type: boolean tags: - Query - /cosmos/gov/v1beta1/proposals/{proposal_id}/deposits/{depositor}: - get: - summary: >- - Deposit queries single deposit information based proposalID, - depositAddr. - operationId: CosmosGovV1Beta1Deposit + /cosmos/tx/v1beta1/simulate: + post: + summary: Simulate simulates executing a transaction for estimating gas usage. + operationId: CosmosTxV1Beta1Simulate responses: '200': description: A successful response. schema: type: object properties: - deposit: + gas_info: + description: gas_info is the information about gas used in the simulation. type: object properties: - proposal_id: + gas_wanted: type: string format: uint64 - depositor: + description: >- + GasWanted is the maximum units of work we allow this tx to + perform. + gas_used: type: string - amount: + format: uint64 + description: GasUsed is the amount of gas actually consumed. + result: + description: result is the result of the simulation. + type: object + properties: + data: + type: string + format: byte + description: >- + Data is any data returned from message or handler + execution. It MUST be + + length prefixed in order to separate data from multiple + message executions. + + Deprecated. This field is still populated, but prefer + msg_response instead + + because it also contains the Msg response typeURL. + log: + type: string + description: >- + Log contains the log information from message or handler + execution. + events: type: array items: type: object properties: - denom: - type: string - amount: + type: type: string + attributes: + type: array + items: + type: object + properties: + key: + type: string + format: byte + value: + type: string + format: byte + index: + type: boolean + title: nondeterministic + description: >- + EventAttribute is a single key-value pair, + associated with an event. description: >- - Coin defines a token with a denomination and an amount. + Event allows application developers to attach additional + information to + ResponseBeginBlock, ResponseEndBlock, ResponseCheckTx + and ResponseDeliverTx. - NOTE: The amount field is an Int which implements the - custom method + Later, transactions may be queried using these events. + description: >- + Events contains a slice of Event objects that were emitted + during message - signatures required by gogoproto. - description: >- - Deposit defines an amount deposited by an account address to - an active + or handler execution. + msg_responses: + type: array + items: + type: object + properties: + '@type': + type: string + description: >- + A URL/resource name that uniquely identifies the + type of the serialized - proposal. - description: >- - QueryDepositResponse is the response type for the Query/Deposit - RPC method. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized + protocol buffer message. This string must contain at + least - protocol buffer message. This string must contain at - least + one "/" character. The last segment of the URL's + path must represent - one "/" character. The last segment of the URL's path - must represent + the fully qualified name of the type (as in - the fully qualified name of the type (as in + `path/google.protobuf.Duration`). The name should be + in a canonical form - `path/google.protobuf.Duration`). The name should be in - a canonical form + (e.g., leading "." is not accepted). - (e.g., leading "." is not accepted). + In practice, teams usually precompile into the + binary all types that they - In practice, teams usually precompile into the binary - all types that they + expect it to use in the context of Any. However, for + URLs which use the - expect it to use in the context of Any. However, for - URLs which use the + scheme `http`, `https`, or no scheme, one can + optionally set up a type - scheme `http`, `https`, or no scheme, one can optionally - set up a type + server that maps type URLs to message definitions as + follows: - server that maps type URLs to message definitions as - follows: + * If no scheme is provided, `https` is assumed. - * If no scheme is provided, `https` is assumed. + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results + based on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) + Note: this functionality is not currently available + in the official - Note: this functionality is not currently available in - the official + protobuf release, and it is not used for type URLs + beginning with - protobuf release, and it is not used for type URLs - beginning with + type.googleapis.com. - type.googleapis.com. + Schemes other than `http`, `https` (or the empty + scheme) might be - Schemes other than `http`, `https` (or the empty scheme) - might be + used with implementation specific semantics. + additionalProperties: {} + description: >- + `Any` contains an arbitrary serialized protocol buffer + message along with a - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a + URL that describes the type of the serialized message. - URL that describes the type of the serialized message. + Protobuf library provides support to pack/unpack Any + values in the form - Protobuf library provides support to pack/unpack Any values - in the form + of utility functions or additional generated methods of + the Any type. - of utility functions or additional generated methods of the - Any type. + Example 1: Pack and unpack a message in C++. + + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } - Example 1: Pack and unpack a message in C++. + Example 2: Pack and unpack a message in Java. - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } - Example 2: Pack and unpack a message in Java. + Example 3: Pack and unpack a message in Python. - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... - Example 3: Pack and unpack a message in Python. + Example 4: Pack and unpack a message in Go - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } - Example 4: Pack and unpack a message in Go + The pack methods provided by protobuf library will by + default use - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } + 'type.googleapis.com/full.type.name' as the type URL and + the unpack - The pack methods provided by protobuf library will by - default use + methods only use the fully qualified type name after the + last '/' - 'type.googleapis.com/full.type.name' as the type URL and the - unpack + in the type URL, for example "foo.bar.com/x/y.z" will + yield type - methods only use the fully qualified type name after the - last '/' + name "y.z". - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - name "y.z". + JSON + ==== - JSON + The JSON representation of an `Any` value uses the + regular - ==== + representation of the deserialized, embedded message, + with an - The JSON representation of an `Any` value uses the regular + additional field `@type` which contains the type URL. + Example: - representation of the deserialized, embedded message, with - an + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } - additional field `@type` which contains the type URL. - Example: + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } + If the embedded message type is well-known and has a + custom JSON - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } + representation, that representation will be embedded + adding a field - If the embedded message type is well-known and has a custom - JSON + `value` which holds the custom JSON in addition to the + `@type` - representation, that representation will be embedded adding - a field + field. Example (for message + [google.protobuf.Duration][]): - `value` which holds the custom JSON in addition to the - `@type` + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + description: >- + msg_responses contains the Msg handler responses type + packed in Anys. - field. Example (for message [google.protobuf.Duration][]): - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: proposal_id - description: proposal_id defines the unique id of the proposal. - in: path - required: true - type: string - format: uint64 - - name: depositor - description: depositor defines the deposit addresses from the proposals. - in: path - required: true - type: string - tags: - - Query - /cosmos/gov/v1beta1/proposals/{proposal_id}/tally: - get: - summary: TallyResult queries the tally of a proposal vote. - operationId: CosmosGovV1Beta1TallyResult - responses: - '200': - description: A successful response. - schema: - type: object - properties: - tally: - type: object - properties: - 'yes': - type: string - abstain: - type: string - 'no': - type: string - no_with_veto: - type: string - description: >- - TallyResult defines a standard tally for a governance - proposal. - description: >- - QueryTallyResultResponse is the response type for the Query/Tally - RPC method. + Since: cosmos-sdk 0.46 + description: |- + SimulateResponse is the response type for the + Service.SimulateRPC method. default: description: An unexpected error response. schema: @@ -9356,111 +30464,25 @@ paths: "value": "1.212s" } parameters: - - name: proposal_id - description: proposal_id defines the unique id of the proposal. - in: path + - name: body + description: |- + SimulateRequest is the request type for the Service.Simulate + RPC method. + in: body required: true - type: string - format: uint64 + schema: + $ref: '#/definitions/cosmos.tx.v1beta1.SimulateRequest' tags: - - Query - /cosmos/gov/v1beta1/proposals/{proposal_id}/votes: + - Service + /cosmos/tx/v1beta1/txs: get: - summary: Votes queries votes of a given proposal. - operationId: CosmosGovV1Beta1Votes + summary: GetTxsEvent fetches txs by event. + operationId: CosmosTxV1Beta1GetTxsEvent responses: '200': description: A successful response. schema: - type: object - properties: - votes: - type: array - items: - type: object - properties: - proposal_id: - type: string - format: uint64 - voter: - type: string - option: - description: >- - Deprecated: Prefer to use `options` instead. This field - is set in queries - - if and only if `len(options) == 1` and that option has - weight 1. In all - - other cases, this field will default to - VOTE_OPTION_UNSPECIFIED. - type: string - enum: - - VOTE_OPTION_UNSPECIFIED - - VOTE_OPTION_YES - - VOTE_OPTION_ABSTAIN - - VOTE_OPTION_NO - - VOTE_OPTION_NO_WITH_VETO - default: VOTE_OPTION_UNSPECIFIED - options: - type: array - items: - type: object - properties: - option: - type: string - enum: - - VOTE_OPTION_UNSPECIFIED - - VOTE_OPTION_YES - - VOTE_OPTION_ABSTAIN - - VOTE_OPTION_NO - - VOTE_OPTION_NO_WITH_VETO - default: VOTE_OPTION_UNSPECIFIED - description: >- - VoteOption enumerates the valid vote options for a - given governance proposal. - - - VOTE_OPTION_UNSPECIFIED: VOTE_OPTION_UNSPECIFIED defines a no-op vote option. - - VOTE_OPTION_YES: VOTE_OPTION_YES defines a yes vote option. - - VOTE_OPTION_ABSTAIN: VOTE_OPTION_ABSTAIN defines an abstain vote option. - - VOTE_OPTION_NO: VOTE_OPTION_NO defines a no vote option. - - VOTE_OPTION_NO_WITH_VETO: VOTE_OPTION_NO_WITH_VETO defines a no with veto vote option. - weight: - type: string - description: >- - WeightedVoteOption defines a unit of vote for vote - split. - - - Since: cosmos-sdk 0.43 - title: 'Since: cosmos-sdk 0.43' - description: >- - Vote defines a vote on a governance proposal. - - A Vote consists of a proposal ID, the voter, and the vote - option. - description: votes defined the queried votes. - pagination: - description: pagination defines the pagination in the response. - type: object - properties: - next_key: - type: string - format: byte - title: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently - total: - type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total - - was set, its value is undefined otherwise - description: >- - QueryVotesResponse is the response type for the Query/Votes RPC - method. + $ref: '#/definitions/cosmos.tx.v1beta1.GetTxsEventResponse' default: description: An unexpected error response. schema: @@ -9647,12 +30669,14 @@ paths: "value": "1.212s" } parameters: - - name: proposal_id - description: proposal_id defines the unique id of the proposal. - in: path - required: true - type: string - format: uint64 + - name: events + description: events is the list of transaction event type. + in: query + required: false + type: array + items: + type: string + collectionFormat: multi - name: pagination.key description: |- key is a value returned in PageResponse.next_key to begin @@ -9709,84 +30733,258 @@ paths: in: query required: false type: boolean + - name: order_by + description: |2- + - ORDER_BY_UNSPECIFIED: ORDER_BY_UNSPECIFIED specifies an unknown sorting order. OrderBy defaults to ASC in this case. + - ORDER_BY_ASC: ORDER_BY_ASC defines ascending order + - ORDER_BY_DESC: ORDER_BY_DESC defines descending order + in: query + required: false + type: string + enum: + - ORDER_BY_UNSPECIFIED + - ORDER_BY_ASC + - ORDER_BY_DESC + default: ORDER_BY_UNSPECIFIED + - name: page + description: >- + page is the page number to query, starts at 1. If not provided, will + default to first page. + in: query + required: false + type: string + format: uint64 + - name: limit + description: >- + limit is the total number of results to be returned in the result + page. + + If left empty it will default to a value to be set by each app. + in: query + required: false + type: string + format: uint64 tags: - - Query - /cosmos/gov/v1beta1/proposals/{proposal_id}/votes/{voter}: - get: - summary: Vote queries voted information based on proposalID, voterAddr. - operationId: CosmosGovV1Beta1Vote + - Service + post: + summary: BroadcastTx broadcast transaction. + operationId: CosmosTxV1Beta1BroadcastTx responses: '200': description: A successful response. schema: type: object properties: - vote: + tx_response: + description: tx_response is the queried TxResponses. type: object properties: - proposal_id: + height: type: string - format: uint64 - voter: + format: int64 + title: The block height + txhash: + type: string + description: The transaction hash. + codespace: + type: string + title: Namespace for the Code + code: + type: integer + format: int64 + description: Response code. + data: + type: string + description: Result bytes, if any. + raw_log: type: string - option: description: >- - Deprecated: Prefer to use `options` instead. This field is - set in queries - - if and only if `len(options) == 1` and that option has - weight 1. In all + The output of the application's logger (raw string). May + be - other cases, this field will default to - VOTE_OPTION_UNSPECIFIED. - type: string - enum: - - VOTE_OPTION_UNSPECIFIED - - VOTE_OPTION_YES - - VOTE_OPTION_ABSTAIN - - VOTE_OPTION_NO - - VOTE_OPTION_NO_WITH_VETO - default: VOTE_OPTION_UNSPECIFIED - options: + non-deterministic. + logs: type: array items: type: object properties: - option: + msg_index: + type: integer + format: int64 + log: type: string - enum: - - VOTE_OPTION_UNSPECIFIED - - VOTE_OPTION_YES - - VOTE_OPTION_ABSTAIN - - VOTE_OPTION_NO - - VOTE_OPTION_NO_WITH_VETO - default: VOTE_OPTION_UNSPECIFIED + events: + type: array + items: + type: object + properties: + type: + type: string + attributes: + type: array + items: + type: object + properties: + key: + type: string + value: + type: string + description: >- + Attribute defines an attribute wrapper where + the key and value are + + strings instead of raw bytes. + description: >- + StringEvent defines en Event object wrapper where + all the attributes + + contain key/value pairs that are strings instead + of raw bytes. description: >- - VoteOption enumerates the valid vote options for a - given governance proposal. + Events contains a slice of Event objects that were + emitted during some + + execution. + description: >- + ABCIMessageLog defines a structure containing an indexed + tx ABCI message log. + description: >- + The output of the application's logger (typed). May be + non-deterministic. + info: + type: string + description: Additional information. May be non-deterministic. + gas_wanted: + type: string + format: int64 + description: Amount of gas requested for transaction. + gas_used: + type: string + format: int64 + description: Amount of gas consumed by transaction. + tx: + description: The request transaction bytes. + type: object + properties: + '@type': + type: string + description: >- + A URL/resource name that uniquely identifies the type + of the serialized + + protocol buffer message. This string must contain at + least + + one "/" character. The last segment of the URL's path + must represent + + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name should be + in a canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the binary + all types that they + + expect it to use in the context of Any. However, for + URLs which use the + + scheme `http`, `https`, or no scheme, one can + optionally set up a type + + server that maps type URLs to message definitions as + follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results + based on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available in + the official + + protobuf release, and it is not used for type URLs + beginning with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty + scheme) might be + + used with implementation specific semantics. + additionalProperties: {} + timestamp: + type: string + description: >- + Time of the previous block. For heights > 1, it's the + weighted median of + + the timestamps of the valid votes in the block.LastCommit. + For height == 1, - - VOTE_OPTION_UNSPECIFIED: VOTE_OPTION_UNSPECIFIED defines a no-op vote option. - - VOTE_OPTION_YES: VOTE_OPTION_YES defines a yes vote option. - - VOTE_OPTION_ABSTAIN: VOTE_OPTION_ABSTAIN defines an abstain vote option. - - VOTE_OPTION_NO: VOTE_OPTION_NO defines a no vote option. - - VOTE_OPTION_NO_WITH_VETO: VOTE_OPTION_NO_WITH_VETO defines a no with veto vote option. - weight: + it's genesis time. + events: + type: array + items: + type: object + properties: + type: type: string + attributes: + type: array + items: + type: object + properties: + key: + type: string + format: byte + value: + type: string + format: byte + index: + type: boolean + title: nondeterministic + description: >- + EventAttribute is a single key-value pair, + associated with an event. description: >- - WeightedVoteOption defines a unit of vote for vote - split. + Event allows application developers to attach additional + information to + ResponseBeginBlock, ResponseEndBlock, ResponseCheckTx + and ResponseDeliverTx. - Since: cosmos-sdk 0.43 - title: 'Since: cosmos-sdk 0.43' - description: >- - Vote defines a vote on a governance proposal. + Later, transactions may be queried using these events. + description: >- + Events defines all the events emitted by processing a + transaction. Note, - A Vote consists of a proposal ID, the voter, and the vote - option. - description: >- - QueryVoteResponse is the response type for the Query/Vote RPC - method. + these events include those emitted by processing all the + messages and those + + emitted from the ante. Whereas Logs contains the events, + with + + additional metadata, emitted only by processing the + messages. + + + Since: cosmos-sdk 0.42.11, 0.44.5, 0.45 + description: |- + BroadcastTxResponse is the response type for the + Service.BroadcastTx method. default: description: An unexpected error response. schema: @@ -9937,650 +31135,93 @@ paths: ==== - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: proposal_id - description: proposal_id defines the unique id of the proposal. - in: path - required: true - type: string - format: uint64 - - name: voter - description: voter defines the oter address for the proposals. - in: path - required: true - type: string - tags: - - Query - /cosmos/mint/v1beta1/annual_provisions: - get: - summary: AnnualProvisions current minting annual provisions value. - operationId: CosmosMintV1Beta1AnnualProvisions - responses: - '200': - description: A successful response. - schema: - type: object - properties: - annual_provisions: - type: string - format: byte - description: >- - annual_provisions is the current minting annual provisions - value. - description: |- - QueryAnnualProvisionsResponse is the response type for the - Query/AnnualProvisions RPC method. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - tags: - - Query - /cosmos/mint/v1beta1/inflation: - get: - summary: Inflation returns the current minting inflation value. - operationId: CosmosMintV1Beta1Inflation - responses: - '200': - description: A successful response. - schema: - type: object - properties: - inflation: - type: string - format: byte - description: inflation is the current minting inflation value. - description: >- - QueryInflationResponse is the response type for the - Query/Inflation RPC - - method. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - tags: - - Query - /cosmos/mint/v1beta1/params: - get: - summary: Params returns the total set of minting parameters. - operationId: CosmosMintV1Beta1Params - responses: - '200': - description: A successful response. - schema: - type: object - properties: - params: - description: params defines the parameters of the module. - type: object - properties: - mint_denom: - type: string - title: type of coin to mint - inflation_rate_change: - type: string - title: maximum annual change in inflation rate - inflation_max: - type: string - title: maximum inflation rate - inflation_min: - type: string - title: minimum inflation rate - goal_bonded: - type: string - title: goal of percent bonded atoms - blocks_per_year: - type: string - format: uint64 - title: expected blocks per year - description: >- - QueryParamsResponse is the response type for the Query/Params RPC - method. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - tags: - - Query - /cosmos/params/v1beta1/params: - get: - summary: |- - Params queries a specific parameter of a module, given its subspace and - key. - operationId: CosmosParamsV1Beta1Params - responses: - '200': - description: A successful response. - schema: - type: object - properties: - param: - description: param defines the queried parameter. - type: object - properties: - subspace: - type: string - key: - type: string - value: - type: string - description: >- - QueryParamsResponse is response type for the Query/Params RPC - method. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: subspace - description: subspace defines the module to query the parameter for. - in: query - required: false - type: string - - name: key - description: key defines the key of the parameter in the subspace. - in: query - required: false - type: string - tags: - - Query - /cosmos/slashing/v1beta1/params: - get: - summary: Params queries the parameters of slashing module - operationId: CosmosSlashingV1Beta1Params - responses: - '200': - description: A successful response. - schema: - type: object - properties: - params: - type: object - properties: - signed_blocks_window: - type: string - format: int64 - min_signed_per_window: - type: string - format: byte - downtime_jail_duration: - type: string - slash_fraction_double_sign: - type: string - format: byte - slash_fraction_downtime: - type: string - format: byte - description: >- - Params represents the parameters used for by the slashing - module. - title: >- - QueryParamsResponse is the response type for the Query/Params RPC - method - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - tags: - - Query - /cosmos/slashing/v1beta1/signing_infos: - get: - summary: SigningInfos queries signing info of all validators - operationId: CosmosSlashingV1Beta1SigningInfos - responses: - '200': - description: A successful response. - schema: - type: object - properties: - info: - type: array - items: - type: object - properties: - address: - type: string - start_height: - type: string - format: int64 - title: >- - Height at which validator was first a candidate OR was - unjailed - index_offset: - type: string - format: int64 - description: >- - Index which is incremented each time the validator was a - bonded - - in a block and may have signed a precommit or not. This - in conjunction with the - - `SignedBlocksWindow` param determines the index in the - `MissedBlocksBitArray`. - jailed_until: - type: string - format: date-time - description: >- - Timestamp until which the validator is jailed due to - liveness downtime. - tombstoned: - type: boolean - description: >- - Whether or not a validator has been tombstoned (killed - out of validator set). It is set - - once the validator commits an equivocation or for any - other configured misbehiavor. - missed_blocks_counter: - type: string - format: int64 - description: >- - A counter kept to avoid unnecessary array reads. - - Note that `Sum(MissedBlocksBitArray)` always equals - `MissedBlocksCounter`. - description: >- - ValidatorSigningInfo defines a validator's signing info for - monitoring their - - liveness activity. - title: info is the signing info of all validators - pagination: - type: object - properties: - next_key: - type: string - format: byte - title: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently - total: - type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total - - was set, its value is undefined otherwise - description: >- - PageResponse is to be embedded in gRPC response messages where - the - - corresponding request message has used PageRequest. - - message SomeResponse { - repeated Bar results = 1; - PageResponse page = 2; - } - title: >- - QuerySigningInfosResponse is the response type for the - Query/SigningInfos RPC - - method - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: pagination.key - description: |- - key is a value returned in PageResponse.next_key to begin - querying the next page most efficiently. Only one of offset or key - should be set. - in: query - required: false - type: string - format: byte - - name: pagination.offset - description: >- - offset is a numeric offset that can be used when key is unavailable. - - It is less efficient than using key. Only one of offset or key - should - - be set. - in: query - required: false - type: string - format: uint64 - - name: pagination.limit - description: >- - limit is the total number of results to be returned in the result - page. - - If left empty it will default to a value to be set by each app. - in: query - required: false - type: string - format: uint64 - - name: pagination.count_total - description: >- - count_total is set to true to indicate that the result set should - include - - a count of the total number of items available for pagination in - UIs. - - count_total is only respected when offset is used. It is ignored - when key - - is set. - in: query - required: false - type: boolean - - name: pagination.reverse - description: >- - reverse is set to true if results are to be returned in the - descending order. - + The JSON representation of an `Any` value uses the regular - Since: cosmos-sdk 0.43 - in: query - required: false - type: boolean - tags: - - Query - /cosmos/slashing/v1beta1/signing_infos/{cons_address}: - get: - summary: SigningInfo queries the signing info of given cons address - operationId: CosmosSlashingV1Beta1SigningInfo - responses: - '200': - description: A successful response. - schema: - type: object - properties: - val_signing_info: - type: object - properties: - address: - type: string - start_height: - type: string - format: int64 - title: >- - Height at which validator was first a candidate OR was - unjailed - index_offset: - type: string - format: int64 - description: >- - Index which is incremented each time the validator was a - bonded + representation of the deserialized, embedded message, with + an - in a block and may have signed a precommit or not. This in - conjunction with the + additional field `@type` which contains the type URL. + Example: - `SignedBlocksWindow` param determines the index in the - `MissedBlocksBitArray`. - jailed_until: - type: string - format: date-time - description: >- - Timestamp until which the validator is jailed due to - liveness downtime. - tombstoned: - type: boolean - description: >- - Whether or not a validator has been tombstoned (killed out - of validator set). It is set + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } - once the validator commits an equivocation or for any - other configured misbehiavor. - missed_blocks_counter: - type: string - format: int64 - description: >- - A counter kept to avoid unnecessary array reads. + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } - Note that `Sum(MissedBlocksBitArray)` always equals - `MissedBlocksCounter`. - description: >- - ValidatorSigningInfo defines a validator's signing info for - monitoring their + If the embedded message type is well-known and has a custom + JSON - liveness activity. - title: >- - val_signing_info is the signing info of requested val cons - address - title: >- - QuerySigningInfoResponse is the response type for the - Query/SigningInfo RPC + representation, that representation will be embedded adding + a field - method - default: - description: An unexpected error response. + `value` which holds the custom JSON in addition to the + `@type` + + field. Example (for message [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + parameters: + - name: body + description: >- + BroadcastTxRequest is the request type for the + Service.BroadcastTxRequest + + RPC method. + in: body + required: true schema: type: object properties: - code: - type: integer - format: int32 - message: + tx_bytes: type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: cons_address - description: cons_address is the address to query signing info of - in: path - required: true - type: string + format: byte + description: tx_bytes is the raw transaction. + mode: + type: string + enum: + - BROADCAST_MODE_UNSPECIFIED + - BROADCAST_MODE_BLOCK + - BROADCAST_MODE_SYNC + - BROADCAST_MODE_ASYNC + default: BROADCAST_MODE_UNSPECIFIED + description: >- + BroadcastMode specifies the broadcast mode for the + TxService.Broadcast RPC method. + + - BROADCAST_MODE_UNSPECIFIED: zero-value for mode ordering + - BROADCAST_MODE_BLOCK: BROADCAST_MODE_BLOCK defines a tx broadcasting mode where the client waits for + the tx to be committed in a block. + - BROADCAST_MODE_SYNC: BROADCAST_MODE_SYNC defines a tx broadcasting mode where the client waits for + a CheckTx execution response only. + - BROADCAST_MODE_ASYNC: BROADCAST_MODE_ASYNC defines a tx broadcasting mode where the client returns + immediately. + description: >- + BroadcastTxRequest is the request type for the + Service.BroadcastTxRequest + + RPC method. tags: - - Query - /cosmos/staking/v1beta1/delegations/{delegator_addr}: + - Service + /cosmos/tx/v1beta1/txs/block/{height}: get: - summary: >- - DelegatorDelegations queries all delegations of a given delegator - address. - operationId: CosmosStakingV1Beta1DelegatorDelegations + summary: GetBlockWithTxs fetches a block with decoded txs. + description: 'Since: cosmos-sdk 0.45.2' + operationId: CosmosTxV1Beta1GetBlockWithTxs responses: '200': description: A successful response. schema: - type: object - properties: - delegation_responses: - type: array - items: - type: object - properties: - delegation: - type: object - properties: - delegator_address: - type: string - description: >- - delegator_address is the bech32-encoded address of - the delegator. - validator_address: - type: string - description: >- - validator_address is the bech32-encoded address of - the validator. - shares: - type: string - description: shares define the delegation shares received. - description: >- - Delegation represents the bond with tokens held by an - account. It is - - owned by one delegator, and is associated with the - voting power of one - - validator. - balance: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the - custom method - - signatures required by gogoproto. - description: >- - DelegationResponse is equivalent to Delegation except that - it contains a - - balance in addition to shares which is more suitable for - client responses. - description: >- - delegation_responses defines all the delegations' info of a - delegator. - pagination: - description: pagination defines the pagination in the response. - type: object - properties: - next_key: - type: string - format: byte - title: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently - total: - type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total - - was set, its value is undefined otherwise - description: |- - QueryDelegatorDelegationsResponse is response type for the - Query/DelegatorDelegations RPC method. + $ref: '#/definitions/cosmos.tx.v1beta1.GetBlockWithTxsResponse' default: description: An unexpected error response. schema: @@ -10767,11 +31408,12 @@ paths: "value": "1.212s" } parameters: - - name: delegator_addr - description: delegator_addr defines the delegator address to query for. + - name: height + description: height is the height of the block to query. in: path required: true type: string + format: int64 - name: pagination.key description: |- key is a value returned in PageResponse.next_key to begin @@ -10829,151 +31471,226 @@ paths: required: false type: boolean tags: - - Query - /cosmos/staking/v1beta1/delegators/{delegator_addr}/redelegations: + - Service + /cosmos/tx/v1beta1/txs/{hash}: get: - summary: Redelegations queries redelegations of given address. - operationId: CosmosStakingV1Beta1Redelegations + summary: GetTx fetches a tx by hash. + operationId: CosmosTxV1Beta1GetTx responses: '200': description: A successful response. + schema: + $ref: '#/definitions/cosmos.tx.v1beta1.GetTxResponse' + default: + description: An unexpected error response. schema: type: object properties: - redelegation_responses: + code: + type: integer + format: int32 + message: + type: string + details: type: array items: type: object properties: - redelegation: - type: object - properties: - delegator_address: - type: string - description: >- - delegator_address is the bech32-encoded address of - the delegator. - validator_src_address: - type: string - description: >- - validator_src_address is the validator redelegation - source operator address. - validator_dst_address: - type: string - description: >- - validator_dst_address is the validator redelegation - destination operator address. - entries: - type: array - items: - type: object - properties: - creation_height: - type: string - format: int64 - description: >- - creation_height defines the height which the - redelegation took place. - completion_time: - type: string - format: date-time - description: >- - completion_time defines the unix time for - redelegation completion. - initial_balance: - type: string - description: >- - initial_balance defines the initial balance - when redelegation started. - shares_dst: - type: string - description: >- - shares_dst is the amount of - destination-validator shares created by - redelegation. - description: >- - RedelegationEntry defines a redelegation object - with relevant metadata. - description: entries are the redelegation entries. + '@type': + type: string description: >- - Redelegation contains the list of a particular - delegator's redelegating bonds + A URL/resource name that uniquely identifies the type of + the serialized - from a particular source validator to a particular - destination validator. - entries: - type: array - items: - type: object - properties: - redelegation_entry: - type: object - properties: - creation_height: - type: string - format: int64 - description: >- - creation_height defines the height which the - redelegation took place. - completion_time: - type: string - format: date-time - description: >- - completion_time defines the unix time for - redelegation completion. - initial_balance: - type: string - description: >- - initial_balance defines the initial balance - when redelegation started. - shares_dst: - type: string - description: >- - shares_dst is the amount of - destination-validator shares created by - redelegation. - description: >- - RedelegationEntry defines a redelegation object - with relevant metadata. - balance: - type: string - description: >- - RedelegationEntryResponse is equivalent to a - RedelegationEntry except that it + protocol buffer message. This string must contain at + least - contains a balance in addition to shares which is more - suitable for client + one "/" character. The last segment of the URL's path + must represent - responses. + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name should be in + a canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the binary + all types that they + + expect it to use in the context of Any. However, for + URLs which use the + + scheme `http`, `https`, or no scheme, one can optionally + set up a type + + server that maps type URLs to message definitions as + follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based + on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available in + the official + + protobuf release, and it is not used for type URLs + beginning with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty scheme) + might be + + used with implementation specific semantics. + additionalProperties: {} description: >- - RedelegationResponse is equivalent to a Redelegation except - that its entries + `Any` contains an arbitrary serialized protocol buffer + message along with a - contain a balance in addition to shares which is more - suitable for client + URL that describes the type of the serialized message. - responses. - pagination: - description: pagination defines the pagination in the response. - type: object - properties: - next_key: - type: string - format: byte - title: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently - total: - type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total - was set, its value is undefined otherwise + Protobuf library provides support to pack/unpack Any values + in the form + + of utility functions or additional generated methods of the + Any type. + + + Example 1: Pack and unpack a message in C++. + + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } + + Example 2: Pack and unpack a message in Java. + + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + + Example 3: Pack and unpack a message in Python. + + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + + Example 4: Pack and unpack a message in Go + + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } + + The pack methods provided by protobuf library will by + default use + + 'type.googleapis.com/full.type.name' as the type URL and the + unpack + + methods only use the fully qualified type name after the + last '/' + + in the type URL, for example "foo.bar.com/x/y.z" will yield + type + + name "y.z". + + + + JSON + + ==== + + The JSON representation of an `Any` value uses the regular + + representation of the deserialized, embedded message, with + an + + additional field `@type` which contains the type URL. + Example: + + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } + + If the embedded message type is well-known and has a custom + JSON + + representation, that representation will be embedded adding + a field + + `value` which holds the custom JSON in addition to the + `@type` + + field. Example (for message [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + parameters: + - name: hash + description: hash is the tx hash to query, encoded as a hex string. + in: path + required: true + type: string + tags: + - Service + /cosmos/upgrade/v1beta1/applied_plan/{name}: + get: + summary: AppliedPlan queries a previously applied upgrade plan by its name. + operationId: CosmosUpgradeV1Beta1AppliedPlan + responses: + '200': + description: A successful response. + schema: + type: object + properties: + height: + type: string + format: int64 + description: height is the block height at which the plan was applied. description: >- - QueryRedelegationsResponse is response type for the - Query/Redelegations RPC + QueryAppliedPlanResponse is the response type for the + Query/AppliedPlan RPC method. default: @@ -11162,167 +31879,28 @@ paths: "value": "1.212s" } parameters: - - name: delegator_addr - description: delegator_addr defines the delegator address to query for. + - name: name + description: name is the name of the applied plan to query for. in: path required: true type: string - - name: src_validator_addr - description: src_validator_addr defines the validator address to redelegate from. - in: query - required: false - type: string - - name: dst_validator_addr - description: dst_validator_addr defines the validator address to redelegate to. - in: query - required: false - type: string - - name: pagination.key - description: |- - key is a value returned in PageResponse.next_key to begin - querying the next page most efficiently. Only one of offset or key - should be set. - in: query - required: false - type: string - format: byte - - name: pagination.offset - description: >- - offset is a numeric offset that can be used when key is unavailable. - - It is less efficient than using key. Only one of offset or key - should - - be set. - in: query - required: false - type: string - format: uint64 - - name: pagination.limit - description: >- - limit is the total number of results to be returned in the result - page. - - If left empty it will default to a value to be set by each app. - in: query - required: false - type: string - format: uint64 - - name: pagination.count_total - description: >- - count_total is set to true to indicate that the result set should - include - - a count of the total number of items available for pagination in - UIs. - - count_total is only respected when offset is used. It is ignored - when key - - is set. - in: query - required: false - type: boolean - - name: pagination.reverse - description: >- - reverse is set to true if results are to be returned in the - descending order. - - - Since: cosmos-sdk 0.43 - in: query - required: false - type: boolean tags: - Query - /cosmos/staking/v1beta1/delegators/{delegator_addr}/unbonding_delegations: + /cosmos/upgrade/v1beta1/authority: get: - summary: >- - DelegatorUnbondingDelegations queries all unbonding delegations of a - given - - delegator address. - operationId: CosmosStakingV1Beta1DelegatorUnbondingDelegations + summary: Returns the account with authority to conduct upgrades + description: 'Since: cosmos-sdk 0.46' + operationId: CosmosUpgradeV1Beta1Authority responses: '200': description: A successful response. schema: type: object properties: - unbonding_responses: - type: array - items: - type: object - properties: - delegator_address: - type: string - description: >- - delegator_address is the bech32-encoded address of the - delegator. - validator_address: - type: string - description: >- - validator_address is the bech32-encoded address of the - validator. - entries: - type: array - items: - type: object - properties: - creation_height: - type: string - format: int64 - description: >- - creation_height is the height which the unbonding - took place. - completion_time: - type: string - format: date-time - description: >- - completion_time is the unix time for unbonding - completion. - initial_balance: - type: string - description: >- - initial_balance defines the tokens initially - scheduled to receive at completion. - balance: - type: string - description: >- - balance defines the tokens to receive at - completion. - description: >- - UnbondingDelegationEntry defines an unbonding object - with relevant metadata. - description: entries are the unbonding delegation entries. - description: >- - UnbondingDelegation stores all of a single delegator's - unbonding bonds - - for a single validator in an time-ordered list. - pagination: - description: pagination defines the pagination in the response. - type: object - properties: - next_key: - type: string - format: byte - title: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently - total: - type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total - - was set, its value is undefined otherwise - description: >- - QueryUnbondingDelegatorDelegationsResponse is response type for - the - - Query/UnbondingDelegatorDelegations RPC method. + address: + type: string + description: 'Since: cosmos-sdk 0.46' + title: QueryAuthorityResponse is the response type for Query/Authority default: description: An unexpected error response. schema: @@ -11508,414 +32086,367 @@ paths: "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" } - parameters: - - name: delegator_addr - description: delegator_addr defines the delegator address to query for. - in: path - required: true - type: string - - name: pagination.key - description: |- - key is a value returned in PageResponse.next_key to begin - querying the next page most efficiently. Only one of offset or key - should be set. - in: query - required: false - type: string - format: byte - - name: pagination.offset - description: >- - offset is a numeric offset that can be used when key is unavailable. + tags: + - Query + /cosmos/upgrade/v1beta1/current_plan: + get: + summary: CurrentPlan queries the current upgrade plan. + operationId: CosmosUpgradeV1Beta1CurrentPlan + responses: + '200': + description: A successful response. + schema: + type: object + properties: + plan: + description: plan is the current upgrade plan. + type: object + properties: + name: + type: string + description: >- + Sets the name for the upgrade. This name will be used by + the upgraded - It is less efficient than using key. Only one of offset or key - should + version of the software to apply any special "on-upgrade" + commands during - be set. - in: query - required: false - type: string - format: uint64 - - name: pagination.limit - description: >- - limit is the total number of results to be returned in the result - page. + the first BeginBlock method after the upgrade is applied. + It is also used - If left empty it will default to a value to be set by each app. - in: query - required: false - type: string - format: uint64 - - name: pagination.count_total - description: >- - count_total is set to true to indicate that the result set should - include + to detect whether a software version can handle a given + upgrade. If no - a count of the total number of items available for pagination in - UIs. + upgrade handler with this name has been set in the + software, it will be - count_total is only respected when offset is used. It is ignored - when key + assumed that the software is out-of-date when the upgrade + Time or Height is - is set. - in: query - required: false - type: boolean - - name: pagination.reverse - description: >- - reverse is set to true if results are to be returned in the - descending order. + reached and the software will exit. + time: + type: string + format: date-time + description: >- + Deprecated: Time based upgrades have been deprecated. Time + based upgrade logic + has been removed from the SDK. - Since: cosmos-sdk 0.43 - in: query - required: false - type: boolean - tags: - - Query - /cosmos/staking/v1beta1/delegators/{delegator_addr}/validators: - get: - summary: |- - DelegatorValidators queries all validators info for given delegator - address. - operationId: CosmosStakingV1Beta1DelegatorValidators - responses: - '200': - description: A successful response. + If this field is not empty, an error will be thrown. + height: + type: string + format: int64 + description: |- + The height at which the upgrade must be performed. + Only used if Time is not set. + info: + type: string + title: >- + Any application specific upgrade info to be included + on-chain + + such as a git commit that validators could automatically + upgrade to + upgraded_client_state: + description: >- + Deprecated: UpgradedClientState field has been deprecated. + IBC upgrade logic has been + + moved to the IBC module in the sub module 02-client. + + If this field is not empty, an error will be thrown. + type: object + properties: + '@type': + type: string + description: >- + A URL/resource name that uniquely identifies the type + of the serialized + + protocol buffer message. This string must contain at + least + + one "/" character. The last segment of the URL's path + must represent + + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name should be + in a canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the binary + all types that they + + expect it to use in the context of Any. However, for + URLs which use the + + scheme `http`, `https`, or no scheme, one can + optionally set up a type + + server that maps type URLs to message definitions as + follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results + based on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available in + the official + + protobuf release, and it is not used for type URLs + beginning with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty + scheme) might be + + used with implementation specific semantics. + additionalProperties: {} + description: >- + QueryCurrentPlanResponse is the response type for the + Query/CurrentPlan RPC + + method. + default: + description: An unexpected error response. schema: type: object properties: - validators: + code: + type: integer + format: int32 + message: + type: string + details: type: array items: type: object properties: - operator_address: + '@type': type: string description: >- - operator_address defines the address of the validator's - operator; bech encoded in JSON. - consensus_pubkey: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the - type of the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's - path must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be - in a canonical form - - (e.g., leading "." is not accepted). - + A URL/resource name that uniquely identifies the type of + the serialized - In practice, teams usually precompile into the - binary all types that they + protocol buffer message. This string must contain at + least - expect it to use in the context of Any. However, for - URLs which use the + one "/" character. The last segment of the URL's path + must represent - scheme `http`, `https`, or no scheme, one can - optionally set up a type + the fully qualified name of the type (as in - server that maps type URLs to message definitions as - follows: + `path/google.protobuf.Duration`). The name should be in + a canonical form + (e.g., leading "." is not accepted). - * If no scheme is provided, `https` is assumed. - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results - based on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) + In practice, teams usually precompile into the binary + all types that they - Note: this functionality is not currently available - in the official + expect it to use in the context of Any. However, for + URLs which use the - protobuf release, and it is not used for type URLs - beginning with + scheme `http`, `https`, or no scheme, one can optionally + set up a type - type.googleapis.com. + server that maps type URLs to message definitions as + follows: - Schemes other than `http`, `https` (or the empty - scheme) might be + * If no scheme is provided, `https` is assumed. - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based + on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) - URL that describes the type of the serialized message. + Note: this functionality is not currently available in + the official + protobuf release, and it is not used for type URLs + beginning with - Protobuf library provides support to pack/unpack Any - values in the form + type.googleapis.com. - of utility functions or additional generated methods of - the Any type. + Schemes other than `http`, `https` (or the empty scheme) + might be - Example 1: Pack and unpack a message in C++. + used with implementation specific semantics. + additionalProperties: {} + description: >- + `Any` contains an arbitrary serialized protocol buffer + message along with a - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } + URL that describes the type of the serialized message. - Example 2: Pack and unpack a message in Java. - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } + Protobuf library provides support to pack/unpack Any values + in the form - Example 3: Pack and unpack a message in Python. + of utility functions or additional generated methods of the + Any type. - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - Example 4: Pack and unpack a message in Go + Example 1: Pack and unpack a message in C++. - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } - The pack methods provided by protobuf library will by - default use + Example 2: Pack and unpack a message in Java. - 'type.googleapis.com/full.type.name' as the type URL and - the unpack + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } - methods only use the fully qualified type name after the - last '/' + Example 3: Pack and unpack a message in Python. - in the type URL, for example "foo.bar.com/x/y.z" will - yield type + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... - name "y.z". + Example 4: Pack and unpack a message in Go + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } + The pack methods provided by protobuf library will by + default use - JSON + 'type.googleapis.com/full.type.name' as the type URL and the + unpack - ==== + methods only use the fully qualified type name after the + last '/' - The JSON representation of an `Any` value uses the - regular + in the type URL, for example "foo.bar.com/x/y.z" will yield + type - representation of the deserialized, embedded message, - with an + name "y.z". - additional field `@type` which contains the type URL. - Example: - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } + JSON - If the embedded message type is well-known and has a - custom JSON + ==== - representation, that representation will be embedded - adding a field + The JSON representation of an `Any` value uses the regular - `value` which holds the custom JSON in addition to the - `@type` + representation of the deserialized, embedded message, with + an - field. Example (for message - [google.protobuf.Duration][]): + additional field `@type` which contains the type URL. + Example: - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - jailed: - type: boolean - description: >- - jailed defined whether the validator has been jailed - from bonded status or not. - status: - description: >- - status is the validator status - (bonded/unbonding/unbonded). - type: string - enum: - - BOND_STATUS_UNSPECIFIED - - BOND_STATUS_UNBONDED - - BOND_STATUS_UNBONDING - - BOND_STATUS_BONDED - default: BOND_STATUS_UNSPECIFIED - tokens: - type: string - description: >- - tokens define the delegated tokens (incl. - self-delegation). - delegator_shares: - type: string - description: >- - delegator_shares defines total shares issued to a - validator's delegators. - description: - description: >- - description defines the description terms for the - validator. - type: object - properties: - moniker: - type: string - description: >- - moniker defines a human-readable name for the - validator. - identity: - type: string - description: >- - identity defines an optional identity signature (ex. - UPort or Keybase). - website: - type: string - description: website defines an optional website link. - security_contact: - type: string - description: >- - security_contact defines an optional email for - security contact. - details: - type: string - description: details define other optional details. - unbonding_height: - type: string - format: int64 - description: >- - unbonding_height defines, if unbonding, the height at - which this validator has begun unbonding. - unbonding_time: - type: string - format: date-time - description: >- - unbonding_time defines, if unbonding, the min time for - the validator to complete unbonding. - commission: - description: commission defines the commission parameters. - type: object - properties: - commission_rates: - description: >- - commission_rates defines the initial commission - rates to be used for creating a validator. - type: object - properties: - rate: - type: string - description: >- - rate is the commission rate charged to - delegators, as a fraction. - max_rate: - type: string - description: >- - max_rate defines the maximum commission rate - which validator can ever charge, as a fraction. - max_change_rate: - type: string - description: >- - max_change_rate defines the maximum daily - increase of the validator commission, as a - fraction. - update_time: - type: string - format: date-time - description: >- - update_time is the last time the commission rate was - changed. - min_self_delegation: - type: string - description: >- - min_self_delegation is the validator's self declared - minimum self delegation. - description: >- - Validator defines a validator, together with the total - amount of the + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } - Validator's bond shares and their exchange rate to coins. - Slashing results in + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } - a decrease in the exchange rate, allowing correct - calculation of future + If the embedded message type is well-known and has a custom + JSON - undelegations without iterating over delegators. When coins - are delegated to + representation, that representation will be embedded adding + a field - this validator, the validator is credited with a delegation - whose number of + `value` which holds the custom JSON in addition to the + `@type` - bond shares is based on the amount of coins delegated - divided by the current + field. Example (for message [google.protobuf.Duration][]): - exchange rate. Voting power can be calculated as total - bonded shares + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + tags: + - Query + /cosmos/upgrade/v1beta1/module_versions: + get: + summary: ModuleVersions queries the list of module versions from state. + description: 'Since: cosmos-sdk 0.43' + operationId: CosmosUpgradeV1Beta1ModuleVersions + responses: + '200': + description: A successful response. + schema: + type: object + properties: + module_versions: + type: array + items: + type: object + properties: + name: + type: string + title: name of the app module + version: + type: string + format: uint64 + title: consensus version of the app module + description: |- + ModuleVersion specifies a module and its consensus version. - multiplied by exchange rate. - description: validators defines the the validators' info of a delegator. - pagination: - description: pagination defines the pagination in the response. - type: object - properties: - next_key: - type: string - format: byte - title: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently - total: - type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total + Since: cosmos-sdk 0.43 + description: >- + module_versions is a list of module names with their consensus + versions. + description: >- + QueryModuleVersionsResponse is the response type for the + Query/ModuleVersions - was set, its value is undefined otherwise - description: |- - QueryDelegatorValidatorsResponse is response type for the - Query/DelegatorValidators RPC method. + RPC method. + + + Since: cosmos-sdk 0.43 default: description: An unexpected error response. schema: @@ -12102,389 +32633,922 @@ paths: "value": "1.212s" } parameters: - - name: delegator_addr - description: delegator_addr defines the delegator address to query for. - in: path - required: true - type: string - - name: pagination.key + - name: module_name description: |- - key is a value returned in PageResponse.next_key to begin - querying the next page most efficiently. Only one of offset or key - should be set. - in: query - required: false - type: string - format: byte - - name: pagination.offset - description: >- - offset is a numeric offset that can be used when key is unavailable. - - It is less efficient than using key. Only one of offset or key - should - - be set. - in: query - required: false - type: string - format: uint64 - - name: pagination.limit - description: >- - limit is the total number of results to be returned in the result - page. - - If left empty it will default to a value to be set by each app. + module_name is a field to query a specific module + consensus version from state. Leaving this empty will + fetch the full list of module versions from state in: query required: false type: string - format: uint64 - - name: pagination.count_total - description: >- - count_total is set to true to indicate that the result set should - include + tags: + - Query + /cosmos/upgrade/v1beta1/upgraded_consensus_state/{last_height}: + get: + summary: >- + UpgradedConsensusState queries the consensus state that will serve - a count of the total number of items available for pagination in - UIs. + as a trusted kernel for the next version of this chain. It will only be - count_total is only respected when offset is used. It is ignored - when key + stored at the last height of this chain. - is set. - in: query - required: false - type: boolean - - name: pagination.reverse - description: >- - reverse is set to true if results are to be returned in the - descending order. + UpgradedConsensusState RPC not supported with legacy querier + This rpc is deprecated now that IBC has its own replacement - Since: cosmos-sdk 0.43 - in: query - required: false - type: boolean - tags: - - Query - /cosmos/staking/v1beta1/delegators/{delegator_addr}/validators/{validator_addr}: - get: - summary: |- - DelegatorValidator queries validator info for given delegator validator - pair. - operationId: CosmosStakingV1Beta1DelegatorValidator + (https://github.com/cosmos/ibc-go/blob/2c880a22e9f9cc75f62b527ca94aa75ce1106001/proto/ibc/core/client/v1/query.proto#L54) + operationId: CosmosUpgradeV1Beta1UpgradedConsensusState responses: '200': description: A successful response. schema: type: object properties: - validator: - type: object - properties: - operator_address: - type: string - description: >- - operator_address defines the address of the validator's - operator; bech encoded in JSON. - consensus_pubkey: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type - of the serialized + upgraded_consensus_state: + type: string + format: byte + title: 'Since: cosmos-sdk 0.43' + description: >- + QueryUpgradedConsensusStateResponse is the response type for the + Query/UpgradedConsensusState - protocol buffer message. This string must contain at - least + RPC method. + default: + description: An unexpected error response. + schema: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + '@type': + type: string + description: >- + A URL/resource name that uniquely identifies the type of + the serialized - one "/" character. The last segment of the URL's path - must represent + protocol buffer message. This string must contain at + least - the fully qualified name of the type (as in + one "/" character. The last segment of the URL's path + must represent - `path/google.protobuf.Duration`). The name should be - in a canonical form + the fully qualified name of the type (as in - (e.g., leading "." is not accepted). + `path/google.protobuf.Duration`). The name should be in + a canonical form + (e.g., leading "." is not accepted). - In practice, teams usually precompile into the binary - all types that they - expect it to use in the context of Any. However, for - URLs which use the + In practice, teams usually precompile into the binary + all types that they - scheme `http`, `https`, or no scheme, one can - optionally set up a type + expect it to use in the context of Any. However, for + URLs which use the - server that maps type URLs to message definitions as - follows: + scheme `http`, `https`, or no scheme, one can optionally + set up a type + server that maps type URLs to message definitions as + follows: - * If no scheme is provided, `https` is assumed. - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results - based on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) + * If no scheme is provided, `https` is assumed. - Note: this functionality is not currently available in - the official + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based + on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) - protobuf release, and it is not used for type URLs - beginning with + Note: this functionality is not currently available in + the official - type.googleapis.com. + protobuf release, and it is not used for type URLs + beginning with + type.googleapis.com. - Schemes other than `http`, `https` (or the empty - scheme) might be - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a + Schemes other than `http`, `https` (or the empty scheme) + might be - URL that describes the type of the serialized message. + used with implementation specific semantics. + additionalProperties: {} + description: >- + `Any` contains an arbitrary serialized protocol buffer + message along with a + URL that describes the type of the serialized message. - Protobuf library provides support to pack/unpack Any - values in the form - of utility functions or additional generated methods of - the Any type. + Protobuf library provides support to pack/unpack Any values + in the form + + of utility functions or additional generated methods of the + Any type. - Example 1: Pack and unpack a message in C++. + Example 1: Pack and unpack a message in C++. - Foo foo = ...; - Any any; - any.PackFrom(foo); + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { ... - if (any.UnpackTo(&foo)) { - ... - } + } - Example 2: Pack and unpack a message in Java. + Example 2: Pack and unpack a message in Java. - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } - Example 3: Pack and unpack a message in Python. + Example 3: Pack and unpack a message in Python. - foo = Foo(...) - any = Any() - any.Pack(foo) + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - Example 4: Pack and unpack a message in Go + Example 4: Pack and unpack a message in Go - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } - The pack methods provided by protobuf library will by - default use + The pack methods provided by protobuf library will by + default use - 'type.googleapis.com/full.type.name' as the type URL and - the unpack + 'type.googleapis.com/full.type.name' as the type URL and the + unpack - methods only use the fully qualified type name after the - last '/' + methods only use the fully qualified type name after the + last '/' - in the type URL, for example "foo.bar.com/x/y.z" will - yield type + in the type URL, for example "foo.bar.com/x/y.z" will yield + type - name "y.z". + name "y.z". - JSON + JSON - ==== + ==== - The JSON representation of an `Any` value uses the regular + The JSON representation of an `Any` value uses the regular - representation of the deserialized, embedded message, with - an + representation of the deserialized, embedded message, with + an - additional field `@type` which contains the type URL. - Example: + additional field `@type` which contains the type URL. + Example: - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } - If the embedded message type is well-known and has a - custom JSON + If the embedded message type is well-known and has a custom + JSON - representation, that representation will be embedded - adding a field + representation, that representation will be embedded adding + a field - `value` which holds the custom JSON in addition to the - `@type` + `value` which holds the custom JSON in addition to the + `@type` - field. Example (for message [google.protobuf.Duration][]): + field. Example (for message [google.protobuf.Duration][]): - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - jailed: - type: boolean - description: >- - jailed defined whether the validator has been jailed from - bonded status or not. - status: - description: >- - status is the validator status - (bonded/unbonding/unbonded). + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + parameters: + - name: last_height + description: |- + last height of the current chain must be sent in request + as this is the height under which next consensus state is stored + in: path + required: true + type: string + format: int64 + tags: + - Query + /DecentralCardGame/Cardchain/cardchain/params: + get: + summary: Parameters queries the parameters of the module. + operationId: DecentralCardGameCardchainCardchainParams + responses: + '200': + description: A successful response. + schema: + type: object + properties: + params: + description: params holds all the parameters of this module. + type: object + properties: + votingRightsExpirationTime: type: string - enum: - - BOND_STATUS_UNSPECIFIED - - BOND_STATUS_UNBONDED - - BOND_STATUS_UNBONDING - - BOND_STATUS_BONDED - default: BOND_STATUS_UNSPECIFIED - tokens: + format: int64 + setSize: type: string - description: >- - tokens define the delegated tokens (incl. - self-delegation). - delegator_shares: + format: uint64 + setPrice: type: string - description: >- - delegator_shares defines total shares issued to a - validator's delegators. - description: - description: >- - description defines the description terms for the - validator. - type: object - properties: - moniker: - type: string - description: >- - moniker defines a human-readable name for the - validator. - identity: - type: string - description: >- - identity defines an optional identity signature (ex. - UPort or Keybase). - website: - type: string - description: website defines an optional website link. - security_contact: - type: string - description: >- - security_contact defines an optional email for - security contact. - details: + activeSetsAmount: + type: string + format: uint64 + setCreationFee: + type: string + collateralDeposit: + type: string + winnerReward: + type: string + format: int64 + hourlyFaucet: + type: string + inflationRate: + type: string + raresPerPack: + type: string + format: uint64 + commonsPerPack: + type: string + format: uint64 + unCommonsPerPack: + type: string + format: uint64 + trialPeriod: + type: string + format: uint64 + gameVoteRatio: + type: string + format: int64 + cardAuctionPriceReductionPeriod: + type: string + format: int64 + airDropValue: + type: string + airDropMaxBlockHeight: + type: string + format: int64 + trialVoteReward: + type: string + votePoolFraction: + type: string + format: int64 + votingRewardCap: + type: string + format: int64 + matchWorkerDelay: + type: string + format: uint64 + rareDropRatio: + type: string + format: uint64 + exceptionalDropRatio: + type: string + format: uint64 + uniqueDropRatio: + type: string + format: uint64 + description: >- + QueryParamsResponse is response type for the Query/Params RPC + method. + default: + description: An unexpected error response. + schema: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + '@type': + type: string + additionalProperties: {} + tags: + - Query + /DecentralCardGame/Cardchain/cardchain/q_card/{cardId}: + get: + summary: Queries a list of QCard items. + operationId: DecentralCardGameCardchainCardchainQCard + responses: + '200': + description: A successful response. + schema: + type: object + properties: + owner: + type: string + artist: + type: string + content: + type: string + image: + type: string + fullArt: + type: boolean + notes: + type: string + status: + type: string + enum: + - scheme + - prototype + - trial + - permanent + - suspended + - banned + - bannedSoon + - bannedVerySoon + - none + - inCouncil + default: scheme + votePool: + type: string + voters: + type: array + items: + type: string + fairEnoughVotes: + type: string + format: uint64 + overpoweredVotes: + type: string + format: uint64 + underpoweredVotes: + type: string + format: uint64 + inappropriateVotes: + type: string + format: uint64 + nerflevel: + type: string + format: int64 + balanceAnchor: + type: boolean + hash: + type: string + starterCard: + type: boolean + rarity: + type: string + enum: + - common + - uncommon + - rare + - exceptional + - unique + default: common + default: + description: An unexpected error response. + schema: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + '@type': + type: string + additionalProperties: {} + parameters: + - name: cardId + in: path + required: true + type: string + tags: + - Query + /DecentralCardGame/Cardchain/cardchain/q_card_content/{cardId}: + get: + summary: Queries a list of QCardContent items. + operationId: DecentralCardGameCardchainCardchainQCardContent + responses: + '200': + description: A successful response. + schema: + type: object + properties: + content: + type: string + hash: + type: string + default: + description: An unexpected error response. + schema: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + '@type': + type: string + additionalProperties: {} + parameters: + - name: cardId + in: path + required: true + type: string + tags: + - Query + /DecentralCardGame/Cardchain/cardchain/q_cardchain_info: + get: + summary: Queries a list of QCardchainInfo items. + operationId: DecentralCardGameCardchainCardchainQCardchainInfo + responses: + '200': + description: A successful response. + schema: + type: object + properties: + cardAuctionPrice: + type: string + activeSets: + type: array + items: + type: string + format: uint64 + cardsNumber: + type: string + format: uint64 + matchesNumber: + type: string + format: uint64 + sellOffersNumber: + type: string + format: uint64 + councilsNumber: + type: string + format: uint64 + lastCardModified: + type: string + format: uint64 + default: + description: An unexpected error response. + schema: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + '@type': + type: string + additionalProperties: {} + tags: + - Query + /DecentralCardGame/Cardchain/cardchain/q_cards/{status}: + get: + summary: Queries a list of QCards items. + operationId: DecentralCardGameCardchainCardchainQCards + responses: + '200': + description: A successful response. + schema: + type: object + properties: + cardsList: + type: array + items: + type: string + format: uint64 + default: + description: An unexpected error response. + schema: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + '@type': + type: string + additionalProperties: {} + parameters: + - name: status + in: path + required: true + type: string + enum: + - scheme + - prototype + - trial + - permanent + - suspended + - banned + - bannedSoon + - bannedVerySoon + - none + - playable + - unplayable + - name: owner + in: query + required: false + type: string + - name: cardType + in: query + required: false + type: string + - name: classes + in: query + required: false + type: string + - name: sortBy + in: query + required: false + type: string + - name: nameContains + in: query + required: false + type: string + - name: keywordsContains + in: query + required: false + type: string + - name: notesContains + in: query + required: false + type: string + - name: onlyStarterCard + in: query + required: false + type: boolean + tags: + - Query + /DecentralCardGame/Cardchain/cardchain/q_council/{councilId}: + get: + summary: Queries a list of QCouncil items. + operationId: DecentralCardGameCardchainCardchainQCouncil + responses: + '200': + description: A successful response. + schema: + type: object + properties: + cardId: + type: string + format: uint64 + voters: + type: array + items: + type: string + hashResponses: + type: array + items: + type: object + properties: + user: + type: string + hash: + type: string + clearResponses: + type: array + items: + type: object + properties: + user: + type: string + response: + type: string + enum: + - 'Yes' + - 'No' + - Suggestion + default: 'Yes' + suggestion: + type: string + treasury: + type: string + status: + type: string + enum: + - councilDoesNotExist + - councilOpen + - councilCreated + - councilClosed + - commited + - revealed + - suggestionsMade + default: councilDoesNotExist + trialStart: + type: string + format: uint64 + default: + description: An unexpected error response. + schema: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + '@type': + type: string + additionalProperties: {} + parameters: + - name: councilId + in: path + required: true + type: string + format: uint64 + tags: + - Query + /DecentralCardGame/Cardchain/cardchain/q_councils/{status}: + get: + summary: Queries a list of QCouncils items. + operationId: DecentralCardGameCardchainCardchainQCouncils + responses: + '200': + description: A successful response. + schema: + type: object + properties: + councilssIds: + type: array + items: + type: string + format: uint64 + councils: + type: array + items: + type: object + properties: + cardId: + type: string + format: uint64 + voters: + type: array + items: type: string - description: details define other optional details. - unbonding_height: - type: string - format: int64 - description: >- - unbonding_height defines, if unbonding, the height at - which this validator has begun unbonding. - unbonding_time: - type: string - format: date-time - description: >- - unbonding_time defines, if unbonding, the min time for the - validator to complete unbonding. - commission: - description: commission defines the commission parameters. - type: object - properties: - commission_rates: - description: >- - commission_rates defines the initial commission rates - to be used for creating a validator. + hashResponses: + type: array + items: type: object properties: - rate: + user: type: string - description: >- - rate is the commission rate charged to delegators, - as a fraction. - max_rate: + hash: type: string - description: >- - max_rate defines the maximum commission rate which - validator can ever charge, as a fraction. - max_change_rate: + clearResponses: + type: array + items: + type: object + properties: + user: type: string - description: >- - max_change_rate defines the maximum daily increase - of the validator commission, as a fraction. - update_time: - type: string - format: date-time - description: >- - update_time is the last time the commission rate was - changed. - min_self_delegation: - type: string - description: >- - min_self_delegation is the validator's self declared - minimum self delegation. - description: >- - Validator defines a validator, together with the total amount - of the - - Validator's bond shares and their exchange rate to coins. - Slashing results in - - a decrease in the exchange rate, allowing correct calculation - of future - - undelegations without iterating over delegators. When coins - are delegated to - - this validator, the validator is credited with a delegation - whose number of - - bond shares is based on the amount of coins delegated divided - by the current - - exchange rate. Voting power can be calculated as total bonded - shares - - multiplied by exchange rate. - description: |- - QueryDelegatorValidatorResponse response type for the - Query/DelegatorValidator RPC method. + response: + type: string + enum: + - 'Yes' + - 'No' + - Suggestion + default: 'Yes' + suggestion: + type: string + treasury: + type: string + status: + type: string + enum: + - councilDoesNotExist + - councilOpen + - councilCreated + - councilClosed + - commited + - revealed + - suggestionsMade + default: councilDoesNotExist + trialStart: + type: string + format: uint64 + default: + description: An unexpected error response. + schema: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + '@type': + type: string + additionalProperties: {} + parameters: + - name: status + in: path + required: true + type: string + enum: + - councilDoesNotExist + - councilOpen + - councilCreated + - councilClosed + - commited + - revealed + - suggestionsMade + - name: voters + in: query + required: false + type: array + items: + type: string + collectionFormat: multi + - name: card + in: query + required: false + type: string + format: uint64 + - name: creator + in: query + required: false + type: string + - name: ignore.status + in: query + required: false + type: boolean + - name: ignore.card + in: query + required: false + type: boolean + tags: + - Query + /DecentralCardGame/Cardchain/cardchain/q_match/{matchId}: + get: + summary: Queries a list of QMatch items. + operationId: DecentralCardGameCardchainCardchainQMatch + responses: + '200': + description: A successful response. + schema: + type: object + properties: + timestamp: + type: string + format: uint64 + reporter: + type: string + playerA: + type: object + properties: + addr: + type: string + playedCards: + type: array + items: + type: string + format: uint64 + confirmed: + type: boolean + outcome: + type: string + enum: + - AWon + - BWon + - Draw + - Aborted + default: AWon + deck: + type: array + items: + type: string + format: uint64 + votedCards: + type: array + items: + type: object + properties: + cardId: + type: string + format: uint64 + voteType: + type: string + playerB: + type: object + properties: + addr: + type: string + playedCards: + type: array + items: + type: string + format: uint64 + confirmed: + type: boolean + outcome: + type: string + enum: + - AWon + - BWon + - Draw + - Aborted + default: AWon + deck: + type: array + items: + type: string + format: uint64 + votedCards: + type: array + items: + type: object + properties: + cardId: + type: string + format: uint64 + voteType: + type: string + outcome: + type: string + enum: + - AWon + - BWon + - Draw + - Aborted + default: AWon + coinsDistributed: + type: boolean + serverConfirmed: + type: boolean default: description: An unexpected error response. schema: @@ -12502,595 +33566,212 @@ paths: properties: '@type': type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } parameters: - - name: delegator_addr - description: delegator_addr defines the delegator address to query for. - in: path - required: true - type: string - - name: validator_addr - description: validator_addr defines the validator address to query for. + - name: matchId in: path required: true type: string + format: uint64 tags: - Query - /cosmos/staking/v1beta1/historical_info/{height}: + /DecentralCardGame/Cardchain/cardchain/q_matches: get: - summary: HistoricalInfo queries the historical info for given height. - operationId: CosmosStakingV1Beta1HistoricalInfo + summary: Queries a list of QMatches items. + operationId: DecentralCardGameCardchainCardchainQMatches responses: '200': description: A successful response. schema: type: object properties: - hist: - description: hist defines the historical info at the given height. - type: object - properties: - header: - type: object - properties: - version: - title: basic block info - type: object - properties: - block: + matchesList: + type: array + items: + type: string + format: uint64 + matches: + type: array + items: + type: object + properties: + timestamp: + type: string + format: uint64 + reporter: + type: string + playerA: + type: object + properties: + addr: + type: string + playedCards: + type: array + items: type: string format: uint64 - app: + confirmed: + type: boolean + outcome: + type: string + enum: + - AWon + - BWon + - Draw + - Aborted + default: AWon + deck: + type: array + items: type: string format: uint64 - description: >- - Consensus captures the consensus rules for processing - a block in the blockchain, - - including all blockchain data structures and the rules - of the application's - - state transition machine. - chain_id: - type: string - height: - type: string - format: int64 - time: - type: string - format: date-time - last_block_id: - title: prev block info - type: object - properties: - hash: - type: string - format: byte - part_set_header: + votedCards: + type: array + items: type: object properties: - total: - type: integer - format: int64 - hash: + cardId: type: string - format: byte - title: PartsetHeader - last_commit_hash: - type: string - format: byte - title: hashes of block data - data_hash: - type: string - format: byte - validators_hash: - type: string - format: byte - title: hashes from the app output from the prev block - next_validators_hash: - type: string - format: byte - consensus_hash: - type: string - format: byte - app_hash: - type: string - format: byte - last_results_hash: - type: string - format: byte - evidence_hash: - type: string - format: byte - title: consensus info - proposer_address: - type: string - format: byte - description: Header defines the structure of a Tendermint block header. - valset: - type: array - items: + format: uint64 + voteType: + type: string + playerB: type: object properties: - operator_address: + addr: type: string - description: >- - operator_address defines the address of the - validator's operator; bech encoded in JSON. - consensus_pubkey: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the - type of the serialized - - protocol buffer message. This string must - contain at least - - one "/" character. The last segment of the URL's - path must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name - should be in a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the - binary all types that they - - expect it to use in the context of Any. However, - for URLs which use the - - scheme `http`, `https`, or no scheme, one can - optionally set up a type - - server that maps type URLs to message - definitions as follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup - results based on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently - available in the official - - protobuf release, and it is not used for type - URLs beginning with - - type.googleapis.com. - - - Schemes other than `http`, `https` (or the empty - scheme) might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol - buffer message along with a - - URL that describes the type of the serialized - message. - - - Protobuf library provides support to pack/unpack Any - values in the form - - of utility functions or additional generated methods - of the Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will - by default use - - 'type.googleapis.com/full.type.name' as the type URL - and the unpack - - methods only use the fully qualified type name after - the last '/' - - in the type URL, for example "foo.bar.com/x/y.z" - will yield type - - name "y.z". - - - - JSON - - ==== - - The JSON representation of an `Any` value uses the - regular - - representation of the deserialized, embedded - message, with an - - additional field `@type` which contains the type - URL. Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a - custom JSON - - representation, that representation will be embedded - adding a field - - `value` which holds the custom JSON in addition to - the `@type` - - field. Example (for message - [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - jailed: + playedCards: + type: array + items: + type: string + format: uint64 + confirmed: type: boolean - description: >- - jailed defined whether the validator has been jailed - from bonded status or not. - status: - description: >- - status is the validator status - (bonded/unbonding/unbonded). + outcome: type: string enum: - - BOND_STATUS_UNSPECIFIED - - BOND_STATUS_UNBONDED - - BOND_STATUS_UNBONDING - - BOND_STATUS_BONDED - default: BOND_STATUS_UNSPECIFIED - tokens: - type: string - description: >- - tokens define the delegated tokens (incl. - self-delegation). - delegator_shares: - type: string - description: >- - delegator_shares defines total shares issued to a - validator's delegators. - description: - description: >- - description defines the description terms for the - validator. - type: object - properties: - moniker: - type: string - description: >- - moniker defines a human-readable name for the - validator. - identity: - type: string - description: >- - identity defines an optional identity signature - (ex. UPort or Keybase). - website: - type: string - description: website defines an optional website link. - security_contact: - type: string - description: >- - security_contact defines an optional email for - security contact. - details: - type: string - description: details define other optional details. - unbonding_height: - type: string - format: int64 - description: >- - unbonding_height defines, if unbonding, the height - at which this validator has begun unbonding. - unbonding_time: - type: string - format: date-time - description: >- - unbonding_time defines, if unbonding, the min time - for the validator to complete unbonding. - commission: - description: commission defines the commission parameters. - type: object - properties: - commission_rates: - description: >- - commission_rates defines the initial commission - rates to be used for creating a validator. - type: object - properties: - rate: - type: string - description: >- - rate is the commission rate charged to - delegators, as a fraction. - max_rate: - type: string - description: >- - max_rate defines the maximum commission rate - which validator can ever charge, as a - fraction. - max_change_rate: - type: string - description: >- - max_change_rate defines the maximum daily - increase of the validator commission, as a - fraction. - update_time: - type: string - format: date-time - description: >- - update_time is the last time the commission rate - was changed. - min_self_delegation: - type: string - description: >- - min_self_delegation is the validator's self declared - minimum self delegation. - description: >- - Validator defines a validator, together with the total - amount of the - - Validator's bond shares and their exchange rate to - coins. Slashing results in - - a decrease in the exchange rate, allowing correct - calculation of future - - undelegations without iterating over delegators. When - coins are delegated to - - this validator, the validator is credited with a - delegation whose number of - - bond shares is based on the amount of coins delegated - divided by the current - - exchange rate. Voting power can be calculated as total - bonded shares - - multiplied by exchange rate. - description: >- - QueryHistoricalInfoResponse is response type for the - Query/HistoricalInfo RPC - - method. + - AWon + - BWon + - Draw + - Aborted + default: AWon + deck: + type: array + items: + type: string + format: uint64 + votedCards: + type: array + items: + type: object + properties: + cardId: + type: string + format: uint64 + voteType: + type: string + outcome: + type: string + enum: + - AWon + - BWon + - Draw + - Aborted + default: AWon + coinsDistributed: + type: boolean + serverConfirmed: + type: boolean + default: + description: An unexpected error response. + schema: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + '@type': + type: string + additionalProperties: {} + parameters: + - name: timestampDown + in: query + required: false + type: string + format: uint64 + - name: timestampUp + in: query + required: false + type: string + format: uint64 + - name: containsUsers + in: query + required: false + type: array + items: + type: string + collectionFormat: multi + - name: reporter + in: query + required: false + type: string + - name: outcome + in: query + required: false + type: string + enum: + - AWon + - BWon + - Draw + - Aborted + default: AWon + - name: cardsPlayed + in: query + required: false + type: array + items: + type: string + format: uint64 + collectionFormat: multi + - name: ignore.outcome + in: query + required: false + type: boolean + tags: + - Query + /DecentralCardGame/Cardchain/cardchain/q_sell_offer/{sellOfferId}: + get: + summary: Queries a list of QSellOffer items. + operationId: DecentralCardGameCardchainCardchainQSellOffer + responses: + '200': + description: A successful response. + schema: + type: object + properties: + seller: + type: string + buyer: + type: string + card: + type: string + format: uint64 + price: + type: string + status: + type: string + enum: + - open + - sold + - removed + default: open default: description: An unexpected error response. schema: @@ -13108,222 +33789,51 @@ paths: properties: '@type': type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } parameters: - - name: height - description: height defines at which height to query the historical info. + - name: sellOfferId in: path required: true type: string - format: int64 + format: uint64 tags: - Query - /cosmos/staking/v1beta1/params: + /DecentralCardGame/Cardchain/cardchain/q_sell_offers/{status}: get: - summary: Parameters queries the staking parameters. - operationId: CosmosStakingV1Beta1Params + summary: Queries a list of QSellOffers items. + operationId: DecentralCardGameCardchainCardchainQSellOffers responses: '200': description: A successful response. schema: type: object properties: - params: - description: params holds all the parameters of this module. - type: object - properties: - unbonding_time: - type: string - description: unbonding_time is the time duration of unbonding. - max_validators: - type: integer - format: int64 - description: max_validators is the maximum number of validators. - max_entries: - type: integer - format: int64 - description: >- - max_entries is the max entries for either unbonding - delegation or redelegation (per pair/trio). - historical_entries: - type: integer - format: int64 - description: >- - historical_entries is the number of historical entries to - persist. - bond_denom: - type: string - description: bond_denom defines the bondable coin denomination. - description: >- - QueryParamsResponse is response type for the Query/Params RPC - method. + sellOffersIds: + type: array + items: + type: string + format: uint64 + sellOffers: + type: array + items: + type: object + properties: + seller: + type: string + buyer: + type: string + card: + type: string + format: uint64 + price: + type: string + status: + type: string + enum: + - open + - sold + - removed + default: open default: description: An unexpected error response. schema: @@ -13341,195 +33851,172 @@ paths: properties: '@type': type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } + parameters: + - name: status + in: path + required: true + type: string + enum: + - open + - sold + - removed + - name: priceDown + in: query + required: false + type: string + - name: priceUp + in: query + required: false + type: string + - name: seller + in: query + required: false + type: string + - name: buyer + in: query + required: false + type: string + - name: card + in: query + required: false + type: string + format: uint64 + - name: ignore.status + in: query + required: false + type: boolean + - name: ignore.card + in: query + required: false + type: boolean + tags: + - Query + /DecentralCardGame/Cardchain/cardchain/q_server/{id}: + get: + summary: Queries a list of QServer items. + operationId: DecentralCardGameCardchainCardchainQServer + responses: + '200': + description: A successful response. + schema: + type: object + properties: + reporter: + type: string + invalidReports: + type: string + format: uint64 + validReports: + type: string + format: uint64 + default: + description: An unexpected error response. + schema: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + '@type': + type: string + additionalProperties: {} + parameters: + - name: id + in: path + required: true + type: string + format: uint64 + tags: + - Query + /DecentralCardGame/Cardchain/cardchain/q_set/{setId}: + get: + summary: Queries a list of QSet items. + operationId: DecentralCardGameCardchainCardchainQSet + responses: + '200': + description: A successful response. + schema: + type: object + properties: + name: + type: string + cards: + type: array + items: + type: string + format: uint64 + artist: + type: string + storyWriter: + type: string + contributors: + type: array + items: + type: string + story: + type: string + artwork: + type: string + status: + type: string + enum: + - design + - finalized + - active + - archived + default: design + timeStamp: + type: string + format: int64 + default: + description: An unexpected error response. + schema: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + '@type': + type: string + additionalProperties: {} + parameters: + - name: setId + in: path + required: true + type: string + format: uint64 tags: - Query - /cosmos/staking/v1beta1/pool: + /DecentralCardGame/Cardchain/cardchain/q_sets/{status}/{ignoreStatus}: get: - summary: Pool queries the pool info. - operationId: CosmosStakingV1Beta1Pool + summary: Queries a list of QSets items. + operationId: DecentralCardGameCardchainCardchainQSets responses: '200': description: A successful response. schema: type: object properties: - pool: - description: pool defines the pool info. - type: object - properties: - not_bonded_tokens: - type: string - bonded_tokens: - type: string - description: QueryPoolResponse is response type for the Query/Pool RPC method. + setIds: + type: array + items: + type: string + format: uint64 default: description: An unexpected error response. schema: @@ -13547,518 +34034,270 @@ paths: properties: '@type': type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } + parameters: + - name: status + in: path + required: true + type: string + enum: + - design + - finalized + - active + - archived + - name: ignoreStatus + in: path + required: true + type: boolean + - name: contributors + in: query + required: false + type: array + items: + type: string + collectionFormat: multi + - name: containsCards + in: query + required: false + type: array + items: + type: string + format: uint64 + collectionFormat: multi + - name: owner + in: query + required: false + type: string tags: - Query - /cosmos/staking/v1beta1/validators: + /DecentralCardGame/Cardchain/cardchain/q_user/{address}: get: - summary: Validators queries all validators that match the given status. - operationId: CosmosStakingV1Beta1Validators + summary: Queries a list of QUser items. + operationId: DecentralCardGameCardchainCardchainQUser responses: '200': description: A successful response. schema: type: object properties: - validators: + alias: + type: string + ownedCardSchemes: + type: array + items: + type: string + format: uint64 + ownedPrototypes: + type: array + items: + type: string + format: uint64 + cards: + type: array + items: + type: string + format: uint64 + voteRights: type: array items: type: object properties: - operator_address: + cardId: type: string - description: >- - operator_address defines the address of the validator's - operator; bech encoded in JSON. - consensus_pubkey: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the - type of the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's - path must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be - in a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the - binary all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can - optionally set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results - based on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available - in the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. - - - Schemes other than `http`, `https` (or the empty - scheme) might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any - values in the form - - of utility functions or additional generated methods of - the Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and - the unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will - yield type - - name "y.z". - - - - JSON - - ==== - - The JSON representation of an `Any` value uses the - regular - - representation of the deserialized, embedded message, - with an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a - custom JSON - - representation, that representation will be embedded - adding a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message - [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - jailed: - type: boolean - description: >- - jailed defined whether the validator has been jailed - from bonded status or not. - status: - description: >- - status is the validator status - (bonded/unbonding/unbonded). + format: uint64 + expireBlock: + type: string + format: int64 + councilParticipation: + type: object + properties: + status: + type: string + enum: + - available + - unavailable + - openCouncil + - startedCouncil + default: available + council: + type: string + format: uint64 + ReportMatches: + type: boolean + profileCard: + type: string + format: uint64 + airDrops: + type: object + properties: + vote: + type: boolean + create: + type: boolean + buy: + type: boolean + play: + type: boolean + user: + type: boolean + boosterPacks: + type: array + items: + type: object + properties: + setId: + type: string + format: uint64 + timeStamp: + type: string + format: int64 + raritiesPerPack: + type: array + items: + type: string + format: uint64 + title: >- + How often the different rarities will appear in a + BoosterPack + dropRatiosPerPack: + type: array + items: + type: string + format: uint64 + title: >- + The chances of the rare beeing a normal rare, an + exceptional or a unique + website: + type: string + biography: + type: string + default: + description: An unexpected error response. + schema: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + '@type': type: string - enum: - - BOND_STATUS_UNSPECIFIED - - BOND_STATUS_UNBONDED - - BOND_STATUS_UNBONDING - - BOND_STATUS_BONDED - default: BOND_STATUS_UNSPECIFIED - tokens: + additionalProperties: {} + parameters: + - name: address + in: path + required: true + type: string + tags: + - Query + /DecentralCardGame/Cardchain/cardchain/q_votable_cards/{address}: + get: + summary: Queries a list of QVotableCards items. + operationId: DecentralCardGameCardchainCardchainQVotableCards + responses: + '200': + description: A successful response. + schema: + type: object + properties: + unregistered: + type: boolean + noVoteRights: + type: boolean + voteRights: + type: array + items: + type: object + properties: + cardId: type: string - description: >- - tokens define the delegated tokens (incl. - self-delegation). - delegator_shares: + format: uint64 + expireBlock: type: string - description: >- - delegator_shares defines total shares issued to a - validator's delegators. - description: - description: >- - description defines the description terms for the - validator. + format: int64 + default: + description: An unexpected error response. + schema: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + '@type': + type: string + additionalProperties: {} + parameters: + - name: address + in: path + required: true + type: string + tags: + - Query + /DecentralCardGame/Cardchain/cardchain/q_voting_results: + get: + summary: Queries a list of QVotingResults items. + operationId: DecentralCardGameCardchainCardchainQVotingResults + responses: + '200': + description: A successful response. + schema: + type: object + properties: + lastVotingResults: + type: object + properties: + totalVotes: + type: string + format: uint64 + totalFairEnoughVotes: + type: string + format: uint64 + totalOverpoweredVotes: + type: string + format: uint64 + totalUnderpoweredVotes: + type: string + format: uint64 + totalInappropriateVotes: + type: string + format: uint64 + cardResults: + type: array + items: type: object properties: - moniker: + cardId: type: string - description: >- - moniker defines a human-readable name for the - validator. - identity: + format: uint64 + fairEnoughVotes: type: string - description: >- - identity defines an optional identity signature (ex. - UPort or Keybase). - website: + format: uint64 + overpoweredVotes: type: string - description: website defines an optional website link. - security_contact: + format: uint64 + underpoweredVotes: type: string - description: >- - security_contact defines an optional email for - security contact. - details: + format: uint64 + inappropriateVotes: type: string - description: details define other optional details. - unbonding_height: - type: string - format: int64 - description: >- - unbonding_height defines, if unbonding, the height at - which this validator has begun unbonding. - unbonding_time: - type: string - format: date-time - description: >- - unbonding_time defines, if unbonding, the min time for - the validator to complete unbonding. - commission: - description: commission defines the commission parameters. - type: object - properties: - commission_rates: - description: >- - commission_rates defines the initial commission - rates to be used for creating a validator. - type: object - properties: - rate: - type: string - description: >- - rate is the commission rate charged to - delegators, as a fraction. - max_rate: - type: string - description: >- - max_rate defines the maximum commission rate - which validator can ever charge, as a fraction. - max_change_rate: - type: string - description: >- - max_change_rate defines the maximum daily - increase of the validator commission, as a - fraction. - update_time: + format: uint64 + result: type: string - format: date-time - description: >- - update_time is the last time the commission rate was - changed. - min_self_delegation: - type: string - description: >- - min_self_delegation is the validator's self declared - minimum self delegation. - description: >- - Validator defines a validator, together with the total - amount of the - - Validator's bond shares and their exchange rate to coins. - Slashing results in - - a decrease in the exchange rate, allowing correct - calculation of future - - undelegations without iterating over delegators. When coins - are delegated to - - this validator, the validator is credited with a delegation - whose number of - - bond shares is based on the amount of coins delegated - divided by the current - - exchange rate. Voting power can be calculated as total - bonded shares - - multiplied by exchange rate. - description: validators contains all the queried validators. - pagination: - description: pagination defines the pagination in the response. - type: object - properties: - next_key: - type: string - format: byte - title: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently - total: + notes: type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total - - was set, its value is undefined otherwise - title: >- - QueryValidatorsResponse is response type for the Query/Validators - RPC method default: description: An unexpected error response. schema: @@ -14076,556 +34315,110 @@ paths: properties: '@type': type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: status - description: status enables to query for validators matching a given status. - in: query - required: false - type: string - - name: pagination.key - description: |- - key is a value returned in PageResponse.next_key to begin - querying the next page most efficiently. Only one of offset or key - should be set. - in: query - required: false - type: string - format: byte - - name: pagination.offset - description: >- - offset is a numeric offset that can be used when key is unavailable. - - It is less efficient than using key. Only one of offset or key - should - - be set. - in: query - required: false - type: string - format: uint64 - - name: pagination.limit - description: >- - limit is the total number of results to be returned in the result - page. - - If left empty it will default to a value to be set by each app. - in: query - required: false - type: string - format: uint64 - - name: pagination.count_total - description: >- - count_total is set to true to indicate that the result set should - include - - a count of the total number of items available for pagination in - UIs. - - count_total is only respected when offset is used. It is ignored - when key - - is set. - in: query - required: false - type: boolean - - name: pagination.reverse - description: >- - reverse is set to true if results are to be returned in the - descending order. - - - Since: cosmos-sdk 0.43 - in: query - required: false - type: boolean tags: - Query - /cosmos/staking/v1beta1/validators/{validator_addr}: + /DecentralCardGame/Cardchain/cardchain/rarity_distribution/{setId}: + get: + summary: Queries a list of RarityDistribution items. + operationId: DecentralCardGameCardchainCardchainRarityDistribution + responses: + '200': + description: A successful response. + schema: + type: object + properties: + current: + type: array + items: + type: integer + format: int64 + wanted: + type: array + items: + type: integer + format: int64 + default: + description: An unexpected error response. + schema: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + '@type': + type: string + additionalProperties: {} + parameters: + - name: setId + in: path + required: true + type: string + format: uint64 + tags: + - Query + /DecentralCardGame/Cardchain/featureflag/params: get: - summary: Validator queries validator info for given validator address. - operationId: CosmosStakingV1Beta1Validator + summary: Parameters queries the parameters of the module. + operationId: DecentralCardGameCardchainFeatureflagParams responses: '200': description: A successful response. schema: type: object properties: - validator: + params: + description: params holds all the parameters of this module. + type: object + description: >- + QueryParamsResponse is response type for the Query/Params RPC + method. + default: + description: An unexpected error response. + schema: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + '@type': + type: string + additionalProperties: {} + tags: + - Query + /DecentralCardGame/Cardchain/featureflag/q_flag/{module}/{name}: + get: + summary: Queries a list of QFlag items. + operationId: DecentralCardGameCardchainFeatureflagQFlag + responses: + '200': + description: A successful response. + schema: + type: object + properties: + flag: type: object properties: - operator_address: - type: string - description: >- - operator_address defines the address of the validator's - operator; bech encoded in JSON. - consensus_pubkey: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type - of the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be - in a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can - optionally set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results - based on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. - - - Schemes other than `http`, `https` (or the empty - scheme) might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any - values in the form - - of utility functions or additional generated methods of - the Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and - the unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will - yield type - - name "y.z". - - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a - custom JSON - - representation, that representation will be embedded - adding a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - jailed: - type: boolean - description: >- - jailed defined whether the validator has been jailed from - bonded status or not. - status: - description: >- - status is the validator status - (bonded/unbonding/unbonded). - type: string - enum: - - BOND_STATUS_UNSPECIFIED - - BOND_STATUS_UNBONDED - - BOND_STATUS_UNBONDING - - BOND_STATUS_BONDED - default: BOND_STATUS_UNSPECIFIED - tokens: - type: string - description: >- - tokens define the delegated tokens (incl. - self-delegation). - delegator_shares: - type: string - description: >- - delegator_shares defines total shares issued to a - validator's delegators. - description: - description: >- - description defines the description terms for the - validator. - type: object - properties: - moniker: - type: string - description: >- - moniker defines a human-readable name for the - validator. - identity: - type: string - description: >- - identity defines an optional identity signature (ex. - UPort or Keybase). - website: - type: string - description: website defines an optional website link. - security_contact: - type: string - description: >- - security_contact defines an optional email for - security contact. - details: - type: string - description: details define other optional details. - unbonding_height: - type: string - format: int64 - description: >- - unbonding_height defines, if unbonding, the height at - which this validator has begun unbonding. - unbonding_time: + Module: type: string - format: date-time - description: >- - unbonding_time defines, if unbonding, the min time for the - validator to complete unbonding. - commission: - description: commission defines the commission parameters. - type: object - properties: - commission_rates: - description: >- - commission_rates defines the initial commission rates - to be used for creating a validator. - type: object - properties: - rate: - type: string - description: >- - rate is the commission rate charged to delegators, - as a fraction. - max_rate: - type: string - description: >- - max_rate defines the maximum commission rate which - validator can ever charge, as a fraction. - max_change_rate: - type: string - description: >- - max_change_rate defines the maximum daily increase - of the validator commission, as a fraction. - update_time: - type: string - format: date-time - description: >- - update_time is the last time the commission rate was - changed. - min_self_delegation: + Name: type: string - description: >- - min_self_delegation is the validator's self declared - minimum self delegation. - description: >- - Validator defines a validator, together with the total amount - of the - - Validator's bond shares and their exchange rate to coins. - Slashing results in - - a decrease in the exchange rate, allowing correct calculation - of future - - undelegations without iterating over delegators. When coins - are delegated to - - this validator, the validator is credited with a delegation - whose number of - - bond shares is based on the amount of coins delegated divided - by the current - - exchange rate. Voting power can be calculated as total bonded - shares - - multiplied by exchange rate. - title: >- - QueryValidatorResponse is response type for the Query/Validator - RPC method + Set: + type: boolean default: description: An unexpected error response. schema: @@ -14643,263 +34436,39 @@ paths: properties: '@type': type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } parameters: - - name: validator_addr - description: validator_addr defines the validator address to query for. + - name: module + in: path + required: true + type: string + - name: name in: path required: true type: string tags: - Query - /cosmos/staking/v1beta1/validators/{validator_addr}/delegations: - get: - summary: ValidatorDelegations queries delegate info for given validator. - operationId: CosmosStakingV1Beta1ValidatorDelegations + /DecentralCardGame/Cardchain/featureflag/q_flags: + get: + summary: Queries a list of QFlags items. + operationId: DecentralCardGameCardchainFeatureflagQFlags responses: '200': description: A successful response. schema: type: object properties: - delegation_responses: + flags: type: array items: type: object properties: - delegation: - type: object - properties: - delegator_address: - type: string - description: >- - delegator_address is the bech32-encoded address of - the delegator. - validator_address: - type: string - description: >- - validator_address is the bech32-encoded address of - the validator. - shares: - type: string - description: shares define the delegation shares received. - description: >- - Delegation represents the bond with tokens held by an - account. It is - - owned by one delegator, and is associated with the - voting power of one - - validator. - balance: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the - custom method - - signatures required by gogoproto. - description: >- - DelegationResponse is equivalent to Delegation except that - it contains a - - balance in addition to shares which is more suitable for - client responses. - pagination: - description: pagination defines the pagination in the response. - type: object - properties: - next_key: - type: string - format: byte - title: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently - total: - type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total - - was set, its value is undefined otherwise - title: |- - QueryValidatorDelegationsResponse is response type for the - Query/ValidatorDelegations RPC method + Module: + type: string + Name: + type: string + Set: + type: boolean default: description: An unexpected error response. schema: @@ -14917,299 +34486,26 @@ paths: properties: '@type': type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: validator_addr - description: validator_addr defines the validator address to query for. - in: path - required: true - type: string - - name: pagination.key - description: |- - key is a value returned in PageResponse.next_key to begin - querying the next page most efficiently. Only one of offset or key - should be set. - in: query - required: false - type: string - format: byte - - name: pagination.offset - description: >- - offset is a numeric offset that can be used when key is unavailable. - - It is less efficient than using key. Only one of offset or key - should - - be set. - in: query - required: false - type: string - format: uint64 - - name: pagination.limit - description: >- - limit is the total number of results to be returned in the result - page. - - If left empty it will default to a value to be set by each app. - in: query - required: false - type: string - format: uint64 - - name: pagination.count_total - description: >- - count_total is set to true to indicate that the result set should - include - - a count of the total number of items available for pagination in - UIs. - - count_total is only respected when offset is used. It is ignored - when key - - is set. - in: query - required: false - type: boolean - - name: pagination.reverse - description: >- - reverse is set to true if results are to be returned in the - descending order. - - - Since: cosmos-sdk 0.43 - in: query - required: false - type: boolean tags: - Query - /cosmos/staking/v1beta1/validators/{validator_addr}/delegations/{delegator_addr}: + /ibc/apps/interchain_accounts/controller/v1/owners/{owner}/connections/{connection_id}: get: - summary: Delegation queries delegate info for given validator delegator pair. - operationId: CosmosStakingV1Beta1Delegation + summary: >- + InterchainAccount returns the interchain account address for a given + owner address on a given connection + operationId: IbcApplicationsInterchainAccountsControllerV1InterchainAccount responses: '200': description: A successful response. schema: type: object properties: - delegation_response: - type: object - properties: - delegation: - type: object - properties: - delegator_address: - type: string - description: >- - delegator_address is the bech32-encoded address of the - delegator. - validator_address: - type: string - description: >- - validator_address is the bech32-encoded address of the - validator. - shares: - type: string - description: shares define the delegation shares received. - description: >- - Delegation represents the bond with tokens held by an - account. It is - - owned by one delegator, and is associated with the voting - power of one - - validator. - balance: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the - custom method - - signatures required by gogoproto. - description: >- - DelegationResponse is equivalent to Delegation except that it - contains a - - balance in addition to shares which is more suitable for - client responses. + address: + type: string description: >- - QueryDelegationResponse is response type for the Query/Delegation - RPC method. + QueryInterchainAccountResponse the response type for the + Query/InterchainAccount RPC method. default: description: An unexpected error response. schema: @@ -15396,82 +34692,38 @@ paths: "value": "1.212s" } parameters: - - name: validator_addr - description: validator_addr defines the validator address to query for. + - name: owner in: path required: true type: string - - name: delegator_addr - description: delegator_addr defines the delegator address to query for. + - name: connection_id in: path required: true type: string tags: - Query - /cosmos/staking/v1beta1/validators/{validator_addr}/delegations/{delegator_addr}/unbonding_delegation: + /ibc/apps/interchain_accounts/controller/v1/params: get: - summary: |- - UnbondingDelegation queries unbonding info for given validator delegator - pair. - operationId: CosmosStakingV1Beta1UnbondingDelegation + summary: Params queries all parameters of the ICA controller submodule. + operationId: IbcApplicationsInterchainAccountsControllerV1Params responses: '200': description: A successful response. schema: type: object properties: - unbond: + params: + description: params defines the parameters of the module. type: object properties: - delegator_address: - type: string - description: >- - delegator_address is the bech32-encoded address of the - delegator. - validator_address: - type: string + controller_enabled: + type: boolean description: >- - validator_address is the bech32-encoded address of the - validator. - entries: - type: array - items: - type: object - properties: - creation_height: - type: string - format: int64 - description: >- - creation_height is the height which the unbonding - took place. - completion_time: - type: string - format: date-time - description: >- - completion_time is the unix time for unbonding - completion. - initial_balance: - type: string - description: >- - initial_balance defines the tokens initially - scheduled to receive at completion. - balance: - type: string - description: balance defines the tokens to receive at completion. - description: >- - UnbondingDelegationEntry defines an unbonding object - with relevant metadata. - description: entries are the unbonding delegation entries. - description: >- - UnbondingDelegation stores all of a single delegator's - unbonding bonds - - for a single validator in an time-ordered list. + controller_enabled enables or disables the controller + submodule. description: >- - QueryDelegationResponse is response type for the - Query/UnbondingDelegation - - RPC method. + QueryParamsResponse is the response type for the Query/Params RPC + method. default: description: An unexpected error response. schema: @@ -15657,105 +34909,73 @@ paths: "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" } - parameters: - - name: validator_addr - description: validator_addr defines the validator address to query for. - in: path - required: true - type: string - - name: delegator_addr - description: delegator_addr defines the delegator address to query for. - in: path - required: true - type: string tags: - Query - /cosmos/staking/v1beta1/validators/{validator_addr}/unbonding_delegations: + /ibc/apps/interchain_accounts/host/v1/params: get: - summary: >- - ValidatorUnbondingDelegations queries unbonding delegations of a - validator. - operationId: CosmosStakingV1Beta1ValidatorUnbondingDelegations + summary: Params queries all parameters of the ICA host submodule. + operationId: IbcApplicationsInterchainAccountsHostV1Params responses: '200': description: A successful response. schema: type: object properties: - unbonding_responses: + params: + description: params defines the parameters of the module. + type: object + properties: + host_enabled: + type: boolean + description: host_enabled enables or disables the host submodule. + allow_messages: + type: array + items: + type: string + description: >- + allow_messages defines a list of sdk message typeURLs + allowed to be executed on a host chain. + description: >- + QueryParamsResponse is the response type for the Query/Params RPC + method. + default: + description: An unexpected error response. + schema: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + details: type: array items: type: object properties: - delegator_address: - type: string - description: >- - delegator_address is the bech32-encoded address of the - delegator. - validator_address: + '@type': type: string - description: >- - validator_address is the bech32-encoded address of the - validator. - entries: - type: array - items: - type: object - properties: - creation_height: - type: string - format: int64 - description: >- - creation_height is the height which the unbonding - took place. - completion_time: - type: string - format: date-time - description: >- - completion_time is the unix time for unbonding - completion. - initial_balance: - type: string - description: >- - initial_balance defines the tokens initially - scheduled to receive at completion. - balance: - type: string - description: >- - balance defines the tokens to receive at - completion. - description: >- - UnbondingDelegationEntry defines an unbonding object - with relevant metadata. - description: entries are the unbonding delegation entries. - description: >- - UnbondingDelegation stores all of a single delegator's - unbonding bonds - - for a single validator in an time-ordered list. - pagination: - description: pagination defines the pagination in the response. - type: object - properties: - next_key: - type: string - format: byte - title: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently - total: - type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total - - was set, its value is undefined otherwise + additionalProperties: {} + tags: + - Query + /ibc/apps/transfer/v1/channels/{channel_id}/ports/{port_id}/escrow_address: + get: + summary: >- + EscrowAddress returns the escrow address for a particular port and + channel id. + operationId: IbcApplicationsTransferV1EscrowAddress + responses: + '200': + description: A successful response. + schema: + type: object + properties: + escrow_address: + type: string + title: the escrow account address description: >- - QueryValidatorUnbondingDelegationsResponse is response type for - the - - Query/ValidatorUnbondingDelegations RPC method. + QueryEscrowAddressResponse is the response type of the + EscrowAddress RPC method. default: description: An unexpected error response. schema: @@ -15942,150 +35162,36 @@ paths: "value": "1.212s" } parameters: - - name: validator_addr - description: validator_addr defines the validator address to query for. + - name: channel_id + description: unique channel identifier in: path required: true type: string - - name: pagination.key - description: |- - key is a value returned in PageResponse.next_key to begin - querying the next page most efficiently. Only one of offset or key - should be set. - in: query - required: false - type: string - format: byte - - name: pagination.offset - description: >- - offset is a numeric offset that can be used when key is unavailable. - - It is less efficient than using key. Only one of offset or key - should - - be set. - in: query - required: false - type: string - format: uint64 - - name: pagination.limit - description: >- - limit is the total number of results to be returned in the result - page. - - If left empty it will default to a value to be set by each app. - in: query - required: false + - name: port_id + description: unique port identifier + in: path + required: true type: string - format: uint64 - - name: pagination.count_total - description: >- - count_total is set to true to indicate that the result set should - include - - a count of the total number of items available for pagination in - UIs. - - count_total is only respected when offset is used. It is ignored - when key - - is set. - in: query - required: false - type: boolean - - name: pagination.reverse - description: >- - reverse is set to true if results are to be returned in the - descending order. - - - Since: cosmos-sdk 0.43 - in: query - required: false - type: boolean tags: - Query - /cosmos/tx/v1beta1/simulate: - post: - summary: Simulate simulates executing a transaction for estimating gas usage. - operationId: CosmosTxV1Beta1Simulate + /ibc/apps/transfer/v1/denom_hashes/{trace}: + get: + summary: DenomHash queries a denomination hash information. + operationId: IbcApplicationsTransferV1DenomHash responses: '200': description: A successful response. schema: type: object properties: - gas_info: - description: gas_info is the information about gas used in the simulation. - type: object - properties: - gas_wanted: - type: string - format: uint64 - description: >- - GasWanted is the maximum units of work we allow this tx to - perform. - gas_used: - type: string - format: uint64 - description: GasUsed is the amount of gas actually consumed. - result: - description: result is the result of the simulation. - type: object - properties: - data: - type: string - format: byte - description: >- - Data is any data returned from message or handler - execution. It MUST be - - length prefixed in order to separate data from multiple - message executions. - log: - type: string - description: >- - Log contains the log information from message or handler - execution. - events: - type: array - items: - type: object - properties: - type: - type: string - attributes: - type: array - items: - type: object - properties: - key: - type: string - format: byte - value: - type: string - format: byte - index: - type: boolean - description: >- - EventAttribute is a single key-value pair, - associated with an event. - description: >- - Event allows application developers to attach additional - information to - - ResponseBeginBlock, ResponseEndBlock, ResponseCheckTx - and ResponseDeliverTx. - - Later, transactions may be queried using these events. - description: >- - Events contains a slice of Event objects that were emitted - during message + hash: + type: string + description: hash (in hex format) of the denomination trace information. + description: >- + QueryDenomHashResponse is the response type for the + Query/DenomHash RPC - or handler execution. - description: |- - SimulateResponse is the response type for the - Service.SimulateRPC method. + method. default: description: An unexpected error response. schema: @@ -16272,22 +35378,68 @@ paths: "value": "1.212s" } parameters: - - name: body - in: body + - name: trace + description: The denomination trace ([port_id]/[channel_id])+/[denom] + in: path required: true - schema: - $ref: '#/definitions/cosmos.tx.v1beta1.SimulateRequest' + type: string tags: - - Service - /cosmos/tx/v1beta1/txs: + - Query + /ibc/apps/transfer/v1/denom_traces: get: - summary: GetTxsEvent fetches txs by event. - operationId: CosmosTxV1Beta1GetTxsEvent + summary: DenomTraces queries all denomination traces. + operationId: IbcApplicationsTransferV1DenomTraces responses: '200': description: A successful response. schema: - $ref: '#/definitions/cosmos.tx.v1beta1.GetTxsEventResponse' + type: object + properties: + denom_traces: + type: array + items: + type: object + properties: + path: + type: string + description: >- + path defines the chain of port/channel identifiers used + for tracing the + + source of the fungible token. + base_denom: + type: string + description: base denomination of the relayed fungible token. + description: >- + DenomTrace contains the base denomination for ICS20 fungible + tokens and the + + source tracing information path. + description: denom_traces returns all denominations trace information. + pagination: + description: pagination defines the pagination in the response. + type: object + properties: + next_key: + type: string + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + total: + type: string + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total + + was set, its value is undefined otherwise + description: >- + QueryConnectionsResponse is the response type for the + Query/DenomTraces RPC + + method. default: description: An unexpected error response. schema: @@ -16474,14 +35626,6 @@ paths: "value": "1.212s" } parameters: - - name: events - description: events is the list of transaction event type. - in: query - required: false - type: array - items: - type: string - collectionFormat: multi - name: pagination.key description: |- key is a value returned in PageResponse.next_key to begin @@ -16538,353 +35682,265 @@ paths: in: query required: false type: boolean - - name: order_by - description: |2- - - ORDER_BY_UNSPECIFIED: ORDER_BY_UNSPECIFIED specifies an unknown sorting order. OrderBy defaults to ASC in this case. - - ORDER_BY_ASC: ORDER_BY_ASC defines ascending order - - ORDER_BY_DESC: ORDER_BY_DESC defines descending order - in: query - required: false - type: string - enum: - - ORDER_BY_UNSPECIFIED - - ORDER_BY_ASC - - ORDER_BY_DESC - default: ORDER_BY_UNSPECIFIED tags: - - Service - post: - summary: BroadcastTx broadcast transaction. - operationId: CosmosTxV1Beta1BroadcastTx + - Query + /ibc/apps/transfer/v1/denom_traces/{hash}: + get: + summary: DenomTrace queries a denomination trace information. + operationId: IbcApplicationsTransferV1DenomTrace responses: '200': description: A successful response. schema: type: object properties: - tx_response: + denom_trace: + description: >- + denom_trace returns the requested denomination trace + information. type: object properties: - height: - type: string - format: int64 - title: The block height - txhash: - type: string - description: The transaction hash. - codespace: - type: string - title: Namespace for the Code - code: - type: integer - format: int64 - description: Response code. - data: - type: string - description: Result bytes, if any. - raw_log: + path: type: string description: >- - The output of the application's logger (raw string). May - be - - non-deterministic. - logs: - type: array - items: - type: object - properties: - msg_index: - type: integer - format: int64 - log: - type: string - events: - type: array - items: - type: object - properties: - type: - type: string - attributes: - type: array - items: - type: object - properties: - key: - type: string - value: - type: string - description: >- - Attribute defines an attribute wrapper where - the key and value are - - strings instead of raw bytes. - description: >- - StringEvent defines en Event object wrapper where - all the attributes - - contain key/value pairs that are strings instead - of raw bytes. - description: >- - Events contains a slice of Event objects that were - emitted during some + path defines the chain of port/channel identifiers used + for tracing the - execution. - description: >- - ABCIMessageLog defines a structure containing an indexed - tx ABCI message log. - description: >- - The output of the application's logger (typed). May be - non-deterministic. - info: - type: string - description: Additional information. May be non-deterministic. - gas_wanted: - type: string - format: int64 - description: Amount of gas requested for transaction. - gas_used: + source of the fungible token. + base_denom: type: string - format: int64 - description: Amount of gas consumed by transaction. - tx: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type - of the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in + description: base denomination of the relayed fungible token. + description: >- + QueryDenomTraceResponse is the response type for the + Query/DenomTrace RPC - `path/google.protobuf.Duration`). The name should be - in a canonical form + method. + default: + description: An unexpected error response. + schema: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + '@type': + type: string + description: >- + A URL/resource name that uniquely identifies the type of + the serialized - (e.g., leading "." is not accepted). + protocol buffer message. This string must contain at + least + one "/" character. The last segment of the URL's path + must represent - In practice, teams usually precompile into the binary - all types that they + the fully qualified name of the type (as in - expect it to use in the context of Any. However, for - URLs which use the + `path/google.protobuf.Duration`). The name should be in + a canonical form - scheme `http`, `https`, or no scheme, one can - optionally set up a type + (e.g., leading "." is not accepted). - server that maps type URLs to message definitions as - follows: + In practice, teams usually precompile into the binary + all types that they - * If no scheme is provided, `https` is assumed. + expect it to use in the context of Any. However, for + URLs which use the - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results - based on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) + scheme `http`, `https`, or no scheme, one can optionally + set up a type - Note: this functionality is not currently available in - the official + server that maps type URLs to message definitions as + follows: - protobuf release, and it is not used for type URLs - beginning with - type.googleapis.com. + * If no scheme is provided, `https` is assumed. + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based + on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) - Schemes other than `http`, `https` (or the empty - scheme) might be + Note: this functionality is not currently available in + the official - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a + protobuf release, and it is not used for type URLs + beginning with - URL that describes the type of the serialized message. + type.googleapis.com. - Protobuf library provides support to pack/unpack Any - values in the form + Schemes other than `http`, `https` (or the empty scheme) + might be - of utility functions or additional generated methods of - the Any type. + used with implementation specific semantics. + additionalProperties: {} + description: >- + `Any` contains an arbitrary serialized protocol buffer + message along with a + URL that describes the type of the serialized message. - Example 1: Pack and unpack a message in C++. - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } + Protobuf library provides support to pack/unpack Any values + in the form - Example 2: Pack and unpack a message in Java. + of utility functions or additional generated methods of the + Any type. - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - Example 3: Pack and unpack a message in Python. + Example 1: Pack and unpack a message in C++. - foo = Foo(...) - any = Any() - any.Pack(foo) + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and - the unpack + } - methods only use the fully qualified type name after the - last '/' + Example 2: Pack and unpack a message in Java. - in the type URL, for example "foo.bar.com/x/y.z" will - yield type + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } - name "y.z". + Example 3: Pack and unpack a message in Python. + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + Example 4: Pack and unpack a message in Go - JSON + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } - ==== + The pack methods provided by protobuf library will by + default use - The JSON representation of an `Any` value uses the regular + 'type.googleapis.com/full.type.name' as the type URL and the + unpack - representation of the deserialized, embedded message, with - an + methods only use the fully qualified type name after the + last '/' - additional field `@type` which contains the type URL. - Example: + in the type URL, for example "foo.bar.com/x/y.z" will yield + type - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } + name "y.z". - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - If the embedded message type is well-known and has a - custom JSON - representation, that representation will be embedded - adding a field + JSON - `value` which holds the custom JSON in addition to the - `@type` + ==== - field. Example (for message [google.protobuf.Duration][]): + The JSON representation of an `Any` value uses the regular - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - timestamp: - type: string - description: >- - Time of the previous block. For heights > 1, it's the - weighted median of + representation of the deserialized, embedded message, with + an - the timestamps of the valid votes in the block.LastCommit. - For height == 1, + additional field `@type` which contains the type URL. + Example: - it's genesis time. - events: - type: array - items: - type: object - properties: - type: - type: string - attributes: - type: array - items: - type: object - properties: - key: - type: string - format: byte - value: - type: string - format: byte - index: - type: boolean - description: >- - EventAttribute is a single key-value pair, - associated with an event. - description: >- - Event allows application developers to attach additional - information to + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } - ResponseBeginBlock, ResponseEndBlock, ResponseCheckTx - and ResponseDeliverTx. + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } - Later, transactions may be queried using these events. - description: >- - Events defines all the events emitted by processing a - transaction. Note, + If the embedded message type is well-known and has a custom + JSON - these events include those emitted by processing all the - messages and those + representation, that representation will be embedded adding + a field - emitted from the ante handler. Whereas Logs contains the - events, with + `value` which holds the custom JSON in addition to the + `@type` - additional metadata, emitted only by processing the - messages. + field. Example (for message [google.protobuf.Duration][]): + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + parameters: + - name: hash + description: >- + hash (in hex format) or denom (full denom with ibc prefix) of the + denomination trace information. + in: path + required: true + type: string + tags: + - Query + /ibc/apps/transfer/v1/params: + get: + summary: Params queries all parameters of the ibc-transfer module. + operationId: IbcApplicationsTransferV1Params + responses: + '200': + description: A successful response. + schema: + type: object + properties: + params: + description: params defines the parameters of the module. + type: object + properties: + send_enabled: + type: boolean + description: >- + send_enabled enables or disables all cross-chain token + transfers from this - Since: cosmos-sdk 0.42.11, 0.44.5, 0.45 - description: >- - TxResponse defines a structure containing relevant tx data and - metadata. The + chain. + receive_enabled: + type: boolean + description: >- + receive_enabled enables or disables all cross-chain token + transfers to this - tags are stringified and the log is JSON decoded. - description: |- - BroadcastTxResponse is the response type for the - Service.BroadcastTx method. + chain. + description: >- + QueryParamsResponse is the response type for the Query/Params RPC + method. default: description: An unexpected error response. schema: @@ -17070,52 +36126,159 @@ paths: "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" } - parameters: - - name: body - in: body - required: true + tags: + - Query + /ibc/core/channel/v1/channels: + get: + summary: Channels queries all the IBC channels of a chain. + operationId: IbcCoreChannelV1Channels + responses: + '200': + description: A successful response. schema: type: object properties: - tx_bytes: - type: string - format: byte - description: tx_bytes is the raw transaction. - mode: - type: string - enum: - - BROADCAST_MODE_UNSPECIFIED - - BROADCAST_MODE_BLOCK - - BROADCAST_MODE_SYNC - - BROADCAST_MODE_ASYNC - default: BROADCAST_MODE_UNSPECIFIED + channels: + type: array + items: + type: object + properties: + state: + title: current state of the channel end + type: string + enum: + - STATE_UNINITIALIZED_UNSPECIFIED + - STATE_INIT + - STATE_TRYOPEN + - STATE_OPEN + - STATE_CLOSED + default: STATE_UNINITIALIZED_UNSPECIFIED + description: >- + State defines if a channel is in one of the following + states: + + CLOSED, INIT, TRYOPEN, OPEN or UNINITIALIZED. + + - STATE_UNINITIALIZED_UNSPECIFIED: Default State + - STATE_INIT: A channel has just started the opening handshake. + - STATE_TRYOPEN: A channel has acknowledged the handshake step on the counterparty chain. + - STATE_OPEN: A channel has completed the handshake. Open channels are + ready to send and receive packets. + - STATE_CLOSED: A channel has been closed and can no longer be used to send or receive + packets. + ordering: + title: whether the channel is ordered or unordered + type: string + enum: + - ORDER_NONE_UNSPECIFIED + - ORDER_UNORDERED + - ORDER_ORDERED + default: ORDER_NONE_UNSPECIFIED + description: >- + - ORDER_NONE_UNSPECIFIED: zero-value for channel + ordering + - ORDER_UNORDERED: packets can be delivered in any order, which may differ from the order in + which they were sent. + - ORDER_ORDERED: packets are delivered exactly in the order which they were sent + counterparty: + title: counterparty channel end + type: object + properties: + port_id: + type: string + description: >- + port on the counterparty chain which owns the other + end of the channel. + channel_id: + type: string + title: channel end on the counterparty chain + connection_hops: + type: array + items: + type: string + title: >- + list of connection identifiers, in order, along which + packets sent on + + this channel will travel + version: + type: string + title: >- + opaque channel version, which is agreed upon during the + handshake + port_id: + type: string + title: port identifier + channel_id: + type: string + title: channel identifier + description: >- + IdentifiedChannel defines a channel with additional port and + channel + + identifier fields. + description: list of stored channels of the chain. + pagination: + title: pagination response + type: object + properties: + next_key: + type: string + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + total: + type: string + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total + + was set, its value is undefined otherwise description: >- - BroadcastMode specifies the broadcast mode for the - TxService.Broadcast RPC method. + PageResponse is to be embedded in gRPC response messages where + the - - BROADCAST_MODE_UNSPECIFIED: zero-value for mode ordering - - BROADCAST_MODE_BLOCK: BROADCAST_MODE_BLOCK defines a tx broadcasting mode where the client waits for - the tx to be committed in a block. - - BROADCAST_MODE_SYNC: BROADCAST_MODE_SYNC defines a tx broadcasting mode where the client waits for - a CheckTx execution response only. - - BROADCAST_MODE_ASYNC: BROADCAST_MODE_ASYNC defines a tx broadcasting mode where the client returns - immediately. - description: >- - BroadcastTxRequest is the request type for the - Service.BroadcastTxRequest + corresponding request message has used PageRequest. + + message SomeResponse { + repeated Bar results = 1; + PageResponse page = 2; + } + height: + title: query block height + type: object + properties: + revision_number: + type: string + format: uint64 + title: the revision that the client is currently on + revision_height: + type: string + format: uint64 + title: the height within the given revision + description: >- + Normally the RevisionHeight is incremented at each height + while keeping + + RevisionNumber the same. However some consensus algorithms may + choose to + + reset the height in certain conditions e.g. hard forks, + state-machine + + breaking changes In these cases, the RevisionNumber is + incremented so that + + height continues to be monitonically increasing even as the + RevisionHeight + gets reset + description: >- + QueryChannelsResponse is the response type for the Query/Channels RPC method. - tags: - - Service - /cosmos/tx/v1beta1/txs/{hash}: - get: - summary: GetTx fetches a tx by hash. - operationId: CosmosTxV1Beta1GetTx - responses: - '200': - description: A successful response. - schema: - $ref: '#/definitions/cosmos.tx.v1beta1.GetTxResponse' default: description: An unexpected error response. schema: @@ -17271,63 +36434,220 @@ paths: representation of the deserialized, embedded message, with an - additional field `@type` which contains the type URL. - Example: + additional field `@type` which contains the type URL. + Example: + + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } + + If the embedded message type is well-known and has a custom + JSON + + representation, that representation will be embedded adding + a field + + `value` which holds the custom JSON in addition to the + `@type` + + field. Example (for message [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + parameters: + - name: pagination.key + description: |- + key is a value returned in PageResponse.next_key to begin + querying the next page most efficiently. Only one of offset or key + should be set. + in: query + required: false + type: string + format: byte + - name: pagination.offset + description: >- + offset is a numeric offset that can be used when key is unavailable. + + It is less efficient than using key. Only one of offset or key + should + + be set. + in: query + required: false + type: string + format: uint64 + - name: pagination.limit + description: >- + limit is the total number of results to be returned in the result + page. + + If left empty it will default to a value to be set by each app. + in: query + required: false + type: string + format: uint64 + - name: pagination.count_total + description: >- + count_total is set to true to indicate that the result set should + include + + a count of the total number of items available for pagination in + UIs. + + count_total is only respected when offset is used. It is ignored + when key + + is set. + in: query + required: false + type: boolean + - name: pagination.reverse + description: >- + reverse is set to true if results are to be returned in the + descending order. + + + Since: cosmos-sdk 0.43 + in: query + required: false + type: boolean + tags: + - Query + /ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}: + get: + summary: Channel queries an IBC Channel. + operationId: IbcCoreChannelV1Channel + responses: + '200': + description: A successful response. + schema: + type: object + properties: + channel: + title: channel associated with the request identifiers + type: object + properties: + state: + title: current state of the channel end + type: string + enum: + - STATE_UNINITIALIZED_UNSPECIFIED + - STATE_INIT + - STATE_TRYOPEN + - STATE_OPEN + - STATE_CLOSED + default: STATE_UNINITIALIZED_UNSPECIFIED + description: >- + State defines if a channel is in one of the following + states: + + CLOSED, INIT, TRYOPEN, OPEN or UNINITIALIZED. + + - STATE_UNINITIALIZED_UNSPECIFIED: Default State + - STATE_INIT: A channel has just started the opening handshake. + - STATE_TRYOPEN: A channel has acknowledged the handshake step on the counterparty chain. + - STATE_OPEN: A channel has completed the handshake. Open channels are + ready to send and receive packets. + - STATE_CLOSED: A channel has been closed and can no longer be used to send or receive + packets. + ordering: + title: whether the channel is ordered or unordered + type: string + enum: + - ORDER_NONE_UNSPECIFIED + - ORDER_UNORDERED + - ORDER_ORDERED + default: ORDER_NONE_UNSPECIFIED + description: |- + - ORDER_NONE_UNSPECIFIED: zero-value for channel ordering + - ORDER_UNORDERED: packets can be delivered in any order, which may differ from the order in + which they were sent. + - ORDER_ORDERED: packets are delivered exactly in the order which they were sent + counterparty: + title: counterparty channel end + type: object + properties: + port_id: + type: string + description: >- + port on the counterparty chain which owns the other + end of the channel. + channel_id: + type: string + title: channel end on the counterparty chain + connection_hops: + type: array + items: + type: string + title: >- + list of connection identifiers, in order, along which + packets sent on + + this channel will travel + version: + type: string + title: >- + opaque channel version, which is agreed upon during the + handshake + description: >- + Channel defines pipeline for exactly-once packet delivery + between specific - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } + modules on separate blockchains, which has at least one end + capable of - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } + sending packets and one end capable of receiving packets. + proof: + type: string + format: byte + title: merkle proof of existence + proof_height: + title: height at which the proof was retrieved + type: object + properties: + revision_number: + type: string + format: uint64 + title: the revision that the client is currently on + revision_height: + type: string + format: uint64 + title: the height within the given revision + description: >- + Normally the RevisionHeight is incremented at each height + while keeping - If the embedded message type is well-known and has a custom - JSON + RevisionNumber the same. However some consensus algorithms may + choose to - representation, that representation will be embedded adding - a field + reset the height in certain conditions e.g. hard forks, + state-machine - `value` which holds the custom JSON in addition to the - `@type` + breaking changes In these cases, the RevisionNumber is + incremented so that - field. Example (for message [google.protobuf.Duration][]): + height continues to be monitonically increasing even as the + RevisionHeight - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: hash - description: hash is the tx hash to query, encoded as a hex string. - in: path - required: true - type: string - tags: - - Service - /cosmos/upgrade/v1beta1/applied_plan/{name}: - get: - summary: AppliedPlan queries a previously applied upgrade plan by its name. - operationId: CosmosUpgradeV1Beta1AppliedPlan - responses: - '200': - description: A successful response. - schema: - type: object - properties: - height: - type: string - format: int64 - description: height is the block height at which the plan was applied. + gets reset description: >- - QueryAppliedPlanResponse is the response type for the - Query/AppliedPlan RPC + QueryChannelResponse is the response type for the Query/Channel + RPC method. - method. + Besides the Channel end, it includes a proof and the height from + which the + + proof was retrieved. default: description: An unexpected error response. schema: @@ -17514,74 +36834,41 @@ paths: "value": "1.212s" } parameters: - - name: name - description: name is the name of the applied plan to query for. + - name: channel_id + description: channel unique identifier + in: path + required: true + type: string + - name: port_id + description: port unique identifier in: path required: true type: string tags: - Query - /cosmos/upgrade/v1beta1/current_plan: + /ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/client_state: get: - summary: CurrentPlan queries the current upgrade plan. - operationId: CosmosUpgradeV1Beta1CurrentPlan + summary: >- + ChannelClientState queries for the client state for the channel + associated + + with the provided channel identifiers. + operationId: IbcCoreChannelV1ChannelClientState responses: '200': description: A successful response. schema: type: object properties: - plan: - description: plan is the current upgrade plan. + identified_client_state: + title: client state associated with the channel type: object properties: - name: - type: string - description: >- - Sets the name for the upgrade. This name will be used by - the upgraded - - version of the software to apply any special "on-upgrade" - commands during - - the first BeginBlock method after the upgrade is applied. - It is also used - - to detect whether a software version can handle a given - upgrade. If no - - upgrade handler with this name has been set in the - software, it will be - - assumed that the software is out-of-date when the upgrade - Time or Height is - - reached and the software will exit. - time: - type: string - format: date-time - description: >- - Deprecated: Time based upgrades have been deprecated. Time - based upgrade logic - - has been removed from the SDK. - - If this field is not empty, an error will be thrown. - height: - type: string - format: int64 - description: |- - The height at which the upgrade must be performed. - Only used if Time is not set. - info: + client_id: type: string - title: >- - Any application specific upgrade info to be included - on-chain - - such as a git commit that validators could automatically - upgrade to - upgraded_client_state: + title: client identifier + client_state: + title: client state type: object properties: '@type': @@ -17754,11 +37041,47 @@ paths: "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" } - description: >- - QueryCurrentPlanResponse is the response type for the - Query/CurrentPlan RPC + description: >- + IdentifiedClientState defines a client state with an + additional client - method. + identifier field. + proof: + type: string + format: byte + title: merkle proof of existence + proof_height: + title: height at which the proof was retrieved + type: object + properties: + revision_number: + type: string + format: uint64 + title: the revision that the client is currently on + revision_height: + type: string + format: uint64 + title: the height within the given revision + description: >- + Normally the RevisionHeight is incremented at each height + while keeping + + RevisionNumber the same. However some consensus algorithms may + choose to + + reset the height in certain conditions e.g. hard forks, + state-machine + + breaking changes In these cases, the RevisionNumber is + incremented so that + + height continues to be monitonically increasing even as the + RevisionHeight + + gets reset + title: |- + QueryChannelClientStateResponse is the Response type for the + Query/QueryChannelClientState RPC method default: description: An unexpected error response. schema: @@ -17944,272 +37267,240 @@ paths: "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" } + parameters: + - name: channel_id + description: channel unique identifier + in: path + required: true + type: string + - name: port_id + description: port unique identifier + in: path + required: true + type: string tags: - Query - /cosmos/upgrade/v1beta1/module_versions: + /ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/consensus_state/revision/{revision_number}/height/{revision_height}: get: - summary: ModuleVersions queries the list of module versions from state. - description: 'Since: cosmos-sdk 0.43' - operationId: CosmosUpgradeV1Beta1ModuleVersions + summary: |- + ChannelConsensusState queries for the consensus state for the channel + associated with the provided channel identifiers. + operationId: IbcCoreChannelV1ChannelConsensusState responses: '200': description: A successful response. schema: type: object properties: - module_versions: - type: array - items: - type: object - properties: - name: - type: string - title: name of the app module - version: - type: string - format: uint64 - title: consensus version of the app module - description: |- - ModuleVersion specifies a module and its consensus version. - - Since: cosmos-sdk 0.43 - description: >- - module_versions is a list of module names with their consensus - versions. - description: >- - QueryModuleVersionsResponse is the response type for the - Query/ModuleVersions - - RPC method. - - - Since: cosmos-sdk 0.43 - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized + consensus_state: + title: consensus state associated with the channel + type: object + properties: + '@type': + type: string + description: >- + A URL/resource name that uniquely identifies the type of + the serialized - protocol buffer message. This string must contain at - least + protocol buffer message. This string must contain at least - one "/" character. The last segment of the URL's path - must represent + one "/" character. The last segment of the URL's path must + represent - the fully qualified name of the type (as in + the fully qualified name of the type (as in - `path/google.protobuf.Duration`). The name should be in - a canonical form + `path/google.protobuf.Duration`). The name should be in a + canonical form - (e.g., leading "." is not accepted). + (e.g., leading "." is not accepted). - In practice, teams usually precompile into the binary - all types that they + In practice, teams usually precompile into the binary all + types that they - expect it to use in the context of Any. However, for - URLs which use the + expect it to use in the context of Any. However, for URLs + which use the - scheme `http`, `https`, or no scheme, one can optionally - set up a type + scheme `http`, `https`, or no scheme, one can optionally + set up a type - server that maps type URLs to message definitions as - follows: + server that maps type URLs to message definitions as + follows: - * If no scheme is provided, `https` is assumed. + * If no scheme is provided, `https` is assumed. - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based + on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) - Note: this functionality is not currently available in - the official + Note: this functionality is not currently available in the + official - protobuf release, and it is not used for type URLs - beginning with + protobuf release, and it is not used for type URLs + beginning with - type.googleapis.com. + type.googleapis.com. - Schemes other than `http`, `https` (or the empty scheme) - might be + Schemes other than `http`, `https` (or the empty scheme) + might be - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a + used with implementation specific semantics. + additionalProperties: {} + description: >- + `Any` contains an arbitrary serialized protocol buffer message + along with a - URL that describes the type of the serialized message. + URL that describes the type of the serialized message. - Protobuf library provides support to pack/unpack Any values - in the form + Protobuf library provides support to pack/unpack Any values in + the form - of utility functions or additional generated methods of the - Any type. + of utility functions or additional generated methods of the + Any type. - Example 1: Pack and unpack a message in C++. + Example 1: Pack and unpack a message in C++. - Foo foo = ...; - Any any; - any.PackFrom(foo); + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { ... - if (any.UnpackTo(&foo)) { - ... - } + } - Example 2: Pack and unpack a message in Java. + Example 2: Pack and unpack a message in Java. - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } - Example 3: Pack and unpack a message in Python. + Example 3: Pack and unpack a message in Python. - foo = Foo(...) - any = Any() - any.Pack(foo) + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - Example 4: Pack and unpack a message in Go + Example 4: Pack and unpack a message in Go - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } + The pack methods provided by protobuf library will by default + use + 'type.googleapis.com/full.type.name' as the type URL and the + unpack - JSON + methods only use the fully qualified type name after the last + '/' - ==== + in the type URL, for example "foo.bar.com/x/y.z" will yield + type - The JSON representation of an `Any` value uses the regular + name "y.z". - representation of the deserialized, embedded message, with - an - additional field `@type` which contains the type URL. - Example: - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } + JSON - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } + ==== - If the embedded message type is well-known and has a custom - JSON + The JSON representation of an `Any` value uses the regular - representation, that representation will be embedded adding - a field + representation of the deserialized, embedded message, with an - `value` which holds the custom JSON in addition to the - `@type` + additional field `@type` which contains the type URL. Example: - field. Example (for message [google.protobuf.Duration][]): + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: module_name - description: |- - module_name is a field to query a specific module - consensus version from state. Leaving this empty will - fetch the full list of module versions from state - in: query - required: false - type: string - tags: - - Query - /cosmos/upgrade/v1beta1/upgraded_consensus_state/{last_height}: - get: - summary: >- - UpgradedConsensusState queries the consensus state that will serve + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } - as a trusted kernel for the next version of this chain. It will only be + If the embedded message type is well-known and has a custom + JSON - stored at the last height of this chain. + representation, that representation will be embedded adding a + field - UpgradedConsensusState RPC not supported with legacy querier + `value` which holds the custom JSON in addition to the `@type` - This rpc is deprecated now that IBC has its own replacement + field. Example (for message [google.protobuf.Duration][]): - (https://github.com/cosmos/ibc-go/blob/2c880a22e9f9cc75f62b527ca94aa75ce1106001/proto/ibc/core/client/v1/query.proto#L54) - operationId: CosmosUpgradeV1Beta1UpgradedConsensusState - responses: - '200': - description: A successful response. - schema: - type: object - properties: - upgraded_consensus_state: + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + client_id: + type: string + title: client ID associated with the consensus state + proof: type: string format: byte - title: 'Since: cosmos-sdk 0.43' - description: >- - QueryUpgradedConsensusStateResponse is the response type for the - Query/UpgradedConsensusState + title: merkle proof of existence + proof_height: + title: height at which the proof was retrieved + type: object + properties: + revision_number: + type: string + format: uint64 + title: the revision that the client is currently on + revision_height: + type: string + format: uint64 + title: the height within the given revision + description: >- + Normally the RevisionHeight is incremented at each height + while keeping - RPC method. + RevisionNumber the same. However some consensus algorithms may + choose to + + reset the height in certain conditions e.g. hard forks, + state-machine + + breaking changes In these cases, the RevisionNumber is + incremented so that + + height continues to be monitonically increasing even as the + RevisionHeight + + gets reset + title: |- + QueryChannelClientStateResponse is the Response type for the + Query/QueryChannelClientState RPC method default: description: An unexpected error response. schema: @@ -18396,495 +37687,82 @@ paths: "value": "1.212s" } parameters: - - name: last_height - description: |- - last height of the current chain must be sent in request - as this is the height under which next consensus state is stored - in: path - required: true - type: string - format: int64 - tags: - - Query - /DecentralCardGame/Cardchain/cardchain/q_collections/{status}/{ignoreStatus}: - get: - summary: Queries a list of QCollections items. - operationId: DecentralCardGameCardchainCardchainQCollections - responses: - '200': - description: A successful response. - schema: - type: object - properties: - collectionIds: - type: array - items: - type: string - format: uint64 - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: status - in: path - required: true - type: string - enum: - - design - - finalized - - active - - archived - - name: ignoreStatus - in: path - required: true - type: boolean - - name: contributors - in: query - required: false - type: array - items: - type: string - collectionFormat: multi - - name: containsCards - in: query - required: false - type: array - items: - type: string - format: uint64 - collectionFormat: multi - - name: owner - in: query - required: false - type: string - tags: - - Query - /DecentralCardGame/Cardchain/cardchain/q_councils/{status}: - get: - summary: Queries a list of QCouncils items. - operationId: DecentralCardGameCardchainCardchainQCouncils - responses: - '200': - description: A successful response. - schema: - type: object - properties: - councilssIds: - type: array - items: - type: string - format: uint64 - councils: - type: array - items: - type: object - properties: - cardId: - type: string - format: uint64 - voters: - type: array - items: - type: string - hashResponses: - type: array - items: - type: object - properties: - user: - type: string - hash: - type: string - clearResponses: - type: array - items: - type: object - properties: - user: - type: string - response: - type: string - enum: - - 'Yes' - - 'No' - - Suggestion - default: 'Yes' - suggestion: - type: string - treasury: - type: string - status: - type: string - enum: - - councilDoesNotExist - - councilOpen - - councilCreated - - councilClosed - - commited - - revealed - - suggestionsMade - default: councilDoesNotExist - trialStart: - type: string - format: uint64 - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: status - in: path - required: true - type: string - enum: - - councilDoesNotExist - - councilOpen - - councilCreated - - councilClosed - - commited - - revealed - - suggestionsMade - - name: voters - in: query - required: false - type: array - items: - type: string - collectionFormat: multi - - name: card - in: query - required: false - type: string - format: uint64 - - name: creator - in: query - required: false - type: string - - name: ignore.status - in: query - required: false - type: boolean - - name: ignore.card - in: query - required: false - type: boolean - tags: - - Query - /DecentralCardGame/Cardchain/cardchain/rarity_distribution/{collectionId}: - get: - summary: Queries a list of RarityDistribution items. - operationId: DecentralCardGameCardchainCardchainRarityDistribution - responses: - '200': - description: A successful response. - schema: - type: object - properties: - current: - type: array - items: - type: string - format: uint64 - wanted: - type: array - items: - type: string - format: uint64 - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: collectionId - in: path - required: true - type: string - format: uint64 - tags: - - Query - /DecentralCardGame/cardchain/cardchain/params: - get: - summary: Parameters queries the parameters of the module. - operationId: DecentralCardGameCardchainCardchainParams - responses: - '200': - description: A successful response. - schema: - type: object - properties: - params: - description: params holds all the parameters of this module. - type: object - properties: - votingRightsExpirationTime: - type: string - format: int64 - collectionSize: - type: string - format: uint64 - collectionPrice: - type: string - activeCollectionsAmount: - type: string - format: uint64 - collectionCreationFee: - type: string - collateralDeposit: - type: string - winnerReward: - type: string - format: int64 - hourlyFaucet: - type: string - inflationRate: - type: string - raresPerPack: - type: string - format: uint64 - commonsPerPack: - type: string - format: uint64 - unCommonsPerPack: - type: string - format: uint64 - trialPeriod: - type: string - format: uint64 - gameVoteRatio: - type: string - format: int64 - cardAuctionPriceReductionPeriod: - type: string - format: int64 - airDropValue: - type: string - airDropMaxBlockHeight: - type: string - format: int64 - trialVoteReward: - type: string - votePoolFraction: - type: string - format: int64 - votingRewardCap: - type: string - format: int64 - description: >- - QueryParamsResponse is response type for the Query/Params RPC - method. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - tags: - - Query - /DecentralCardGame/cardchain/cardchain/q_card/{cardId}: - get: - summary: Queries a list of QCard items. - operationId: DecentralCardGameCardchainCardchainQCard - responses: - '200': - description: A successful response. - schema: - type: object - properties: - owner: - type: string - artist: - type: string - content: - type: string - image: - type: string - fullArt: - type: boolean - notes: - type: string - status: - type: string - enum: - - scheme - - prototype - - trial - - permanent - - suspended - - banned - - bannedSoon - - bannedVerySoon - - none - - inCouncil - default: scheme - votePool: - type: string - voters: - type: array - items: - type: string - fairEnoughVotes: - type: string - format: uint64 - overpoweredVotes: - type: string - format: uint64 - underpoweredVotes: - type: string - format: uint64 - inappropriateVotes: - type: string - format: uint64 - nerflevel: - type: string - format: int64 - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: cardId + - name: channel_id + description: channel unique identifier in: path required: true type: string - tags: - - Query - /DecentralCardGame/cardchain/cardchain/q_card_content/{cardId}: - get: - summary: Queries a list of QCardContent items. - operationId: DecentralCardGameCardchainCardchainQCardContent - responses: - '200': - description: A successful response. - schema: - type: object - properties: - content: - type: string - hash: - type: string - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: cardId + - name: port_id + description: port unique identifier in: path required: true type: string + - name: revision_number + description: revision number of the consensus state + in: path + required: true + type: string + format: uint64 + - name: revision_height + description: revision height of the consensus state + in: path + required: true + type: string + format: uint64 tags: - Query - /DecentralCardGame/cardchain/cardchain/q_cardchain_info: + /ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/next_sequence: get: - summary: Queries a list of QCardchainInfo items. - operationId: DecentralCardGameCardchainCardchainQCardchainInfo + summary: >- + NextSequenceReceive returns the next receive sequence for a given + channel. + operationId: IbcCoreChannelV1NextSequenceReceive responses: '200': description: A successful response. schema: type: object properties: - cardAuctionPrice: - type: string - activeCollections: - type: array - items: - type: string - format: uint64 - cardsNumber: - type: string - format: uint64 - matchesNumber: - type: string - format: uint64 - sellOffersNumber: + next_sequence_receive: type: string format: uint64 - councilsNumber: + title: next sequence receive number + proof: type: string - format: uint64 + format: byte + title: merkle proof of existence + proof_height: + title: height at which the proof was retrieved + type: object + properties: + revision_number: + type: string + format: uint64 + title: the revision that the client is currently on + revision_height: + type: string + format: uint64 + title: the height within the given revision + description: >- + Normally the RevisionHeight is incremented at each height + while keeping + + RevisionNumber the same. However some consensus algorithms may + choose to + + reset the height in certain conditions e.g. hard forks, + state-machine + + breaking changes In these cases, the RevisionNumber is + incremented so that + + height continues to be monitonically increasing even as the + RevisionHeight + + gets reset + title: |- + QuerySequenceResponse is the request type for the + Query/QueryNextSequenceReceiveResponse RPC method default: description: An unexpected error response. schema: @@ -18902,24 +37780,291 @@ paths: properties: '@type': type: string + description: >- + A URL/resource name that uniquely identifies the type of + the serialized + + protocol buffer message. This string must contain at + least + + one "/" character. The last segment of the URL's path + must represent + + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name should be in + a canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the binary + all types that they + + expect it to use in the context of Any. However, for + URLs which use the + + scheme `http`, `https`, or no scheme, one can optionally + set up a type + + server that maps type URLs to message definitions as + follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based + on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available in + the official + + protobuf release, and it is not used for type URLs + beginning with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty scheme) + might be + + used with implementation specific semantics. additionalProperties: {} + description: >- + `Any` contains an arbitrary serialized protocol buffer + message along with a + + URL that describes the type of the serialized message. + + + Protobuf library provides support to pack/unpack Any values + in the form + + of utility functions or additional generated methods of the + Any type. + + + Example 1: Pack and unpack a message in C++. + + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } + + Example 2: Pack and unpack a message in Java. + + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + + Example 3: Pack and unpack a message in Python. + + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + + Example 4: Pack and unpack a message in Go + + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } + + The pack methods provided by protobuf library will by + default use + + 'type.googleapis.com/full.type.name' as the type URL and the + unpack + + methods only use the fully qualified type name after the + last '/' + + in the type URL, for example "foo.bar.com/x/y.z" will yield + type + + name "y.z". + + + + JSON + + ==== + + The JSON representation of an `Any` value uses the regular + + representation of the deserialized, embedded message, with + an + + additional field `@type` which contains the type URL. + Example: + + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } + + If the embedded message type is well-known and has a custom + JSON + + representation, that representation will be embedded adding + a field + + `value` which holds the custom JSON in addition to the + `@type` + + field. Example (for message [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + parameters: + - name: channel_id + description: channel unique identifier + in: path + required: true + type: string + - name: port_id + description: port unique identifier + in: path + required: true + type: string tags: - Query - /DecentralCardGame/cardchain/cardchain/q_cards/{status}: + /ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/packet_acknowledgements: get: - summary: Queries a list of QCards items. - operationId: DecentralCardGameCardchainCardchainQCards + summary: >- + PacketAcknowledgements returns all the packet acknowledgements + associated + + with a channel. + operationId: IbcCoreChannelV1PacketAcknowledgements responses: '200': description: A successful response. schema: type: object properties: - cardsList: + acknowledgements: type: array items: - type: string - format: uint64 + type: object + properties: + port_id: + type: string + description: channel port identifier. + channel_id: + type: string + description: channel unique identifier. + sequence: + type: string + format: uint64 + description: packet sequence. + data: + type: string + format: byte + description: embedded data that represents packet state. + description: >- + PacketState defines the generic type necessary to retrieve + and store + + packet commitments, acknowledgements, and receipts. + + Caller is responsible for knowing the context necessary to + interpret this + + state as a commitment, acknowledgement, or a receipt. + pagination: + title: pagination response + type: object + properties: + next_key: + type: string + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + total: + type: string + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total + + was set, its value is undefined otherwise + description: >- + PageResponse is to be embedded in gRPC response messages where + the + + corresponding request message has used PageRequest. + + message SomeResponse { + repeated Bar results = 1; + PageResponse page = 2; + } + height: + title: query block height + type: object + properties: + revision_number: + type: string + format: uint64 + title: the revision that the client is currently on + revision_height: + type: string + format: uint64 + title: the height within the given revision + description: >- + Normally the RevisionHeight is incremented at each height + while keeping + + RevisionNumber the same. However some consensus algorithms may + choose to + + reset the height in certain conditions e.g. hard forks, + state-machine + + breaking changes In these cases, the RevisionNumber is + incremented so that + + height continues to be monitonically increasing even as the + RevisionHeight + + gets reset + title: |- + QueryPacketAcknowledgemetsResponse is the request type for the + Query/QueryPacketAcknowledgements RPC method default: description: An unexpected error response. schema: @@ -18937,94 +38082,306 @@ paths: properties: '@type': type: string + description: >- + A URL/resource name that uniquely identifies the type of + the serialized + + protocol buffer message. This string must contain at + least + + one "/" character. The last segment of the URL's path + must represent + + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name should be in + a canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the binary + all types that they + + expect it to use in the context of Any. However, for + URLs which use the + + scheme `http`, `https`, or no scheme, one can optionally + set up a type + + server that maps type URLs to message definitions as + follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based + on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available in + the official + + protobuf release, and it is not used for type URLs + beginning with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty scheme) + might be + + used with implementation specific semantics. additionalProperties: {} + description: >- + `Any` contains an arbitrary serialized protocol buffer + message along with a + + URL that describes the type of the serialized message. + + + Protobuf library provides support to pack/unpack Any values + in the form + + of utility functions or additional generated methods of the + Any type. + + + Example 1: Pack and unpack a message in C++. + + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } + + Example 2: Pack and unpack a message in Java. + + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + + Example 3: Pack and unpack a message in Python. + + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + + Example 4: Pack and unpack a message in Go + + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } + + The pack methods provided by protobuf library will by + default use + + 'type.googleapis.com/full.type.name' as the type URL and the + unpack + + methods only use the fully qualified type name after the + last '/' + + in the type URL, for example "foo.bar.com/x/y.z" will yield + type + + name "y.z". + + + + JSON + + ==== + + The JSON representation of an `Any` value uses the regular + + representation of the deserialized, embedded message, with + an + + additional field `@type` which contains the type URL. + Example: + + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } + + If the embedded message type is well-known and has a custom + JSON + + representation, that representation will be embedded adding + a field + + `value` which holds the custom JSON in addition to the + `@type` + + field. Example (for message [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } parameters: - - name: status + - name: channel_id + description: channel unique identifier in: path required: true type: string - enum: - - scheme - - prototype - - trial - - permanent - - suspended - - banned - - bannedSoon - - bannedVerySoon - - none - - playable - - unplayable - - name: owner - in: query - required: false + - name: port_id + description: port unique identifier + in: path + required: true type: string - - name: cardType + - name: pagination.key + description: |- + key is a value returned in PageResponse.next_key to begin + querying the next page most efficiently. Only one of offset or key + should be set. in: query required: false type: string - - name: classes + format: byte + - name: pagination.offset + description: >- + offset is a numeric offset that can be used when key is unavailable. + + It is less efficient than using key. Only one of offset or key + should + + be set. in: query required: false type: string - - name: sortBy + format: uint64 + - name: pagination.limit + description: >- + limit is the total number of results to be returned in the result + page. + + If left empty it will default to a value to be set by each app. in: query required: false type: string - - name: nameContains + format: uint64 + - name: pagination.count_total + description: >- + count_total is set to true to indicate that the result set should + include + + a count of the total number of items available for pagination in + UIs. + + count_total is only respected when offset is used. It is ignored + when key + + is set. in: query required: false - type: string - - name: keywordsContains + type: boolean + - name: pagination.reverse + description: >- + reverse is set to true if results are to be returned in the + descending order. + + + Since: cosmos-sdk 0.43 in: query required: false - type: string - - name: notesContains + type: boolean + - name: packet_commitment_sequences + description: list of packet sequences in: query required: false - type: string + type: array + items: + type: string + format: uint64 + collectionFormat: multi tags: - Query - /DecentralCardGame/cardchain/cardchain/q_collection/{collectionId}: + /ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/packet_acks/{sequence}: get: - summary: Queries a list of QCollection items. - operationId: DecentralCardGameCardchainCardchainQCollection + summary: PacketAcknowledgement queries a stored packet acknowledgement hash. + operationId: IbcCoreChannelV1PacketAcknowledgement responses: '200': description: A successful response. schema: type: object properties: - name: - type: string - cards: - type: array - items: - type: string - format: uint64 - artist: - type: string - storyWriter: - type: string - contributors: - type: array - items: - type: string - story: - type: string - artwork: - type: string - status: + acknowledgement: type: string - enum: - - design - - finalized - - active - - archived - default: design - timeStamp: + format: byte + title: packet associated with the request fields + proof: type: string - format: int64 + format: byte + title: merkle proof of existence + proof_height: + title: height at which the proof was retrieved + type: object + properties: + revision_number: + type: string + format: uint64 + title: the revision that the client is currently on + revision_height: + type: string + format: uint64 + title: the height within the given revision + description: >- + Normally the RevisionHeight is incremented at each height + while keeping + + RevisionNumber the same. However some consensus algorithms may + choose to + + reset the height in certain conditions e.g. hard forks, + state-machine + + breaking changes In these cases, the RevisionNumber is + incremented so that + + height continues to be monitonically increasing even as the + RevisionHeight + + gets reset + title: >- + QueryPacketAcknowledgementResponse defines the client query + response for a + + packet which also includes a proof and the height from which the + + proof was retrieved default: description: An unexpected error response. schema: @@ -19042,164 +38399,295 @@ paths: properties: '@type': type: string + description: >- + A URL/resource name that uniquely identifies the type of + the serialized + + protocol buffer message. This string must contain at + least + + one "/" character. The last segment of the URL's path + must represent + + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name should be in + a canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the binary + all types that they + + expect it to use in the context of Any. However, for + URLs which use the + + scheme `http`, `https`, or no scheme, one can optionally + set up a type + + server that maps type URLs to message definitions as + follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based + on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available in + the official + + protobuf release, and it is not used for type URLs + beginning with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty scheme) + might be + + used with implementation specific semantics. additionalProperties: {} + description: >- + `Any` contains an arbitrary serialized protocol buffer + message along with a + + URL that describes the type of the serialized message. + + + Protobuf library provides support to pack/unpack Any values + in the form + + of utility functions or additional generated methods of the + Any type. + + + Example 1: Pack and unpack a message in C++. + + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } + + Example 2: Pack and unpack a message in Java. + + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + + Example 3: Pack and unpack a message in Python. + + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + + Example 4: Pack and unpack a message in Go + + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } + + The pack methods provided by protobuf library will by + default use + + 'type.googleapis.com/full.type.name' as the type URL and the + unpack + + methods only use the fully qualified type name after the + last '/' + + in the type URL, for example "foo.bar.com/x/y.z" will yield + type + + name "y.z". + + + + JSON + + ==== + + The JSON representation of an `Any` value uses the regular + + representation of the deserialized, embedded message, with + an + + additional field `@type` which contains the type URL. + Example: + + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } + + If the embedded message type is well-known and has a custom + JSON + + representation, that representation will be embedded adding + a field + + `value` which holds the custom JSON in addition to the + `@type` + + field. Example (for message [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } parameters: - - name: collectionId + - name: channel_id + description: channel unique identifier + in: path + required: true + type: string + - name: port_id + description: port unique identifier + in: path + required: true + type: string + - name: sequence + description: packet sequence in: path required: true type: string format: uint64 tags: - Query - /DecentralCardGame/cardchain/cardchain/q_council/{councilId}: + /ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/packet_commitments: get: - summary: Queries a list of QCouncil items. - operationId: DecentralCardGameCardchainCardchainQCouncil + summary: |- + PacketCommitments returns all the packet commitments hashes associated + with a channel. + operationId: IbcCoreChannelV1PacketCommitments responses: '200': description: A successful response. schema: type: object properties: - cardId: - type: string - format: uint64 - voters: - type: array - items: - type: string - hashResponses: - type: array - items: - type: object - properties: - user: - type: string - hash: - type: string - clearResponses: + commitments: type: array items: type: object properties: - user: + port_id: type: string - response: + description: channel port identifier. + channel_id: type: string - enum: - - 'Yes' - - 'No' - - Suggestion - default: 'Yes' - suggestion: + description: channel unique identifier. + sequence: type: string - treasury: - type: string - status: - type: string - enum: - - councilDoesNotExist - - councilOpen - - councilCreated - - councilClosed - - commited - - revealed - - suggestionsMade - default: councilDoesNotExist - trialStart: - type: string - format: uint64 - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': + format: uint64 + description: packet sequence. + data: type: string - additionalProperties: {} - parameters: - - name: councilId - in: path - required: true - type: string - format: uint64 - tags: - - Query - /DecentralCardGame/cardchain/cardchain/q_match/{matchId}: - get: - summary: Queries a list of QMatch items. - operationId: DecentralCardGameCardchainCardchainQMatch - responses: - '200': - description: A successful response. - schema: - type: object - properties: - timestamp: - type: string - format: uint64 - reporter: - type: string - playerA: + format: byte + description: embedded data that represents packet state. + description: >- + PacketState defines the generic type necessary to retrieve + and store + + packet commitments, acknowledgements, and receipts. + + Caller is responsible for knowing the context necessary to + interpret this + + state as a commitment, acknowledgement, or a receipt. + pagination: + title: pagination response type: object properties: - addr: + next_key: type: string - playedCards: - type: array - items: - type: string - format: uint64 - confirmed: - type: boolean - outcome: + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + total: type: string - enum: - - AWon - - BWon - - Draw - - Aborted - default: AWon - playerB: + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total + + was set, its value is undefined otherwise + description: >- + PageResponse is to be embedded in gRPC response messages where + the + + corresponding request message has used PageRequest. + + message SomeResponse { + repeated Bar results = 1; + PageResponse page = 2; + } + height: + title: query block height type: object properties: - addr: - type: string - playedCards: - type: array - items: - type: string - format: uint64 - confirmed: - type: boolean - outcome: - type: string - enum: - - AWon - - BWon - - Draw - - Aborted - default: AWon - outcome: - type: string - enum: - - AWon - - BWon - - Draw - - Aborted - default: AWon - coinsDistributed: - type: boolean + revision_number: + type: string + format: uint64 + title: the revision that the client is currently on + revision_height: + type: string + format: uint64 + title: the height within the given revision + description: >- + Normally the RevisionHeight is incremented at each height + while keeping + + RevisionNumber the same. However some consensus algorithms may + choose to + + reset the height in certain conditions e.g. hard forks, + state-machine + + breaking changes In these cases, the RevisionNumber is + incremented so that + + height continues to be monitonically increasing even as the + RevisionHeight + + gets reset + title: |- + QueryPacketCommitmentsResponse is the request type for the + Query/QueryPacketCommitments RPC method default: description: An unexpected error response. schema: @@ -19217,90 +38705,295 @@ paths: properties: '@type': type: string + description: >- + A URL/resource name that uniquely identifies the type of + the serialized + + protocol buffer message. This string must contain at + least + + one "/" character. The last segment of the URL's path + must represent + + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name should be in + a canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the binary + all types that they + + expect it to use in the context of Any. However, for + URLs which use the + + scheme `http`, `https`, or no scheme, one can optionally + set up a type + + server that maps type URLs to message definitions as + follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based + on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available in + the official + + protobuf release, and it is not used for type URLs + beginning with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty scheme) + might be + + used with implementation specific semantics. additionalProperties: {} + description: >- + `Any` contains an arbitrary serialized protocol buffer + message along with a + + URL that describes the type of the serialized message. + + + Protobuf library provides support to pack/unpack Any values + in the form + + of utility functions or additional generated methods of the + Any type. + + + Example 1: Pack and unpack a message in C++. + + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } + + Example 2: Pack and unpack a message in Java. + + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + + Example 3: Pack and unpack a message in Python. + + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + + Example 4: Pack and unpack a message in Go + + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } + + The pack methods provided by protobuf library will by + default use + + 'type.googleapis.com/full.type.name' as the type URL and the + unpack + + methods only use the fully qualified type name after the + last '/' + + in the type URL, for example "foo.bar.com/x/y.z" will yield + type + + name "y.z". + + + + JSON + + ==== + + The JSON representation of an `Any` value uses the regular + + representation of the deserialized, embedded message, with + an + + additional field `@type` which contains the type URL. + Example: + + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } + + If the embedded message type is well-known and has a custom + JSON + + representation, that representation will be embedded adding + a field + + `value` which holds the custom JSON in addition to the + `@type` + + field. Example (for message [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } parameters: - - name: matchId + - name: channel_id + description: channel unique identifier + in: path + required: true + type: string + - name: port_id + description: port unique identifier in: path required: true type: string + - name: pagination.key + description: |- + key is a value returned in PageResponse.next_key to begin + querying the next page most efficiently. Only one of offset or key + should be set. + in: query + required: false + type: string + format: byte + - name: pagination.offset + description: >- + offset is a numeric offset that can be used when key is unavailable. + + It is less efficient than using key. Only one of offset or key + should + + be set. + in: query + required: false + type: string + format: uint64 + - name: pagination.limit + description: >- + limit is the total number of results to be returned in the result + page. + + If left empty it will default to a value to be set by each app. + in: query + required: false + type: string format: uint64 + - name: pagination.count_total + description: >- + count_total is set to true to indicate that the result set should + include + + a count of the total number of items available for pagination in + UIs. + + count_total is only respected when offset is used. It is ignored + when key + + is set. + in: query + required: false + type: boolean + - name: pagination.reverse + description: >- + reverse is set to true if results are to be returned in the + descending order. + + + Since: cosmos-sdk 0.43 + in: query + required: false + type: boolean tags: - Query - /DecentralCardGame/cardchain/cardchain/q_matches: + /ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/packet_commitments/{packet_ack_sequences}/unreceived_acks: get: - summary: Queries a list of QMatches items. - operationId: DecentralCardGameCardchainCardchainQMatches + summary: >- + UnreceivedAcks returns all the unreceived IBC acknowledgements + associated + + with a channel and sequences. + operationId: IbcCoreChannelV1UnreceivedAcks responses: '200': description: A successful response. schema: type: object properties: - matchesList: + sequences: type: array items: type: string format: uint64 - matches: - type: array - items: - type: object - properties: - timestamp: - type: string - format: uint64 - reporter: - type: string - playerA: - type: object - properties: - addr: - type: string - playedCards: - type: array - items: - type: string - format: uint64 - confirmed: - type: boolean - outcome: - type: string - enum: - - AWon - - BWon - - Draw - - Aborted - default: AWon - playerB: - type: object - properties: - addr: - type: string - playedCards: - type: array - items: - type: string - format: uint64 - confirmed: - type: boolean - outcome: - type: string - enum: - - AWon - - BWon - - Draw - - Aborted - default: AWon - outcome: - type: string - enum: - - AWon - - BWon - - Draw - - Aborted - default: AWon - coinsDistributed: - type: boolean + title: list of unreceived acknowledgement sequences + height: + title: query block height + type: object + properties: + revision_number: + type: string + format: uint64 + title: the revision that the client is currently on + revision_height: + type: string + format: uint64 + title: the height within the given revision + description: >- + Normally the RevisionHeight is incremented at each height + while keeping + + RevisionNumber the same. However some consensus algorithms may + choose to + + reset the height in certain conditions e.g. hard forks, + state-machine + + breaking changes In these cases, the RevisionNumber is + incremented so that + + height continues to be monitonically increasing even as the + RevisionHeight + + gets reset + title: |- + QueryUnreceivedAcksResponse is the response type for the + Query/UnreceivedAcks RPC method default: description: An unexpected error response. schema: @@ -19318,79 +39011,249 @@ paths: properties: '@type': type: string + description: >- + A URL/resource name that uniquely identifies the type of + the serialized + + protocol buffer message. This string must contain at + least + + one "/" character. The last segment of the URL's path + must represent + + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name should be in + a canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the binary + all types that they + + expect it to use in the context of Any. However, for + URLs which use the + + scheme `http`, `https`, or no scheme, one can optionally + set up a type + + server that maps type URLs to message definitions as + follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based + on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available in + the official + + protobuf release, and it is not used for type URLs + beginning with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty scheme) + might be + + used with implementation specific semantics. additionalProperties: {} + description: >- + `Any` contains an arbitrary serialized protocol buffer + message along with a + + URL that describes the type of the serialized message. + + + Protobuf library provides support to pack/unpack Any values + in the form + + of utility functions or additional generated methods of the + Any type. + + + Example 1: Pack and unpack a message in C++. + + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } + + Example 2: Pack and unpack a message in Java. + + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + + Example 3: Pack and unpack a message in Python. + + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + + Example 4: Pack and unpack a message in Go + + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } + + The pack methods provided by protobuf library will by + default use + + 'type.googleapis.com/full.type.name' as the type URL and the + unpack + + methods only use the fully qualified type name after the + last '/' + + in the type URL, for example "foo.bar.com/x/y.z" will yield + type + + name "y.z". + + + + JSON + + ==== + + The JSON representation of an `Any` value uses the regular + + representation of the deserialized, embedded message, with + an + + additional field `@type` which contains the type URL. + Example: + + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } + + If the embedded message type is well-known and has a custom + JSON + + representation, that representation will be embedded adding + a field + + `value` which holds the custom JSON in addition to the + `@type` + + field. Example (for message [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } parameters: - - name: timestampDown - in: query - required: false - type: string - format: uint64 - - name: timestampUp - in: query - required: false - type: string - format: uint64 - - name: containsUsers - in: query - required: false - type: array - items: - type: string - collectionFormat: multi - - name: reporter - in: query - required: false + - name: channel_id + description: channel unique identifier + in: path + required: true type: string - - name: outcome - in: query - required: false + - name: port_id + description: port unique identifier + in: path + required: true type: string - enum: - - AWon - - BWon - - Draw - - Aborted - default: AWon - - name: cardsPlayed - in: query - required: false + - name: packet_ack_sequences + description: list of acknowledgement sequences + in: path + required: true type: array items: type: string format: uint64 - collectionFormat: multi - - name: ignore.outcome - in: query - required: false - type: boolean + collectionFormat: csv + minItems: 1 tags: - Query - /DecentralCardGame/cardchain/cardchain/q_sell_offer/{sellOfferId}: + /ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/packet_commitments/{packet_commitment_sequences}/unreceived_packets: get: - summary: Queries a list of QSellOffer items. - operationId: DecentralCardGameCardchainCardchainQSellOffer + summary: >- + UnreceivedPackets returns all the unreceived IBC packets associated with + a + + channel and sequences. + operationId: IbcCoreChannelV1UnreceivedPackets responses: '200': description: A successful response. schema: type: object properties: - seller: - type: string - buyer: - type: string - card: - type: string - format: uint64 - price: - type: string - status: - type: string - enum: - - open - - sold - - removed - default: open + sequences: + type: array + items: + type: string + format: uint64 + title: list of unreceived packet sequences + height: + title: query block height + type: object + properties: + revision_number: + type: string + format: uint64 + title: the revision that the client is currently on + revision_height: + type: string + format: uint64 + title: the height within the given revision + description: >- + Normally the RevisionHeight is incremented at each height + while keeping + + RevisionNumber the same. However some consensus algorithms may + choose to + + reset the height in certain conditions e.g. hard forks, + state-machine + + breaking changes In these cases, the RevisionNumber is + incremented so that + + height continues to be monitonically increasing even as the + RevisionHeight + + gets reset + title: |- + QueryUnreceivedPacketsResponse is the response type for the + Query/UnreceivedPacketCommitments RPC method default: description: An unexpected error response. schema: @@ -19408,51 +39271,252 @@ paths: properties: '@type': type: string + description: >- + A URL/resource name that uniquely identifies the type of + the serialized + + protocol buffer message. This string must contain at + least + + one "/" character. The last segment of the URL's path + must represent + + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name should be in + a canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the binary + all types that they + + expect it to use in the context of Any. However, for + URLs which use the + + scheme `http`, `https`, or no scheme, one can optionally + set up a type + + server that maps type URLs to message definitions as + follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based + on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available in + the official + + protobuf release, and it is not used for type URLs + beginning with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty scheme) + might be + + used with implementation specific semantics. additionalProperties: {} + description: >- + `Any` contains an arbitrary serialized protocol buffer + message along with a + + URL that describes the type of the serialized message. + + + Protobuf library provides support to pack/unpack Any values + in the form + + of utility functions or additional generated methods of the + Any type. + + + Example 1: Pack and unpack a message in C++. + + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } + + Example 2: Pack and unpack a message in Java. + + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + + Example 3: Pack and unpack a message in Python. + + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + + Example 4: Pack and unpack a message in Go + + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } + + The pack methods provided by protobuf library will by + default use + + 'type.googleapis.com/full.type.name' as the type URL and the + unpack + + methods only use the fully qualified type name after the + last '/' + + in the type URL, for example "foo.bar.com/x/y.z" will yield + type + + name "y.z". + + + + JSON + + ==== + + The JSON representation of an `Any` value uses the regular + + representation of the deserialized, embedded message, with + an + + additional field `@type` which contains the type URL. + Example: + + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } + + If the embedded message type is well-known and has a custom + JSON + + representation, that representation will be embedded adding + a field + + `value` which holds the custom JSON in addition to the + `@type` + + field. Example (for message [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } parameters: - - name: sellOfferId + - name: channel_id + description: channel unique identifier in: path required: true type: string - format: uint64 + - name: port_id + description: port unique identifier + in: path + required: true + type: string + - name: packet_commitment_sequences + description: list of packet sequences + in: path + required: true + type: array + items: + type: string + format: uint64 + collectionFormat: csv + minItems: 1 tags: - Query - /DecentralCardGame/cardchain/cardchain/q_sell_offers/{status}: + /ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/packet_commitments/{sequence}: get: - summary: Queries a list of QSellOffers items. - operationId: DecentralCardGameCardchainCardchainQSellOffers + summary: PacketCommitment queries a stored packet commitment hash. + operationId: IbcCoreChannelV1PacketCommitment responses: '200': description: A successful response. schema: type: object properties: - sellOffersIds: - type: array - items: - type: string - format: uint64 - sellOffers: - type: array - items: - type: object - properties: - seller: - type: string - buyer: - type: string - card: - type: string - format: uint64 - price: - type: string - status: - type: string - enum: - - open - - sold - - removed - default: open + commitment: + type: string + format: byte + title: packet associated with the request fields + proof: + type: string + format: byte + title: merkle proof of existence + proof_height: + title: height at which the proof was retrieved + type: object + properties: + revision_number: + type: string + format: uint64 + title: the revision that the client is currently on + revision_height: + type: string + format: uint64 + title: the height within the given revision + description: >- + Normally the RevisionHeight is incremented at each height + while keeping + + RevisionNumber the same. However some consensus algorithms may + choose to + + reset the height in certain conditions e.g. hard forks, + state-machine + + breaking changes In these cases, the RevisionNumber is + incremented so that + + height continues to be monitonically increasing even as the + RevisionHeight + + gets reset + title: >- + QueryPacketCommitmentResponse defines the client query response + for a packet + + which also includes a proof and the height from which the proof + was + + retrieved default: description: An unexpected error response. schema: @@ -19470,181 +39534,251 @@ paths: properties: '@type': type: string + description: >- + A URL/resource name that uniquely identifies the type of + the serialized + + protocol buffer message. This string must contain at + least + + one "/" character. The last segment of the URL's path + must represent + + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name should be in + a canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the binary + all types that they + + expect it to use in the context of Any. However, for + URLs which use the + + scheme `http`, `https`, or no scheme, one can optionally + set up a type + + server that maps type URLs to message definitions as + follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based + on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available in + the official + + protobuf release, and it is not used for type URLs + beginning with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty scheme) + might be + + used with implementation specific semantics. additionalProperties: {} + description: >- + `Any` contains an arbitrary serialized protocol buffer + message along with a + + URL that describes the type of the serialized message. + + + Protobuf library provides support to pack/unpack Any values + in the form + + of utility functions or additional generated methods of the + Any type. + + + Example 1: Pack and unpack a message in C++. + + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } + + Example 2: Pack and unpack a message in Java. + + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + + Example 3: Pack and unpack a message in Python. + + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + + Example 4: Pack and unpack a message in Go + + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } + + The pack methods provided by protobuf library will by + default use + + 'type.googleapis.com/full.type.name' as the type URL and the + unpack + + methods only use the fully qualified type name after the + last '/' + + in the type URL, for example "foo.bar.com/x/y.z" will yield + type + + name "y.z". + + + + JSON + + ==== + + The JSON representation of an `Any` value uses the regular + + representation of the deserialized, embedded message, with + an + + additional field `@type` which contains the type URL. + Example: + + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } + + If the embedded message type is well-known and has a custom + JSON + + representation, that representation will be embedded adding + a field + + `value` which holds the custom JSON in addition to the + `@type` + + field. Example (for message [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } parameters: - - name: status + - name: channel_id + description: channel unique identifier in: path required: true type: string - enum: - - open - - sold - - removed - - name: priceDown - in: query - required: false - type: string - - name: priceUp - in: query - required: false - type: string - - name: seller - in: query - required: false - type: string - - name: buyer - in: query - required: false - type: string - - name: card - in: query - required: false + - name: port_id + description: port unique identifier + in: path + required: true type: string - format: uint64 - - name: ignore.status - in: query - required: false - type: boolean - - name: ignore.card - in: query - required: false - type: boolean - tags: - - Query - /DecentralCardGame/cardchain/cardchain/q_server/{id}: - get: - summary: Queries a list of QServer items. - operationId: DecentralCardGameCardchainCardchainQServer - responses: - '200': - description: A successful response. - schema: - type: object - properties: - reporter: - type: string - invalidReports: - type: string - format: uint64 - validReports: - type: string - format: uint64 - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: id + - name: sequence + description: packet sequence in: path required: true type: string format: uint64 tags: - Query - /DecentralCardGame/cardchain/cardchain/q_user/{address}: + /ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/packet_receipts/{sequence}: get: - summary: Queries a list of QUser items. - operationId: DecentralCardGameCardchainCardchainQUser + summary: >- + PacketReceipt queries if a given packet sequence has been received on + the + + queried chain + operationId: IbcCoreChannelV1PacketReceipt responses: '200': description: A successful response. schema: type: object properties: - alias: + received: + type: boolean + title: success flag for if receipt exists + proof: type: string - ownedCardSchemes: - type: array - items: - type: string - format: uint64 - ownedPrototypes: - type: array - items: - type: string - format: uint64 - cards: - type: array - items: - type: string - format: uint64 - voteRights: - type: array - items: - type: object - properties: - cardId: - type: string - format: uint64 - expireBlock: - type: string - format: int64 - councilParticipation: + format: byte + title: merkle proof of existence + proof_height: + title: height at which the proof was retrieved type: object properties: - status: + revision_number: type: string - enum: - - available - - unavailable - - openCouncil - - startedCouncil - default: available - council: + format: uint64 + title: the revision that the client is currently on + revision_height: type: string format: uint64 - ReportMatches: - type: boolean - profileCard: - type: string - format: uint64 - airDrops: - type: object - properties: - vote: - type: boolean - create: - type: boolean - buy: - type: boolean - play: - type: boolean - user: - type: boolean - boosterPacks: - type: array - items: - type: object - properties: - collectionId: - type: string - format: uint64 - timeStamp: - type: string - format: int64 - raritiesPerPack: - type: array - items: - type: string - format: uint64 - website: - type: string - biography: - type: string + title: the height within the given revision + description: >- + Normally the RevisionHeight is incremented at each height + while keeping + + RevisionNumber the same. However some consensus algorithms may + choose to + + reset the height in certain conditions e.g. hard forks, + state-machine + + breaking changes In these cases, the RevisionNumber is + incremented so that + + height continues to be monitonically increasing even as the + RevisionHeight + + gets reset + title: >- + QueryPacketReceiptResponse defines the client query response for a + packet + + receipt which also includes a proof, and the height from which the + proof was + + retrieved default: description: An unexpected error response. schema: @@ -19662,116 +39796,346 @@ paths: properties: '@type': type: string + description: >- + A URL/resource name that uniquely identifies the type of + the serialized + + protocol buffer message. This string must contain at + least + + one "/" character. The last segment of the URL's path + must represent + + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name should be in + a canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the binary + all types that they + + expect it to use in the context of Any. However, for + URLs which use the + + scheme `http`, `https`, or no scheme, one can optionally + set up a type + + server that maps type URLs to message definitions as + follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based + on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available in + the official + + protobuf release, and it is not used for type URLs + beginning with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty scheme) + might be + + used with implementation specific semantics. additionalProperties: {} + description: >- + `Any` contains an arbitrary serialized protocol buffer + message along with a + + URL that describes the type of the serialized message. + + + Protobuf library provides support to pack/unpack Any values + in the form + + of utility functions or additional generated methods of the + Any type. + + + Example 1: Pack and unpack a message in C++. + + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } + + Example 2: Pack and unpack a message in Java. + + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + + Example 3: Pack and unpack a message in Python. + + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + + Example 4: Pack and unpack a message in Go + + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } + + The pack methods provided by protobuf library will by + default use + + 'type.googleapis.com/full.type.name' as the type URL and the + unpack + + methods only use the fully qualified type name after the + last '/' + + in the type URL, for example "foo.bar.com/x/y.z" will yield + type + + name "y.z". + + + + JSON + + ==== + + The JSON representation of an `Any` value uses the regular + + representation of the deserialized, embedded message, with + an + + additional field `@type` which contains the type URL. + Example: + + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } + + If the embedded message type is well-known and has a custom + JSON + + representation, that representation will be embedded adding + a field + + `value` which holds the custom JSON in addition to the + `@type` + + field. Example (for message [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } parameters: - - name: address + - name: channel_id + description: channel unique identifier + in: path + required: true + type: string + - name: port_id + description: port unique identifier + in: path + required: true + type: string + - name: sequence + description: packet sequence in: path required: true type: string + format: uint64 tags: - Query - /DecentralCardGame/cardchain/cardchain/q_votable_cards/{address}: + /ibc/core/channel/v1/connections/{connection}/channels: get: - summary: Queries a list of QVotableCards items. - operationId: DecentralCardGameCardchainCardchainQVotableCards + summary: |- + ConnectionChannels queries all the channels associated with a connection + end. + operationId: IbcCoreChannelV1ConnectionChannels responses: '200': description: A successful response. schema: type: object properties: - unregistered: - type: boolean - noVoteRights: - type: boolean - voteRights: + channels: type: array items: type: object properties: - cardId: + state: + title: current state of the channel end type: string - format: uint64 - expireBlock: + enum: + - STATE_UNINITIALIZED_UNSPECIFIED + - STATE_INIT + - STATE_TRYOPEN + - STATE_OPEN + - STATE_CLOSED + default: STATE_UNINITIALIZED_UNSPECIFIED + description: >- + State defines if a channel is in one of the following + states: + + CLOSED, INIT, TRYOPEN, OPEN or UNINITIALIZED. + + - STATE_UNINITIALIZED_UNSPECIFIED: Default State + - STATE_INIT: A channel has just started the opening handshake. + - STATE_TRYOPEN: A channel has acknowledged the handshake step on the counterparty chain. + - STATE_OPEN: A channel has completed the handshake. Open channels are + ready to send and receive packets. + - STATE_CLOSED: A channel has been closed and can no longer be used to send or receive + packets. + ordering: + title: whether the channel is ordered or unordered type: string - format: int64 - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': + enum: + - ORDER_NONE_UNSPECIFIED + - ORDER_UNORDERED + - ORDER_ORDERED + default: ORDER_NONE_UNSPECIFIED + description: >- + - ORDER_NONE_UNSPECIFIED: zero-value for channel + ordering + - ORDER_UNORDERED: packets can be delivered in any order, which may differ from the order in + which they were sent. + - ORDER_ORDERED: packets are delivered exactly in the order which they were sent + counterparty: + title: counterparty channel end + type: object + properties: + port_id: + type: string + description: >- + port on the counterparty chain which owns the other + end of the channel. + channel_id: + type: string + title: channel end on the counterparty chain + connection_hops: + type: array + items: + type: string + title: >- + list of connection identifiers, in order, along which + packets sent on + + this channel will travel + version: type: string - additionalProperties: {} - parameters: - - name: address - in: path - required: true - type: string - tags: - - Query - /DecentralCardGame/cardchain/cardchain/q_voting_results: - get: - summary: Queries a list of QVotingResults items. - operationId: DecentralCardGameCardchainCardchainQVotingResults - responses: - '200': - description: A successful response. - schema: - type: object - properties: - lastVotingResults: + title: >- + opaque channel version, which is agreed upon during the + handshake + port_id: + type: string + title: port identifier + channel_id: + type: string + title: channel identifier + description: >- + IdentifiedChannel defines a channel with additional port and + channel + + identifier fields. + description: list of channels associated with a connection. + pagination: + title: pagination response type: object properties: - totalVotes: - type: string - format: uint64 - totalFairEnoughVotes: + next_key: type: string - format: uint64 - totalOverpoweredVotes: + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + total: type: string format: uint64 - totalUnderpoweredVotes: + title: >- + total is total number of results available if + PageRequest.count_total + + was set, its value is undefined otherwise + description: >- + PageResponse is to be embedded in gRPC response messages where + the + + corresponding request message has used PageRequest. + + message SomeResponse { + repeated Bar results = 1; + PageResponse page = 2; + } + height: + title: query block height + type: object + properties: + revision_number: type: string format: uint64 - totalInappropriateVotes: + title: the revision that the client is currently on + revision_height: type: string format: uint64 - cardResults: - type: array - items: - type: object - properties: - cardId: - type: string - format: uint64 - fairEnoughVotes: - type: string - format: uint64 - overpoweredVotes: - type: string - format: uint64 - underpoweredVotes: - type: string - format: uint64 - inappropriateVotes: - type: string - format: uint64 - result: - type: string - notes: - type: string + title: the height within the given revision + description: >- + Normally the RevisionHeight is incremented at each height + while keeping + + RevisionNumber the same. However some consensus algorithms may + choose to + + reset the height in certain conditions e.g. hard forks, + state-machine + + breaking changes In these cases, the RevisionNumber is + incremented so that + + height continues to be monitonically increasing even as the + RevisionHeight + + gets reset + title: |- + QueryConnectionChannelsResponse is the Response type for the + Query/QueryConnectionChannels RPC method default: description: An unexpected error response. schema: @@ -19789,50 +40153,449 @@ paths: properties: '@type': type: string + description: >- + A URL/resource name that uniquely identifies the type of + the serialized + + protocol buffer message. This string must contain at + least + + one "/" character. The last segment of the URL's path + must represent + + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name should be in + a canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the binary + all types that they + + expect it to use in the context of Any. However, for + URLs which use the + + scheme `http`, `https`, or no scheme, one can optionally + set up a type + + server that maps type URLs to message definitions as + follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based + on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available in + the official + + protobuf release, and it is not used for type URLs + beginning with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty scheme) + might be + + used with implementation specific semantics. additionalProperties: {} + description: >- + `Any` contains an arbitrary serialized protocol buffer + message along with a + + URL that describes the type of the serialized message. + + + Protobuf library provides support to pack/unpack Any values + in the form + + of utility functions or additional generated methods of the + Any type. + + + Example 1: Pack and unpack a message in C++. + + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } + + Example 2: Pack and unpack a message in Java. + + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + + Example 3: Pack and unpack a message in Python. + + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + + Example 4: Pack and unpack a message in Go + + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } + + The pack methods provided by protobuf library will by + default use + + 'type.googleapis.com/full.type.name' as the type URL and the + unpack + + methods only use the fully qualified type name after the + last '/' + + in the type URL, for example "foo.bar.com/x/y.z" will yield + type + + name "y.z". + + + + JSON + + ==== + + The JSON representation of an `Any` value uses the regular + + representation of the deserialized, embedded message, with + an + + additional field `@type` which contains the type URL. + Example: + + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } + + If the embedded message type is well-known and has a custom + JSON + + representation, that representation will be embedded adding + a field + + `value` which holds the custom JSON in addition to the + `@type` + + field. Example (for message [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + parameters: + - name: connection + description: connection unique identifier + in: path + required: true + type: string + - name: pagination.key + description: |- + key is a value returned in PageResponse.next_key to begin + querying the next page most efficiently. Only one of offset or key + should be set. + in: query + required: false + type: string + format: byte + - name: pagination.offset + description: >- + offset is a numeric offset that can be used when key is unavailable. + + It is less efficient than using key. Only one of offset or key + should + + be set. + in: query + required: false + type: string + format: uint64 + - name: pagination.limit + description: >- + limit is the total number of results to be returned in the result + page. + + If left empty it will default to a value to be set by each app. + in: query + required: false + type: string + format: uint64 + - name: pagination.count_total + description: >- + count_total is set to true to indicate that the result set should + include + + a count of the total number of items available for pagination in + UIs. + + count_total is only respected when offset is used. It is ignored + when key + + is set. + in: query + required: false + type: boolean + - name: pagination.reverse + description: >- + reverse is set to true if results are to be returned in the + descending order. + + + Since: cosmos-sdk 0.43 + in: query + required: false + type: boolean tags: - Query - /ibc/apps/transfer/v1/denom_traces: + /ibc/core/client/v1/client_states: get: - summary: DenomTraces queries all denomination traces. - operationId: IbcApplicationsTransferV1DenomTraces + summary: ClientStates queries all the IBC light clients of a chain. + operationId: IbcCoreClientV1ClientStates responses: '200': description: A successful response. schema: type: object properties: - denom_traces: + client_states: type: array items: type: object properties: - path: + client_id: type: string + title: client identifier + client_state: + title: client state + type: object + properties: + '@type': + type: string + description: >- + A URL/resource name that uniquely identifies the + type of the serialized + + protocol buffer message. This string must contain at + least + + one "/" character. The last segment of the URL's + path must represent + + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name should be + in a canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the + binary all types that they + + expect it to use in the context of Any. However, for + URLs which use the + + scheme `http`, `https`, or no scheme, one can + optionally set up a type + + server that maps type URLs to message definitions as + follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results + based on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available + in the official + + protobuf release, and it is not used for type URLs + beginning with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty + scheme) might be + + used with implementation specific semantics. + additionalProperties: {} description: >- - path defines the chain of port/channel identifiers used - for tracing the + `Any` contains an arbitrary serialized protocol buffer + message along with a + + URL that describes the type of the serialized message. + + + Protobuf library provides support to pack/unpack Any + values in the form + + of utility functions or additional generated methods of + the Any type. + + + Example 1: Pack and unpack a message in C++. + + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } + + Example 2: Pack and unpack a message in Java. + + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + + Example 3: Pack and unpack a message in Python. + + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + + Example 4: Pack and unpack a message in Go + + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } + + The pack methods provided by protobuf library will by + default use + + 'type.googleapis.com/full.type.name' as the type URL and + the unpack + + methods only use the fully qualified type name after the + last '/' + + in the type URL, for example "foo.bar.com/x/y.z" will + yield type + + name "y.z". + + + + JSON + + ==== + + The JSON representation of an `Any` value uses the + regular + + representation of the deserialized, embedded message, + with an + + additional field `@type` which contains the type URL. + Example: + + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } - source of the fungible token. - base_denom: - type: string - description: base denomination of the relayed fungible token. + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } + + If the embedded message type is well-known and has a + custom JSON + + representation, that representation will be embedded + adding a field + + `value` which holds the custom JSON in addition to the + `@type` + + field. Example (for message + [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } description: >- - DenomTrace contains the base denomination for ICS20 fungible - tokens and the + IdentifiedClientState defines a client state with an + additional client - source tracing information path. - description: denom_traces returns all denominations trace information. + identifier field. + description: list of stored ClientStates of the chain. pagination: - description: pagination defines the pagination in the response. + title: pagination response type: object properties: next_key: type: string format: byte - title: |- + description: |- next_key is the key to be passed to PageRequest.key to - query the next page most efficiently + query the next page most efficiently. It will be empty if + there are no more results. total: type: string format: uint64 @@ -19841,9 +40604,19 @@ paths: PageRequest.count_total was set, its value is undefined otherwise + description: >- + PageResponse is to be embedded in gRPC response messages where + the + + corresponding request message has used PageRequest. + + message SomeResponse { + repeated Bar results = 1; + PageResponse page = 2; + } description: >- - QueryConnectionsResponse is the response type for the - Query/DenomTraces RPC + QueryClientStatesResponse is the response type for the + Query/ClientStates RPC method. default: @@ -20078,265 +40851,239 @@ paths: in: query required: false type: boolean + - name: pagination.reverse + description: >- + reverse is set to true if results are to be returned in the + descending order. + + + Since: cosmos-sdk 0.43 + in: query + required: false + type: boolean tags: - Query - /ibc/apps/transfer/v1/denom_traces/{hash}: + /ibc/core/client/v1/client_states/{client_id}: get: - summary: DenomTrace queries a denomination trace information. - operationId: IbcApplicationsTransferV1DenomTrace + summary: ClientState queries an IBC light client. + operationId: IbcCoreClientV1ClientState responses: '200': description: A successful response. schema: type: object properties: - denom_trace: + client_state: + title: client state associated with the request identifier type: object properties: - path: + '@type': type: string description: >- - path defines the chain of port/channel identifiers used - for tracing the - - source of the fungible token. - base_denom: - type: string - description: base denomination of the relayed fungible token. - description: >- - DenomTrace contains the base denomination for ICS20 fungible - tokens and the - - source tracing information path. - description: >- - QueryDenomTraceResponse is the response type for the - Query/DenomTrace RPC - - method. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized + A URL/resource name that uniquely identifies the type of + the serialized - protocol buffer message. This string must contain at - least + protocol buffer message. This string must contain at least - one "/" character. The last segment of the URL's path - must represent + one "/" character. The last segment of the URL's path must + represent - the fully qualified name of the type (as in + the fully qualified name of the type (as in - `path/google.protobuf.Duration`). The name should be in - a canonical form + `path/google.protobuf.Duration`). The name should be in a + canonical form - (e.g., leading "." is not accepted). + (e.g., leading "." is not accepted). - In practice, teams usually precompile into the binary - all types that they + In practice, teams usually precompile into the binary all + types that they - expect it to use in the context of Any. However, for - URLs which use the + expect it to use in the context of Any. However, for URLs + which use the - scheme `http`, `https`, or no scheme, one can optionally - set up a type + scheme `http`, `https`, or no scheme, one can optionally + set up a type - server that maps type URLs to message definitions as - follows: + server that maps type URLs to message definitions as + follows: - * If no scheme is provided, `https` is assumed. + * If no scheme is provided, `https` is assumed. - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based + on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) - Note: this functionality is not currently available in - the official + Note: this functionality is not currently available in the + official - protobuf release, and it is not used for type URLs - beginning with + protobuf release, and it is not used for type URLs + beginning with - type.googleapis.com. + type.googleapis.com. - Schemes other than `http`, `https` (or the empty scheme) - might be + Schemes other than `http`, `https` (or the empty scheme) + might be - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a + used with implementation specific semantics. + additionalProperties: {} + description: >- + `Any` contains an arbitrary serialized protocol buffer message + along with a - URL that describes the type of the serialized message. + URL that describes the type of the serialized message. - Protobuf library provides support to pack/unpack Any values - in the form + Protobuf library provides support to pack/unpack Any values in + the form - of utility functions or additional generated methods of the - Any type. + of utility functions or additional generated methods of the + Any type. - Example 1: Pack and unpack a message in C++. + Example 1: Pack and unpack a message in C++. - Foo foo = ...; - Any any; - any.PackFrom(foo); + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { ... - if (any.UnpackTo(&foo)) { - ... - } + } - Example 2: Pack and unpack a message in Java. + Example 2: Pack and unpack a message in Java. - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } - Example 3: Pack and unpack a message in Python. + Example 3: Pack and unpack a message in Python. - foo = Foo(...) - any = Any() - any.Pack(foo) + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - Example 4: Pack and unpack a message in Go + Example 4: Pack and unpack a message in Go - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } - The pack methods provided by protobuf library will by - default use + The pack methods provided by protobuf library will by default + use - 'type.googleapis.com/full.type.name' as the type URL and the - unpack + 'type.googleapis.com/full.type.name' as the type URL and the + unpack - methods only use the fully qualified type name after the - last '/' + methods only use the fully qualified type name after the last + '/' - in the type URL, for example "foo.bar.com/x/y.z" will yield - type + in the type URL, for example "foo.bar.com/x/y.z" will yield + type - name "y.z". + name "y.z". - JSON + JSON - ==== + ==== - The JSON representation of an `Any` value uses the regular + The JSON representation of an `Any` value uses the regular - representation of the deserialized, embedded message, with - an + representation of the deserialized, embedded message, with an - additional field `@type` which contains the type URL. - Example: + additional field `@type` which contains the type URL. Example: - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } - If the embedded message type is well-known and has a custom - JSON + If the embedded message type is well-known and has a custom + JSON - representation, that representation will be embedded adding - a field + representation, that representation will be embedded adding a + field - `value` which holds the custom JSON in addition to the - `@type` + `value` which holds the custom JSON in addition to the `@type` - field. Example (for message [google.protobuf.Duration][]): + field. Example (for message [google.protobuf.Duration][]): - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: hash - description: hash (in hex format) of the denomination trace information. - in: path - required: true - type: string - tags: - - Query - /ibc/apps/transfer/v1/params: - get: - summary: Params queries all parameters of the ibc-transfer module. - operationId: IbcApplicationsTransferV1Params - responses: - '200': - description: A successful response. - schema: - type: object - properties: - params: - description: params defines the parameters of the module. + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + proof: + type: string + format: byte + title: merkle proof of existence + proof_height: + title: height at which the proof was retrieved type: object properties: - send_enabled: - type: boolean - description: >- - send_enabled enables or disables all cross-chain token - transfers from this + revision_number: + type: string + format: uint64 + title: the revision that the client is currently on + revision_height: + type: string + format: uint64 + title: the height within the given revision + description: >- + Normally the RevisionHeight is incremented at each height + while keeping - chain. - receive_enabled: - type: boolean - description: >- - receive_enabled enables or disables all cross-chain token - transfers to this + RevisionNumber the same. However some consensus algorithms may + choose to - chain. + reset the height in certain conditions e.g. hard forks, + state-machine + + breaking changes In these cases, the RevisionNumber is + incremented so that + + height continues to be monitonically increasing even as the + RevisionHeight + + gets reset description: >- - QueryParamsResponse is the response type for the Query/Params RPC - method. + QueryClientStateResponse is the response type for the + Query/ClientState RPC + + method. Besides the client state, it includes a proof and the + height from + + which the proof was retrieved. default: description: An unexpected error response. schema: @@ -20483,197 +41230,70 @@ paths: - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - tags: - - Query - /ibc/core/channel/v1/channels: - get: - summary: Channels queries all the IBC channels of a chain. - operationId: IbcCoreChannelV1Channels - responses: - '200': - description: A successful response. - schema: - type: object - properties: - channels: - type: array - items: - type: object - properties: - state: - title: current state of the channel end - type: string - enum: - - STATE_UNINITIALIZED_UNSPECIFIED - - STATE_INIT - - STATE_TRYOPEN - - STATE_OPEN - - STATE_CLOSED - default: STATE_UNINITIALIZED_UNSPECIFIED - description: >- - State defines if a channel is in one of the following - states: - - CLOSED, INIT, TRYOPEN, OPEN or UNINITIALIZED. - - - STATE_UNINITIALIZED_UNSPECIFIED: Default State - - STATE_INIT: A channel has just started the opening handshake. - - STATE_TRYOPEN: A channel has acknowledged the handshake step on the counterparty chain. - - STATE_OPEN: A channel has completed the handshake. Open channels are - ready to send and receive packets. - - STATE_CLOSED: A channel has been closed and can no longer be used to send or receive - packets. - ordering: - title: whether the channel is ordered or unordered - type: string - enum: - - ORDER_NONE_UNSPECIFIED - - ORDER_UNORDERED - - ORDER_ORDERED - default: ORDER_NONE_UNSPECIFIED - description: >- - - ORDER_NONE_UNSPECIFIED: zero-value for channel - ordering - - ORDER_UNORDERED: packets can be delivered in any order, which may differ from the order in - which they were sent. - - ORDER_ORDERED: packets are delivered exactly in the order which they were sent - counterparty: - title: counterparty channel end - type: object - properties: - port_id: - type: string - description: >- - port on the counterparty chain which owns the other - end of the channel. - channel_id: - type: string - title: channel end on the counterparty chain - connection_hops: - type: array - items: - type: string - title: >- - list of connection identifiers, in order, along which - packets sent on - - this channel will travel - version: - type: string - title: >- - opaque channel version, which is agreed upon during the - handshake - port_id: - type: string - title: port identifier - channel_id: - type: string - title: channel identifier - description: >- - IdentifiedChannel defines a channel with additional port and - channel + JSON - identifier fields. - description: list of stored channels of the chain. - pagination: - title: pagination response - type: object - properties: - next_key: - type: string - format: byte - title: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently - total: - type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total + ==== - was set, its value is undefined otherwise - description: >- - PageResponse is to be embedded in gRPC response messages where - the + The JSON representation of an `Any` value uses the regular - corresponding request message has used PageRequest. + representation of the deserialized, embedded message, with + an - message SomeResponse { - repeated Bar results = 1; - PageResponse page = 2; - } - height: - title: query block height - type: object - properties: - revision_number: - type: string - format: uint64 - title: the revision that the client is currently on - revision_height: - type: string - format: uint64 - title: the height within the given revision - description: >- - Normally the RevisionHeight is incremented at each height - while keeping + additional field `@type` which contains the type URL. + Example: - RevisionNumber the same. However some consensus algorithms may - choose to + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } - reset the height in certain conditions e.g. hard forks, - state-machine + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } - breaking changes In these cases, the RevisionNumber is - incremented so that + If the embedded message type is well-known and has a custom + JSON - height continues to be monitonically increasing even as the - RevisionHeight + representation, that representation will be embedded adding + a field - gets reset + `value` which holds the custom JSON in addition to the + `@type` + + field. Example (for message [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + parameters: + - name: client_id + description: client state unique identifier + in: path + required: true + type: string + tags: + - Query + /ibc/core/client/v1/client_status/{client_id}: + get: + summary: Status queries the status of an IBC client. + operationId: IbcCoreClientV1ClientStatus + responses: + '200': + description: A successful response. + schema: + type: object + properties: + status: + type: string description: >- - QueryChannelsResponse is the response type for the Query/Channels - RPC method. + QueryClientStatusResponse is the response type for the + Query/ClientStatus RPC + + method. It returns the current status of the IBC client. default: description: An unexpected error response. schema: @@ -20860,179 +41480,273 @@ paths: "value": "1.212s" } parameters: - - name: pagination.key - description: |- - key is a value returned in PageResponse.next_key to begin - querying the next page most efficiently. Only one of offset or key - should be set. - in: query - required: false - type: string - format: byte - - name: pagination.offset - description: >- - offset is a numeric offset that can be used when key is unavailable. - - It is less efficient than using key. Only one of offset or key - should - - be set. - in: query - required: false - type: string - format: uint64 - - name: pagination.limit - description: >- - limit is the total number of results to be returned in the result - page. - - If left empty it will default to a value to be set by each app. - in: query - required: false + - name: client_id + description: client unique identifier + in: path + required: true type: string - format: uint64 - - name: pagination.count_total - description: >- - count_total is set to true to indicate that the result set should - include - - a count of the total number of items available for pagination in - UIs. - - count_total is only respected when offset is used. It is ignored - when key - - is set. - in: query - required: false - type: boolean tags: - Query - /ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}: + /ibc/core/client/v1/consensus_states/{client_id}: get: - summary: Channel queries an IBC Channel. - operationId: IbcCoreChannelV1Channel + summary: |- + ConsensusStates queries all the consensus state associated with a given + client. + operationId: IbcCoreClientV1ConsensusStates responses: '200': description: A successful response. schema: type: object properties: - channel: - title: channel associated with the request identifiers - type: object - properties: - state: - title: current state of the channel end - type: string - enum: - - STATE_UNINITIALIZED_UNSPECIFIED - - STATE_INIT - - STATE_TRYOPEN - - STATE_OPEN - - STATE_CLOSED - default: STATE_UNINITIALIZED_UNSPECIFIED - description: >- - State defines if a channel is in one of the following - states: + consensus_states: + type: array + items: + type: object + properties: + height: + title: consensus state height + type: object + properties: + revision_number: + type: string + format: uint64 + title: the revision that the client is currently on + revision_height: + type: string + format: uint64 + title: the height within the given revision + description: >- + Normally the RevisionHeight is incremented at each + height while keeping - CLOSED, INIT, TRYOPEN, OPEN or UNINITIALIZED. + RevisionNumber the same. However some consensus + algorithms may choose to - - STATE_UNINITIALIZED_UNSPECIFIED: Default State - - STATE_INIT: A channel has just started the opening handshake. - - STATE_TRYOPEN: A channel has acknowledged the handshake step on the counterparty chain. - - STATE_OPEN: A channel has completed the handshake. Open channels are - ready to send and receive packets. - - STATE_CLOSED: A channel has been closed and can no longer be used to send or receive - packets. - ordering: - title: whether the channel is ordered or unordered - type: string - enum: - - ORDER_NONE_UNSPECIFIED - - ORDER_UNORDERED - - ORDER_ORDERED - default: ORDER_NONE_UNSPECIFIED - description: |- - - ORDER_NONE_UNSPECIFIED: zero-value for channel ordering - - ORDER_UNORDERED: packets can be delivered in any order, which may differ from the order in - which they were sent. - - ORDER_ORDERED: packets are delivered exactly in the order which they were sent - counterparty: - title: counterparty channel end - type: object - properties: - port_id: - type: string - description: >- - port on the counterparty chain which owns the other - end of the channel. - channel_id: - type: string - title: channel end on the counterparty chain - connection_hops: - type: array - items: - type: string - title: >- - list of connection identifiers, in order, along which - packets sent on + reset the height in certain conditions e.g. hard forks, + state-machine - this channel will travel - version: - type: string - title: >- - opaque channel version, which is agreed upon during the - handshake - description: >- - Channel defines pipeline for exactly-once packet delivery - between specific + breaking changes In these cases, the RevisionNumber is + incremented so that - modules on separate blockchains, which has at least one end - capable of + height continues to be monitonically increasing even as + the RevisionHeight - sending packets and one end capable of receiving packets. - proof: - type: string - format: byte - title: merkle proof of existence - proof_height: - title: height at which the proof was retrieved + gets reset + consensus_state: + title: consensus state + type: object + properties: + '@type': + type: string + description: >- + A URL/resource name that uniquely identifies the + type of the serialized + + protocol buffer message. This string must contain at + least + + one "/" character. The last segment of the URL's + path must represent + + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name should be + in a canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the + binary all types that they + + expect it to use in the context of Any. However, for + URLs which use the + + scheme `http`, `https`, or no scheme, one can + optionally set up a type + + server that maps type URLs to message definitions as + follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results + based on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available + in the official + + protobuf release, and it is not used for type URLs + beginning with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty + scheme) might be + + used with implementation specific semantics. + additionalProperties: {} + description: >- + `Any` contains an arbitrary serialized protocol buffer + message along with a + + URL that describes the type of the serialized message. + + + Protobuf library provides support to pack/unpack Any + values in the form + + of utility functions or additional generated methods of + the Any type. + + + Example 1: Pack and unpack a message in C++. + + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } + + Example 2: Pack and unpack a message in Java. + + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + + Example 3: Pack and unpack a message in Python. + + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + + Example 4: Pack and unpack a message in Go + + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } + + The pack methods provided by protobuf library will by + default use + + 'type.googleapis.com/full.type.name' as the type URL and + the unpack + + methods only use the fully qualified type name after the + last '/' + + in the type URL, for example "foo.bar.com/x/y.z" will + yield type + + name "y.z". + + + + JSON + + ==== + + The JSON representation of an `Any` value uses the + regular + + representation of the deserialized, embedded message, + with an + + additional field `@type` which contains the type URL. + Example: + + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } + + If the embedded message type is well-known and has a + custom JSON + + representation, that representation will be embedded + adding a field + + `value` which holds the custom JSON in addition to the + `@type` + + field. Example (for message + [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + description: >- + ConsensusStateWithHeight defines a consensus state with an + additional height + + field. + title: consensus states associated with the identifier + pagination: + title: pagination response type: object properties: - revision_number: + next_key: type: string - format: uint64 - title: the revision that the client is currently on - revision_height: + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + total: type: string format: uint64 - title: the height within the given revision - description: >- - Normally the RevisionHeight is incremented at each height - while keeping - - RevisionNumber the same. However some consensus algorithms may - choose to - - reset the height in certain conditions e.g. hard forks, - state-machine - - breaking changes In these cases, the RevisionNumber is - incremented so that - - height continues to be monitonically increasing even as the - RevisionHeight + title: >- + total is total number of results available if + PageRequest.count_total - gets reset - description: >- - QueryChannelResponse is the response type for the Query/Channel - RPC method. + was set, its value is undefined otherwise + description: >- + PageResponse is to be embedded in gRPC response messages where + the - Besides the Channel end, it includes a proof and the height from - which the + corresponding request message has used PageRequest. - proof was retrieved. + message SomeResponse { + repeated Bar results = 1; + PageResponse page = 2; + } + title: |- + QueryConsensusStatesResponse is the response type for the + Query/ConsensusStates RPC method default: description: An unexpected error response. schema: @@ -21219,254 +41933,151 @@ paths: "value": "1.212s" } parameters: - - name: channel_id - description: channel unique identifier + - name: client_id + description: client identifier in: path required: true type: string - - name: port_id - description: port unique identifier - in: path - required: true + - name: pagination.key + description: |- + key is a value returned in PageResponse.next_key to begin + querying the next page most efficiently. Only one of offset or key + should be set. + in: query + required: false + type: string + format: byte + - name: pagination.offset + description: >- + offset is a numeric offset that can be used when key is unavailable. + + It is less efficient than using key. Only one of offset or key + should + + be set. + in: query + required: false + type: string + format: uint64 + - name: pagination.limit + description: >- + limit is the total number of results to be returned in the result + page. + + If left empty it will default to a value to be set by each app. + in: query + required: false type: string + format: uint64 + - name: pagination.count_total + description: >- + count_total is set to true to indicate that the result set should + include + + a count of the total number of items available for pagination in + UIs. + + count_total is only respected when offset is used. It is ignored + when key + + is set. + in: query + required: false + type: boolean + - name: pagination.reverse + description: >- + reverse is set to true if results are to be returned in the + descending order. + + + Since: cosmos-sdk 0.43 + in: query + required: false + type: boolean tags: - Query - /ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/client_state: + /ibc/core/client/v1/consensus_states/{client_id}/heights: get: summary: >- - ChannelClientState queries for the client state for the channel - associated - - with the provided channel identifiers. - operationId: IbcCoreChannelV1ChannelClientState + ConsensusStateHeights queries the height of every consensus states + associated with a given client. + operationId: IbcCoreClientV1ConsensusStateHeights responses: '200': description: A successful response. schema: type: object properties: - identified_client_state: - title: client state associated with the channel - type: object - properties: - client_id: - type: string - title: client identifier - client_state: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type - of the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be - in a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can - optionally set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results - based on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. - - - Schemes other than `http`, `https` (or the empty - scheme) might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any - values in the form - - of utility functions or additional generated methods of - the Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and - the unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will - yield type - - name "y.z". - - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } + consensus_state_heights: + type: array + items: + type: object + properties: + revision_number: + type: string + format: uint64 + title: the revision that the client is currently on + revision_height: + type: string + format: uint64 + title: the height within the given revision + description: >- + Normally the RevisionHeight is incremented at each height + while keeping - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } + RevisionNumber the same. However some consensus algorithms + may choose to - If the embedded message type is well-known and has a - custom JSON + reset the height in certain conditions e.g. hard forks, + state-machine - representation, that representation will be embedded - adding a field + breaking changes In these cases, the RevisionNumber is + incremented so that - `value` which holds the custom JSON in addition to the - `@type` + height continues to be monitonically increasing even as the + RevisionHeight - field. Example (for message [google.protobuf.Duration][]): + gets reset + title: >- + Height is a monotonically increasing data type - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - title: client state - description: >- - IdentifiedClientState defines a client state with an - additional client + that can be compared against another Height for the purposes + of updating and - identifier field. - proof: - type: string - format: byte - title: merkle proof of existence - proof_height: - title: height at which the proof was retrieved + freezing clients + title: consensus state heights + pagination: + title: pagination response type: object properties: - revision_number: + next_key: type: string - format: uint64 - title: the revision that the client is currently on - revision_height: + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + total: type: string format: uint64 - title: the height within the given revision - description: >- - Normally the RevisionHeight is incremented at each height - while keeping - - RevisionNumber the same. However some consensus algorithms may - choose to - - reset the height in certain conditions e.g. hard forks, - state-machine + title: >- + total is total number of results available if + PageRequest.count_total - breaking changes In these cases, the RevisionNumber is - incremented so that + was set, its value is undefined otherwise + description: >- + PageResponse is to be embedded in gRPC response messages where + the - height continues to be monitonically increasing even as the - RevisionHeight + corresponding request message has used PageRequest. - gets reset + message SomeResponse { + repeated Bar results = 1; + PageResponse page = 2; + } title: |- - QueryChannelClientStateResponse is the Response type for the - Query/QueryChannelClientState RPC method + QueryConsensusStateHeightsResponse is the response type for the + Query/ConsensusStateHeights RPC method default: description: An unexpected error response. schema: @@ -21653,24 +42264,77 @@ paths: "value": "1.212s" } parameters: - - name: channel_id - description: channel unique identifier + - name: client_id + description: client identifier in: path required: true type: string - - name: port_id - description: port unique identifier - in: path - required: true + - name: pagination.key + description: |- + key is a value returned in PageResponse.next_key to begin + querying the next page most efficiently. Only one of offset or key + should be set. + in: query + required: false + type: string + format: byte + - name: pagination.offset + description: >- + offset is a numeric offset that can be used when key is unavailable. + + It is less efficient than using key. Only one of offset or key + should + + be set. + in: query + required: false + type: string + format: uint64 + - name: pagination.limit + description: >- + limit is the total number of results to be returned in the result + page. + + If left empty it will default to a value to be set by each app. + in: query + required: false type: string + format: uint64 + - name: pagination.count_total + description: >- + count_total is set to true to indicate that the result set should + include + + a count of the total number of items available for pagination in + UIs. + + count_total is only respected when offset is used. It is ignored + when key + + is set. + in: query + required: false + type: boolean + - name: pagination.reverse + description: >- + reverse is set to true if results are to be returned in the + descending order. + + + Since: cosmos-sdk 0.43 + in: query + required: false + type: boolean tags: - Query - /ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/consensus_state/revision/{revision_number}/height/{revision_height}: + /ibc/core/client/v1/consensus_states/{client_id}/revision/{revision_number}/height/{revision_height}: get: - summary: |- - ChannelConsensusState queries for the consensus state for the channel - associated with the provided channel identifiers. - operationId: IbcCoreChannelV1ChannelConsensusState + summary: >- + ConsensusState queries a consensus state associated with a client state + at + + a given height. + operationId: IbcCoreClientV1ConsensusState responses: '200': description: A successful response. @@ -21678,6 +42342,9 @@ paths: type: object properties: consensus_state: + title: >- + consensus state associated with the client identifier at the + given height type: object properties: '@type': @@ -21846,10 +42513,6 @@ paths: "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" } - title: consensus state associated with the channel - client_id: - type: string - title: client ID associated with the consensus state proof: type: string format: byte @@ -21883,9 +42546,11 @@ paths: RevisionHeight gets reset - title: |- - QueryChannelClientStateResponse is the Response type for the - Query/QueryChannelClientState RPC method + title: >- + QueryConsensusStateResponse is the response type for the + Query/ConsensusState + + RPC method default: description: An unexpected error response. schema: @@ -22072,82 +42737,60 @@ paths: "value": "1.212s" } parameters: - - name: channel_id - description: channel unique identifier - in: path - required: true - type: string - - name: port_id - description: port unique identifier + - name: client_id + description: client identifier in: path required: true type: string - name: revision_number - description: revision number of the consensus state + description: consensus state revision number in: path required: true type: string format: uint64 - name: revision_height - description: revision height of the consensus state + description: consensus state revision height in: path required: true type: string format: uint64 + - name: latest_height + description: >- + latest_height overrrides the height field and queries the latest + stored + + ConsensusState + in: query + required: false + type: boolean tags: - Query - /ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/next_sequence: + /ibc/core/client/v1/params: get: - summary: >- - NextSequenceReceive returns the next receive sequence for a given - channel. - operationId: IbcCoreChannelV1NextSequenceReceive + summary: ClientParams queries all parameters of the ibc client submodule. + operationId: IbcCoreClientV1ClientParams responses: '200': description: A successful response. schema: type: object properties: - next_sequence_receive: - type: string - format: uint64 - title: next sequence receive number - proof: - type: string - format: byte - title: merkle proof of existence - proof_height: - title: height at which the proof was retrieved - type: object - properties: - revision_number: - type: string - format: uint64 - title: the revision that the client is currently on - revision_height: - type: string - format: uint64 - title: the height within the given revision - description: >- - Normally the RevisionHeight is incremented at each height - while keeping - - RevisionNumber the same. However some consensus algorithms may - choose to - - reset the height in certain conditions e.g. hard forks, - state-machine - - breaking changes In these cases, the RevisionNumber is - incremented so that - - height continues to be monitonically increasing even as the - RevisionHeight + params: + description: params defines the parameters of the module. + type: object + properties: + allowed_clients: + type: array + items: + type: string + description: >- + allowed_clients defines the list of allowed client state + types. + description: >- + QueryClientParamsResponse is the response type for the + Query/ClientParams RPC - gets reset - title: |- - QuerySequenceResponse is the request type for the - Query/QueryNextSequenceReceiveResponse RPC method + method. default: description: An unexpected error response. schema: @@ -22333,122 +42976,191 @@ paths: "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" } - parameters: - - name: channel_id - description: channel unique identifier - in: path - required: true - type: string - - name: port_id - description: port unique identifier - in: path - required: true - type: string tags: - Query - /ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/packet_acknowledgements: + /ibc/core/client/v1/upgraded_client_states: get: - summary: >- - PacketAcknowledgements returns all the packet acknowledgements - associated - - with a channel. - operationId: IbcCoreChannelV1PacketAcknowledgements + summary: UpgradedClientState queries an Upgraded IBC light client. + operationId: IbcCoreClientV1UpgradedClientState responses: '200': description: A successful response. schema: type: object properties: - acknowledgements: - type: array - items: - type: object - properties: - port_id: - type: string - description: channel port identifier. - channel_id: - type: string - description: channel unique identifier. - sequence: - type: string - format: uint64 - description: packet sequence. - data: - type: string - format: byte - description: embedded data that represents packet state. - description: >- - PacketState defines the generic type necessary to retrieve - and store - - packet commitments, acknowledgements, and receipts. - - Caller is responsible for knowing the context necessary to - interpret this - - state as a commitment, acknowledgement, or a receipt. - pagination: - title: pagination response + upgraded_client_state: + title: client state associated with the request identifier type: object properties: - next_key: - type: string - format: byte - title: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently - total: + '@type': type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total + description: >- + A URL/resource name that uniquely identifies the type of + the serialized - was set, its value is undefined otherwise - description: >- - PageResponse is to be embedded in gRPC response messages where - the + protocol buffer message. This string must contain at least - corresponding request message has used PageRequest. + one "/" character. The last segment of the URL's path must + represent - message SomeResponse { - repeated Bar results = 1; - PageResponse page = 2; - } - height: - title: query block height - type: object - properties: - revision_number: - type: string - format: uint64 - title: the revision that the client is currently on - revision_height: - type: string - format: uint64 - title: the height within the given revision + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name should be in a + canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the binary all + types that they + + expect it to use in the context of Any. However, for URLs + which use the + + scheme `http`, `https`, or no scheme, one can optionally + set up a type + + server that maps type URLs to message definitions as + follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based + on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available in the + official + + protobuf release, and it is not used for type URLs + beginning with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty scheme) + might be + + used with implementation specific semantics. + additionalProperties: {} description: >- - Normally the RevisionHeight is incremented at each height - while keeping + `Any` contains an arbitrary serialized protocol buffer message + along with a - RevisionNumber the same. However some consensus algorithms may - choose to + URL that describes the type of the serialized message. - reset the height in certain conditions e.g. hard forks, - state-machine - breaking changes In these cases, the RevisionNumber is - incremented so that + Protobuf library provides support to pack/unpack Any values in + the form - height continues to be monitonically increasing even as the - RevisionHeight + of utility functions or additional generated methods of the + Any type. - gets reset - title: |- - QueryPacketAcknowledgemetsResponse is the request type for the - Query/QueryPacketAcknowledgements RPC method + + Example 1: Pack and unpack a message in C++. + + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } + + Example 2: Pack and unpack a message in Java. + + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + + Example 3: Pack and unpack a message in Python. + + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + + Example 4: Pack and unpack a message in Go + + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } + + The pack methods provided by protobuf library will by default + use + + 'type.googleapis.com/full.type.name' as the type URL and the + unpack + + methods only use the fully qualified type name after the last + '/' + + in the type URL, for example "foo.bar.com/x/y.z" will yield + type + + name "y.z". + + + + JSON + + ==== + + The JSON representation of an `Any` value uses the regular + + representation of the deserialized, embedded message, with an + + additional field `@type` which contains the type URL. Example: + + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } + + If the embedded message type is well-known and has a custom + JSON + + representation, that representation will be embedded adding a + field + + `value` which holds the custom JSON in addition to the `@type` + + field. Example (for message [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + description: |- + QueryUpgradedClientStateResponse is the response type for the + Query/UpgradedClientState RPC method. default: description: An unexpected error response. schema: @@ -22634,128 +43346,191 @@ paths: "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" } - parameters: - - name: channel_id - description: channel unique identifier - in: path - required: true - type: string - - name: port_id - description: port unique identifier - in: path - required: true - type: string - - name: pagination.key - description: |- - key is a value returned in PageResponse.next_key to begin - querying the next page most efficiently. Only one of offset or key - should be set. - in: query - required: false - type: string - format: byte - - name: pagination.offset - description: >- - offset is a numeric offset that can be used when key is unavailable. - - It is less efficient than using key. Only one of offset or key - should - - be set. - in: query - required: false - type: string - format: uint64 - - name: pagination.limit - description: >- - limit is the total number of results to be returned in the result - page. - - If left empty it will default to a value to be set by each app. - in: query - required: false - type: string - format: uint64 - - name: pagination.count_total - description: >- - count_total is set to true to indicate that the result set should - include - - a count of the total number of items available for pagination in - UIs. - - count_total is only respected when offset is used. It is ignored - when key - - is set. - in: query - required: false - type: boolean - - name: packet_commitment_sequences - description: list of packet sequences - in: query - required: false - type: array - items: - type: string - format: uint64 - collectionFormat: multi tags: - Query - /ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/packet_acks/{sequence}: + /ibc/core/client/v1/upgraded_consensus_states: get: - summary: PacketAcknowledgement queries a stored packet acknowledgement hash. - operationId: IbcCoreChannelV1PacketAcknowledgement + summary: UpgradedConsensusState queries an Upgraded IBC consensus state. + operationId: IbcCoreClientV1UpgradedConsensusState responses: '200': description: A successful response. schema: type: object properties: - acknowledgement: - type: string - format: byte - title: packet associated with the request fields - proof: - type: string - format: byte - title: merkle proof of existence - proof_height: - title: height at which the proof was retrieved + upgraded_consensus_state: + title: Consensus state associated with the request identifier type: object properties: - revision_number: - type: string - format: uint64 - title: the revision that the client is currently on - revision_height: + '@type': type: string - format: uint64 - title: the height within the given revision + description: >- + A URL/resource name that uniquely identifies the type of + the serialized + + protocol buffer message. This string must contain at least + + one "/" character. The last segment of the URL's path must + represent + + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name should be in a + canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the binary all + types that they + + expect it to use in the context of Any. However, for URLs + which use the + + scheme `http`, `https`, or no scheme, one can optionally + set up a type + + server that maps type URLs to message definitions as + follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based + on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available in the + official + + protobuf release, and it is not used for type URLs + beginning with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty scheme) + might be + + used with implementation specific semantics. + additionalProperties: {} description: >- - Normally the RevisionHeight is incremented at each height - while keeping + `Any` contains an arbitrary serialized protocol buffer message + along with a - RevisionNumber the same. However some consensus algorithms may - choose to + URL that describes the type of the serialized message. + + + Protobuf library provides support to pack/unpack Any values in + the form + + of utility functions or additional generated methods of the + Any type. + + + Example 1: Pack and unpack a message in C++. + + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } + + Example 2: Pack and unpack a message in Java. + + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + + Example 3: Pack and unpack a message in Python. + + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + + Example 4: Pack and unpack a message in Go + + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } + + The pack methods provided by protobuf library will by default + use + + 'type.googleapis.com/full.type.name' as the type URL and the + unpack + + methods only use the fully qualified type name after the last + '/' + + in the type URL, for example "foo.bar.com/x/y.z" will yield + type + + name "y.z". + + + + JSON + + ==== + + The JSON representation of an `Any` value uses the regular + + representation of the deserialized, embedded message, with an + + additional field `@type` which contains the type URL. Example: + + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } - reset the height in certain conditions e.g. hard forks, - state-machine + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } - breaking changes In these cases, the RevisionNumber is - incremented so that + If the embedded message type is well-known and has a custom + JSON - height continues to be monitonically increasing even as the - RevisionHeight + representation, that representation will be embedded adding a + field - gets reset - title: >- - QueryPacketAcknowledgementResponse defines the client query - response for a + `value` which holds the custom JSON in addition to the `@type` - packet which also includes a proof and the height from which the + field. Example (for message [google.protobuf.Duration][]): - proof was retrieved + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + description: |- + QueryUpgradedConsensusStateResponse is the response type for the + Query/UpgradedConsensusState RPC method. default: description: An unexpected error response. schema: @@ -22941,96 +43716,31 @@ paths: "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" } - parameters: - - name: channel_id - description: channel unique identifier - in: path - required: true - type: string - - name: port_id - description: port unique identifier - in: path - required: true - type: string - - name: sequence - description: packet sequence - in: path - required: true - type: string - format: uint64 tags: - Query - /ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/packet_commitments: + /ibc/core/connection/v1/client_connections/{client_id}: get: summary: |- - PacketCommitments returns all the packet commitments hashes associated - with a channel. - operationId: IbcCoreChannelV1PacketCommitments + ClientConnections queries the connection paths associated with a client + state. + operationId: IbcCoreConnectionV1ClientConnections responses: '200': description: A successful response. schema: type: object properties: - commitments: + connection_paths: type: array items: - type: object - properties: - port_id: - type: string - description: channel port identifier. - channel_id: - type: string - description: channel unique identifier. - sequence: - type: string - format: uint64 - description: packet sequence. - data: - type: string - format: byte - description: embedded data that represents packet state. - description: >- - PacketState defines the generic type necessary to retrieve - and store - - packet commitments, acknowledgements, and receipts. - - Caller is responsible for knowing the context necessary to - interpret this - - state as a commitment, acknowledgement, or a receipt. - pagination: - title: pagination response - type: object - properties: - next_key: - type: string - format: byte - title: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently - total: - type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total - - was set, its value is undefined otherwise - description: >- - PageResponse is to be embedded in gRPC response messages where - the - - corresponding request message has used PageRequest. - - message SomeResponse { - repeated Bar results = 1; - PageResponse page = 2; - } - height: - title: query block height + type: string + description: slice of all the connection paths associated with a client. + proof: + type: string + format: byte + title: merkle proof of existence + proof_height: + title: height at which the proof was generated type: object properties: revision_number: @@ -23059,8 +43769,8 @@ paths: gets reset title: |- - QueryPacketCommitmentsResponse is the request type for the - Query/QueryPacketCommitments RPC method + QueryClientConnectionsResponse is the response type for the + Query/ClientConnections RPC method default: description: An unexpected error response. schema: @@ -23247,84 +43957,139 @@ paths: "value": "1.212s" } parameters: - - name: channel_id - description: channel unique identifier - in: path - required: true - type: string - - name: port_id - description: port unique identifier + - name: client_id + description: client identifier associated with a connection in: path required: true type: string - - name: pagination.key - description: |- - key is a value returned in PageResponse.next_key to begin - querying the next page most efficiently. Only one of offset or key - should be set. - in: query - required: false - type: string - format: byte - - name: pagination.offset - description: >- - offset is a numeric offset that can be used when key is unavailable. - - It is less efficient than using key. Only one of offset or key - should - - be set. - in: query - required: false - type: string - format: uint64 - - name: pagination.limit - description: >- - limit is the total number of results to be returned in the result - page. - - If left empty it will default to a value to be set by each app. - in: query - required: false - type: string - format: uint64 - - name: pagination.count_total - description: >- - count_total is set to true to indicate that the result set should - include - - a count of the total number of items available for pagination in - UIs. - - count_total is only respected when offset is used. It is ignored - when key - - is set. - in: query - required: false - type: boolean tags: - Query - /ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/packet_commitments/{packet_ack_sequences}/unreceived_acks: + /ibc/core/connection/v1/connections: get: - summary: >- - UnreceivedAcks returns all the unreceived IBC acknowledgements - associated - - with a channel and sequences. - operationId: IbcCoreChannelV1UnreceivedAcks + summary: Connections queries all the IBC connections of a chain. + operationId: IbcCoreConnectionV1Connections responses: '200': description: A successful response. schema: type: object properties: - sequences: + connections: type: array items: - type: string - format: uint64 - title: list of unreceived acknowledgement sequences + type: object + properties: + id: + type: string + description: connection identifier. + client_id: + type: string + description: client associated with this connection. + versions: + type: array + items: + type: object + properties: + identifier: + type: string + title: unique version identifier + features: + type: array + items: + type: string + title: >- + list of features compatible with the specified + identifier + description: >- + Version defines the versioning scheme used to + negotiate the IBC verison in + + the connection handshake. + title: >- + IBC version which can be utilised to determine encodings + or protocols for + + channels or packets utilising this connection + state: + description: current state of the connection end. + type: string + enum: + - STATE_UNINITIALIZED_UNSPECIFIED + - STATE_INIT + - STATE_TRYOPEN + - STATE_OPEN + default: STATE_UNINITIALIZED_UNSPECIFIED + counterparty: + description: counterparty chain associated with this connection. + type: object + properties: + client_id: + type: string + description: >- + identifies the client on the counterparty chain + associated with a given + + connection. + connection_id: + type: string + description: >- + identifies the connection end on the counterparty + chain associated with a + + given connection. + prefix: + description: commitment merkle prefix of the counterparty chain. + type: object + properties: + key_prefix: + type: string + format: byte + title: >- + MerklePrefix is merkle path prefixed to the key. + + The constructed key from the Path and the key will + be append(Path.KeyPath, + + append(Path.KeyPrefix, key...)) + delay_period: + type: string + format: uint64 + description: delay period associated with this connection. + description: >- + IdentifiedConnection defines a connection with additional + connection + + identifier field. + description: list of stored connections of the chain. + pagination: + title: pagination response + type: object + properties: + next_key: + type: string + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + total: + type: string + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total + + was set, its value is undefined otherwise + description: >- + PageResponse is to be embedded in gRPC response messages where + the + + corresponding request message has used PageRequest. + + message SomeResponse { + repeated Bar results = 1; + PageResponse page = 2; + } height: title: query block height type: object @@ -23354,9 +44119,11 @@ paths: RevisionHeight gets reset - title: |- - QueryUnreceivedAcksResponse is the response type for the - Query/UnreceivedAcks RPC method + description: >- + QueryConnectionsResponse is the response type for the + Query/Connections RPC + + method. default: description: An unexpected error response. schema: @@ -23543,50 +44310,173 @@ paths: "value": "1.212s" } parameters: - - name: channel_id - description: channel unique identifier - in: path - required: true + - name: pagination.key + description: |- + key is a value returned in PageResponse.next_key to begin + querying the next page most efficiently. Only one of offset or key + should be set. + in: query + required: false type: string - - name: port_id - description: port unique identifier - in: path - required: true + format: byte + - name: pagination.offset + description: >- + offset is a numeric offset that can be used when key is unavailable. + + It is less efficient than using key. Only one of offset or key + should + + be set. + in: query + required: false type: string - - name: packet_ack_sequences - description: list of acknowledgement sequences - in: path - required: true - type: array - items: - type: string - format: uint64 - collectionFormat: csv - minItems: 1 + format: uint64 + - name: pagination.limit + description: >- + limit is the total number of results to be returned in the result + page. + + If left empty it will default to a value to be set by each app. + in: query + required: false + type: string + format: uint64 + - name: pagination.count_total + description: >- + count_total is set to true to indicate that the result set should + include + + a count of the total number of items available for pagination in + UIs. + + count_total is only respected when offset is used. It is ignored + when key + + is set. + in: query + required: false + type: boolean + - name: pagination.reverse + description: >- + reverse is set to true if results are to be returned in the + descending order. + + + Since: cosmos-sdk 0.43 + in: query + required: false + type: boolean tags: - Query - /ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/packet_commitments/{packet_commitment_sequences}/unreceived_packets: + /ibc/core/connection/v1/connections/{connection_id}: get: - summary: >- - UnreceivedPackets returns all the unreceived IBC packets associated with - a - - channel and sequences. - operationId: IbcCoreChannelV1UnreceivedPackets + summary: Connection queries an IBC connection end. + operationId: IbcCoreConnectionV1Connection responses: '200': description: A successful response. schema: type: object properties: - sequences: - type: array - items: - type: string - format: uint64 - title: list of unreceived packet sequences - height: - title: query block height + connection: + title: connection associated with the request identifier + type: object + properties: + client_id: + type: string + description: client associated with this connection. + versions: + type: array + items: + type: object + properties: + identifier: + type: string + title: unique version identifier + features: + type: array + items: + type: string + title: >- + list of features compatible with the specified + identifier + description: >- + Version defines the versioning scheme used to negotiate + the IBC verison in + + the connection handshake. + description: >- + IBC version which can be utilised to determine encodings + or protocols for + + channels or packets utilising this connection. + state: + description: current state of the connection end. + type: string + enum: + - STATE_UNINITIALIZED_UNSPECIFIED + - STATE_INIT + - STATE_TRYOPEN + - STATE_OPEN + default: STATE_UNINITIALIZED_UNSPECIFIED + counterparty: + description: counterparty chain associated with this connection. + type: object + properties: + client_id: + type: string + description: >- + identifies the client on the counterparty chain + associated with a given + + connection. + connection_id: + type: string + description: >- + identifies the connection end on the counterparty + chain associated with a + + given connection. + prefix: + description: commitment merkle prefix of the counterparty chain. + type: object + properties: + key_prefix: + type: string + format: byte + title: >- + MerklePrefix is merkle path prefixed to the key. + + The constructed key from the Path and the key will be + append(Path.KeyPath, + + append(Path.KeyPrefix, key...)) + delay_period: + type: string + format: uint64 + description: >- + delay period that must pass before a consensus state can + be used for + + packet-verification NOTE: delay period logic is only + implemented by some + + clients. + description: >- + ConnectionEnd defines a stateful object on a chain connected + to another + + separate one. + + NOTE: there must only be 2 defined ConnectionEnds to establish + + a connection between two chains. + proof: + type: string + format: byte + title: merkle proof of existence + proof_height: + title: height at which the proof was retrieved type: object properties: revision_number: @@ -23614,9 +44504,14 @@ paths: RevisionHeight gets reset - title: |- - QueryUnreceivedPacketsResponse is the response type for the - Query/UnreceivedPacketCommitments RPC method + description: >- + QueryConnectionResponse is the response type for the + Query/Connection RPC + + method. Besides the connection end, it includes a proof and the + height from + + which the proof was retrieved. default: description: An unexpected error response. schema: @@ -23803,42 +44698,211 @@ paths: "value": "1.212s" } parameters: - - name: channel_id - description: channel unique identifier - in: path - required: true - type: string - - name: port_id - description: port unique identifier + - name: connection_id + description: connection unique identifier in: path required: true type: string - - name: packet_commitment_sequences - description: list of packet sequences - in: path - required: true - type: array - items: - type: string - format: uint64 - collectionFormat: csv - minItems: 1 tags: - Query - /ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/packet_commitments/{sequence}: + /ibc/core/connection/v1/connections/{connection_id}/client_state: get: - summary: PacketCommitment queries a stored packet commitment hash. - operationId: IbcCoreChannelV1PacketCommitment + summary: |- + ConnectionClientState queries the client state associated with the + connection. + operationId: IbcCoreConnectionV1ConnectionClientState responses: '200': description: A successful response. schema: type: object properties: - commitment: - type: string - format: byte - title: packet associated with the request fields + identified_client_state: + title: client state associated with the channel + type: object + properties: + client_id: + type: string + title: client identifier + client_state: + title: client state + type: object + properties: + '@type': + type: string + description: >- + A URL/resource name that uniquely identifies the type + of the serialized + + protocol buffer message. This string must contain at + least + + one "/" character. The last segment of the URL's path + must represent + + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name should be + in a canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the binary + all types that they + + expect it to use in the context of Any. However, for + URLs which use the + + scheme `http`, `https`, or no scheme, one can + optionally set up a type + + server that maps type URLs to message definitions as + follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results + based on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available in + the official + + protobuf release, and it is not used for type URLs + beginning with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty + scheme) might be + + used with implementation specific semantics. + additionalProperties: {} + description: >- + `Any` contains an arbitrary serialized protocol buffer + message along with a + + URL that describes the type of the serialized message. + + + Protobuf library provides support to pack/unpack Any + values in the form + + of utility functions or additional generated methods of + the Any type. + + + Example 1: Pack and unpack a message in C++. + + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } + + Example 2: Pack and unpack a message in Java. + + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + + Example 3: Pack and unpack a message in Python. + + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + + Example 4: Pack and unpack a message in Go + + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } + + The pack methods provided by protobuf library will by + default use + + 'type.googleapis.com/full.type.name' as the type URL and + the unpack + + methods only use the fully qualified type name after the + last '/' + + in the type URL, for example "foo.bar.com/x/y.z" will + yield type + + name "y.z". + + + + JSON + + ==== + + The JSON representation of an `Any` value uses the regular + + representation of the deserialized, embedded message, with + an + + additional field `@type` which contains the type URL. + Example: + + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } + + If the embedded message type is well-known and has a + custom JSON + + representation, that representation will be embedded + adding a field + + `value` which holds the custom JSON in addition to the + `@type` + + field. Example (for message [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + description: >- + IdentifiedClientState defines a client state with an + additional client + + identifier field. proof: type: string format: byte @@ -23872,14 +44936,9 @@ paths: RevisionHeight gets reset - title: >- - QueryPacketCommitmentResponse defines the client query response - for a packet - - which also includes a proof and the height from which the proof - was - - retrieved + title: |- + QueryConnectionClientStateResponse is the response type for the + Query/ConnectionClientState RPC method default: description: An unexpected error response. schema: @@ -24066,408 +45125,204 @@ paths: "value": "1.212s" } parameters: - - name: channel_id - description: channel unique identifier - in: path - required: true - type: string - - name: port_id - description: port unique identifier - in: path - required: true - type: string - - name: sequence - description: packet sequence + - name: connection_id + description: connection identifier in: path required: true type: string - format: uint64 tags: - Query - /ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/packet_receipts/{sequence}: + /ibc/core/connection/v1/connections/{connection_id}/consensus_state/revision/{revision_number}/height/{revision_height}: get: - summary: >- - PacketReceipt queries if a given packet sequence has been received on - the - - queried chain - operationId: IbcCoreChannelV1PacketReceipt + summary: |- + ConnectionConsensusState queries the consensus state associated with the + connection. + operationId: IbcCoreConnectionV1ConnectionConsensusState responses: '200': description: A successful response. schema: type: object properties: - received: - type: boolean - title: success flag for if receipt exists - proof: - type: string - format: byte - title: merkle proof of existence - proof_height: - title: height at which the proof was retrieved + consensus_state: + title: consensus state associated with the channel type: object properties: - revision_number: - type: string - format: uint64 - title: the revision that the client is currently on - revision_height: + '@type': type: string - format: uint64 - title: the height within the given revision - description: >- - Normally the RevisionHeight is incremented at each height - while keeping - - RevisionNumber the same. However some consensus algorithms may - choose to - - reset the height in certain conditions e.g. hard forks, - state-machine - - breaking changes In these cases, the RevisionNumber is - incremented so that - - height continues to be monitonically increasing even as the - RevisionHeight - - gets reset - title: >- - QueryPacketReceiptResponse defines the client query response for a - packet - - receipt which also includes a proof, and the height from which the - proof was - - retrieved - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized + description: >- + A URL/resource name that uniquely identifies the type of + the serialized - protocol buffer message. This string must contain at - least + protocol buffer message. This string must contain at least - one "/" character. The last segment of the URL's path - must represent + one "/" character. The last segment of the URL's path must + represent - the fully qualified name of the type (as in + the fully qualified name of the type (as in - `path/google.protobuf.Duration`). The name should be in - a canonical form + `path/google.protobuf.Duration`). The name should be in a + canonical form - (e.g., leading "." is not accepted). + (e.g., leading "." is not accepted). - In practice, teams usually precompile into the binary - all types that they + In practice, teams usually precompile into the binary all + types that they - expect it to use in the context of Any. However, for - URLs which use the + expect it to use in the context of Any. However, for URLs + which use the - scheme `http`, `https`, or no scheme, one can optionally - set up a type + scheme `http`, `https`, or no scheme, one can optionally + set up a type - server that maps type URLs to message definitions as - follows: + server that maps type URLs to message definitions as + follows: - * If no scheme is provided, `https` is assumed. + * If no scheme is provided, `https` is assumed. - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based + on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) - Note: this functionality is not currently available in - the official + Note: this functionality is not currently available in the + official - protobuf release, and it is not used for type URLs - beginning with + protobuf release, and it is not used for type URLs + beginning with - type.googleapis.com. + type.googleapis.com. - Schemes other than `http`, `https` (or the empty scheme) - might be + Schemes other than `http`, `https` (or the empty scheme) + might be - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a + used with implementation specific semantics. + additionalProperties: {} + description: >- + `Any` contains an arbitrary serialized protocol buffer message + along with a - URL that describes the type of the serialized message. + URL that describes the type of the serialized message. - Protobuf library provides support to pack/unpack Any values - in the form + Protobuf library provides support to pack/unpack Any values in + the form - of utility functions or additional generated methods of the - Any type. + of utility functions or additional generated methods of the + Any type. - Example 1: Pack and unpack a message in C++. + Example 1: Pack and unpack a message in C++. - Foo foo = ...; - Any any; - any.PackFrom(foo); + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { ... - if (any.UnpackTo(&foo)) { - ... - } + } - Example 2: Pack and unpack a message in Java. + Example 2: Pack and unpack a message in Java. - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } - Example 3: Pack and unpack a message in Python. + Example 3: Pack and unpack a message in Python. - foo = Foo(...) - any = Any() - any.Pack(foo) + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - Example 4: Pack and unpack a message in Go + Example 4: Pack and unpack a message in Go - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } - JSON + The pack methods provided by protobuf library will by default + use - ==== + 'type.googleapis.com/full.type.name' as the type URL and the + unpack - The JSON representation of an `Any` value uses the regular + methods only use the fully qualified type name after the last + '/' - representation of the deserialized, embedded message, with - an + in the type URL, for example "foo.bar.com/x/y.z" will yield + type - additional field `@type` which contains the type URL. - Example: + name "y.z". - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - If the embedded message type is well-known and has a custom - JSON + JSON - representation, that representation will be embedded adding - a field + ==== - `value` which holds the custom JSON in addition to the - `@type` + The JSON representation of an `Any` value uses the regular - field. Example (for message [google.protobuf.Duration][]): + representation of the deserialized, embedded message, with an - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: channel_id - description: channel unique identifier - in: path - required: true - type: string - - name: port_id - description: port unique identifier - in: path - required: true - type: string - - name: sequence - description: packet sequence - in: path - required: true - type: string - format: uint64 - tags: - - Query - /ibc/core/channel/v1/connections/{connection}/channels: - get: - summary: |- - ConnectionChannels queries all the channels associated with a connection - end. - operationId: IbcCoreChannelV1ConnectionChannels - responses: - '200': - description: A successful response. - schema: - type: object - properties: - channels: - type: array - items: - type: object - properties: - state: - title: current state of the channel end - type: string - enum: - - STATE_UNINITIALIZED_UNSPECIFIED - - STATE_INIT - - STATE_TRYOPEN - - STATE_OPEN - - STATE_CLOSED - default: STATE_UNINITIALIZED_UNSPECIFIED - description: >- - State defines if a channel is in one of the following - states: + additional field `@type` which contains the type URL. Example: - CLOSED, INIT, TRYOPEN, OPEN or UNINITIALIZED. + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } - - STATE_UNINITIALIZED_UNSPECIFIED: Default State - - STATE_INIT: A channel has just started the opening handshake. - - STATE_TRYOPEN: A channel has acknowledged the handshake step on the counterparty chain. - - STATE_OPEN: A channel has completed the handshake. Open channels are - ready to send and receive packets. - - STATE_CLOSED: A channel has been closed and can no longer be used to send or receive - packets. - ordering: - title: whether the channel is ordered or unordered - type: string - enum: - - ORDER_NONE_UNSPECIFIED - - ORDER_UNORDERED - - ORDER_ORDERED - default: ORDER_NONE_UNSPECIFIED - description: >- - - ORDER_NONE_UNSPECIFIED: zero-value for channel - ordering - - ORDER_UNORDERED: packets can be delivered in any order, which may differ from the order in - which they were sent. - - ORDER_ORDERED: packets are delivered exactly in the order which they were sent - counterparty: - title: counterparty channel end - type: object - properties: - port_id: - type: string - description: >- - port on the counterparty chain which owns the other - end of the channel. - channel_id: - type: string - title: channel end on the counterparty chain - connection_hops: - type: array - items: - type: string - title: >- - list of connection identifiers, in order, along which - packets sent on + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } - this channel will travel - version: - type: string - title: >- - opaque channel version, which is agreed upon during the - handshake - port_id: - type: string - title: port identifier - channel_id: - type: string - title: channel identifier - description: >- - IdentifiedChannel defines a channel with additional port and - channel + If the embedded message type is well-known and has a custom + JSON - identifier fields. - description: list of channels associated with a connection. - pagination: - title: pagination response - type: object - properties: - next_key: - type: string - format: byte - title: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently - total: - type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total + representation, that representation will be embedded adding a + field - was set, its value is undefined otherwise - description: >- - PageResponse is to be embedded in gRPC response messages where - the + `value` which holds the custom JSON in addition to the `@type` - corresponding request message has used PageRequest. + field. Example (for message [google.protobuf.Duration][]): - message SomeResponse { - repeated Bar results = 1; - PageResponse page = 2; - } - height: - title: query block height + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + client_id: + type: string + title: client ID associated with the consensus state + proof: + type: string + format: byte + title: merkle proof of existence + proof_height: + title: height at which the proof was retrieved type: object properties: revision_number: @@ -24496,8 +45351,8 @@ paths: gets reset title: |- - QueryConnectionChannelsResponse is the Response type for the - Query/QueryConnectionChannels RPC method + QueryConnectionConsensusStateResponse is the response type for the + Query/ConnectionConsensusState RPC method default: description: An unexpected error response. schema: @@ -24684,63 +45539,27 @@ paths: "value": "1.212s" } parameters: - - name: connection - description: connection unique identifier + - name: connection_id + description: connection identifier in: path required: true type: string - - name: pagination.key - description: |- - key is a value returned in PageResponse.next_key to begin - querying the next page most efficiently. Only one of offset or key - should be set. - in: query - required: false - type: string - format: byte - - name: pagination.offset - description: >- - offset is a numeric offset that can be used when key is unavailable. - - It is less efficient than using key. Only one of offset or key - should - - be set. - in: query - required: false + - name: revision_number + in: path + required: true type: string format: uint64 - - name: pagination.limit - description: >- - limit is the total number of results to be returned in the result - page. - - If left empty it will default to a value to be set by each app. - in: query - required: false + - name: revision_height + in: path + required: true type: string format: uint64 - - name: pagination.count_total - description: >- - count_total is set to true to indicate that the result set should - include - - a count of the total number of items available for pagination in - UIs. - - count_total is only respected when offset is used. It is ignored - when key - - is set. - in: query - required: false - type: boolean tags: - Query - /ibc/client/v1/params: + /ibc/core/connection/v1/params: get: - summary: ClientParams queries all parameters of the ibc client. - operationId: IbcCoreClientV1ClientParams + summary: ConnectionParams queries all parameters of the ibc connection submodule. + operationId: IbcCoreConnectionV1ConnectionParams responses: '200': description: A successful response. @@ -24751,18 +45570,21 @@ paths: description: params defines the parameters of the module. type: object properties: - allowed_clients: - type: array - items: - type: string + max_expected_time_per_block: + type: string + format: uint64 description: >- - allowed_clients defines the list of allowed client state - types. - description: >- - QueryClientParamsResponse is the response type for the - Query/ClientParams RPC + maximum expected time per block (in nanoseconds), used to + enforce block delay. This parameter should reflect the - method. + largest amount of time that the chain might reasonably + take to produce the next block under normal operating + + conditions. A safe choice is 3-5x the expected time per + block. + description: >- + QueryConnectionParamsResponse is the response type for the + Query/ConnectionParams RPC method. default: description: An unexpected error response. schema: @@ -24950,5905 +45772,9002 @@ paths: } tags: - Query - /ibc/core/client/v1/client_states: - get: - summary: ClientStates queries all the IBC light clients of a chain. - operationId: IbcCoreClientV1ClientStates - responses: - '200': - description: A successful response. - schema: - type: object - properties: - client_states: - type: array - items: - type: object - properties: - client_id: - type: string - title: client identifier - client_state: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the - type of the serialized +definitions: + cosmos.auth.v1beta1.AddressBytesToStringResponse: + type: object + properties: + address_string: + type: string + description: >- + AddressBytesToStringResponse is the response type for AddressString rpc + method. - protocol buffer message. This string must contain at - least - one "/" character. The last segment of the URL's - path must represent + Since: cosmos-sdk 0.46 + cosmos.auth.v1beta1.AddressStringToBytesResponse: + type: object + properties: + address_bytes: + type: string + format: byte + description: >- + AddressStringToBytesResponse is the response type for AddressBytes rpc + method. - the fully qualified name of the type (as in - `path/google.protobuf.Duration`). The name should be - in a canonical form + Since: cosmos-sdk 0.46 + cosmos.auth.v1beta1.Bech32PrefixResponse: + type: object + properties: + bech32_prefix: + type: string + description: |- + Bech32PrefixResponse is the response type for Bech32Prefix rpc method. - (e.g., leading "." is not accepted). + Since: cosmos-sdk 0.46 + cosmos.auth.v1beta1.Params: + type: object + properties: + max_memo_characters: + type: string + format: uint64 + tx_sig_limit: + type: string + format: uint64 + tx_size_cost_per_byte: + type: string + format: uint64 + sig_verify_cost_ed25519: + type: string + format: uint64 + sig_verify_cost_secp256k1: + type: string + format: uint64 + description: Params defines the parameters for the auth module. + cosmos.auth.v1beta1.QueryAccountAddressByIDResponse: + type: object + properties: + account_address: + type: string + description: 'Since: cosmos-sdk 0.46.2' + title: >- + QueryAccountAddressByIDResponse is the response type for + AccountAddressByID rpc method + cosmos.auth.v1beta1.QueryAccountResponse: + type: object + properties: + account: + description: account defines the account of the corresponding address. + type: object + properties: + '@type': + type: string + description: >- + A URL/resource name that uniquely identifies the type of the + serialized + protocol buffer message. This string must contain at least - In practice, teams usually precompile into the - binary all types that they + one "/" character. The last segment of the URL's path must + represent - expect it to use in the context of Any. However, for - URLs which use the + the fully qualified name of the type (as in - scheme `http`, `https`, or no scheme, one can - optionally set up a type + `path/google.protobuf.Duration`). The name should be in a + canonical form - server that maps type URLs to message definitions as - follows: + (e.g., leading "." is not accepted). - * If no scheme is provided, `https` is assumed. + In practice, teams usually precompile into the binary all types + that they - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results - based on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) + expect it to use in the context of Any. However, for URLs which + use the - Note: this functionality is not currently available - in the official + scheme `http`, `https`, or no scheme, one can optionally set up a + type - protobuf release, and it is not used for type URLs - beginning with + server that maps type URLs to message definitions as follows: - type.googleapis.com. + * If no scheme is provided, `https` is assumed. - Schemes other than `http`, `https` (or the empty - scheme) might be + * An HTTP GET on the URL must yield a [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a + Note: this functionality is not currently available in the + official - URL that describes the type of the serialized message. + protobuf release, and it is not used for type URLs beginning with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty scheme) might be + + used with implementation specific semantics. + additionalProperties: {} + description: >- + QueryAccountResponse is the response type for the Query/Account RPC + method. + cosmos.auth.v1beta1.QueryAccountsResponse: + type: object + properties: + accounts: + type: array + items: + type: object + properties: + '@type': + type: string + description: >- + A URL/resource name that uniquely identifies the type of the + serialized + + protocol buffer message. This string must contain at least + + one "/" character. The last segment of the URL's path must + represent + + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name should be in a + canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the binary all types + that they + + expect it to use in the context of Any. However, for URLs which + use the + + scheme `http`, `https`, or no scheme, one can optionally set up + a type + + server that maps type URLs to message definitions as follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available in the + official + + protobuf release, and it is not used for type URLs beginning + with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty scheme) might + be + + used with implementation specific semantics. + additionalProperties: {} + description: >- + `Any` contains an arbitrary serialized protocol buffer message along + with a + + URL that describes the type of the serialized message. + + + Protobuf library provides support to pack/unpack Any values in the + form + + of utility functions or additional generated methods of the Any + type. + + + Example 1: Pack and unpack a message in C++. + + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } + + Example 2: Pack and unpack a message in Java. + + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + + Example 3: Pack and unpack a message in Python. + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + + Example 4: Pack and unpack a message in Go + + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } - Protobuf library provides support to pack/unpack Any - values in the form + The pack methods provided by protobuf library will by default use - of utility functions or additional generated methods of - the Any type. + 'type.googleapis.com/full.type.name' as the type URL and the unpack + methods only use the fully qualified type name after the last '/' - Example 1: Pack and unpack a message in C++. + in the type URL, for example "foo.bar.com/x/y.z" will yield type - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } + name "y.z". - Example 2: Pack and unpack a message in Java. - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - Example 3: Pack and unpack a message in Python. + JSON - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... + ==== - Example 4: Pack and unpack a message in Go + The JSON representation of an `Any` value uses the regular - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } + representation of the deserialized, embedded message, with an - The pack methods provided by protobuf library will by - default use + additional field `@type` which contains the type URL. Example: - 'type.googleapis.com/full.type.name' as the type URL and - the unpack + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } - methods only use the fully qualified type name after the - last '/' + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } - in the type URL, for example "foo.bar.com/x/y.z" will - yield type + If the embedded message type is well-known and has a custom JSON - name "y.z". + representation, that representation will be embedded adding a field + `value` which holds the custom JSON in addition to the `@type` + field. Example (for message [google.protobuf.Duration][]): - JSON + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + title: accounts are the existing accounts + pagination: + description: pagination defines the pagination in the response. + type: object + properties: + next_key: + type: string + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + total: + type: string + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total - ==== + was set, its value is undefined otherwise + description: >- + QueryAccountsResponse is the response type for the Query/Accounts RPC + method. - The JSON representation of an `Any` value uses the - regular - representation of the deserialized, embedded message, - with an + Since: cosmos-sdk 0.43 + cosmos.auth.v1beta1.QueryModuleAccountByNameResponse: + type: object + properties: + account: + type: object + properties: + '@type': + type: string + description: >- + A URL/resource name that uniquely identifies the type of the + serialized - additional field `@type` which contains the type URL. - Example: + protocol buffer message. This string must contain at least - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } + one "/" character. The last segment of the URL's path must + represent - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } + the fully qualified name of the type (as in - If the embedded message type is well-known and has a - custom JSON + `path/google.protobuf.Duration`). The name should be in a + canonical form - representation, that representation will be embedded - adding a field + (e.g., leading "." is not accepted). - `value` which holds the custom JSON in addition to the - `@type` - field. Example (for message - [google.protobuf.Duration][]): + In practice, teams usually precompile into the binary all types + that they - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - title: client state - description: >- - IdentifiedClientState defines a client state with an - additional client + expect it to use in the context of Any. However, for URLs which + use the - identifier field. - description: list of stored ClientStates of the chain. - pagination: - title: pagination response - type: object - properties: - next_key: - type: string - format: byte - title: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently - total: - type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total + scheme `http`, `https`, or no scheme, one can optionally set up a + type - was set, its value is undefined otherwise - description: >- - PageResponse is to be embedded in gRPC response messages where - the + server that maps type URLs to message definitions as follows: - corresponding request message has used PageRequest. - message SomeResponse { - repeated Bar results = 1; - PageResponse page = 2; - } - description: >- - QueryClientStatesResponse is the response type for the - Query/ClientStates RPC + * If no scheme is provided, `https` is assumed. - method. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized + * An HTTP GET on the URL must yield a [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) - protocol buffer message. This string must contain at - least + Note: this functionality is not currently available in the + official - one "/" character. The last segment of the URL's path - must represent + protobuf release, and it is not used for type URLs beginning with - the fully qualified name of the type (as in + type.googleapis.com. - `path/google.protobuf.Duration`). The name should be in - a canonical form - (e.g., leading "." is not accepted). + Schemes other than `http`, `https` (or the empty scheme) might be + used with implementation specific semantics. + additionalProperties: {} + description: >- + `Any` contains an arbitrary serialized protocol buffer message along + with a - In practice, teams usually precompile into the binary - all types that they + URL that describes the type of the serialized message. - expect it to use in the context of Any. However, for - URLs which use the - scheme `http`, `https`, or no scheme, one can optionally - set up a type + Protobuf library provides support to pack/unpack Any values in the + form - server that maps type URLs to message definitions as - follows: + of utility functions or additional generated methods of the Any type. - * If no scheme is provided, `https` is assumed. + Example 1: Pack and unpack a message in C++. - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } - Note: this functionality is not currently available in - the official + Example 2: Pack and unpack a message in Java. - protobuf release, and it is not used for type URLs - beginning with + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } - type.googleapis.com. + Example 3: Pack and unpack a message in Python. + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... - Schemes other than `http`, `https` (or the empty scheme) - might be + Example 4: Pack and unpack a message in Go - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } - URL that describes the type of the serialized message. + The pack methods provided by protobuf library will by default use + 'type.googleapis.com/full.type.name' as the type URL and the unpack - Protobuf library provides support to pack/unpack Any values - in the form + methods only use the fully qualified type name after the last '/' - of utility functions or additional generated methods of the - Any type. + in the type URL, for example "foo.bar.com/x/y.z" will yield type + name "y.z". - Example 1: Pack and unpack a message in C++. - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - Example 2: Pack and unpack a message in Java. + JSON - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } + ==== - Example 3: Pack and unpack a message in Python. + The JSON representation of an `Any` value uses the regular - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... + representation of the deserialized, embedded message, with an - Example 4: Pack and unpack a message in Go + additional field `@type` which contains the type URL. Example: - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } - The pack methods provided by protobuf library will by - default use + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } - 'type.googleapis.com/full.type.name' as the type URL and the - unpack + If the embedded message type is well-known and has a custom JSON - methods only use the fully qualified type name after the - last '/' + representation, that representation will be embedded adding a field - in the type URL, for example "foo.bar.com/x/y.z" will yield - type + `value` which holds the custom JSON in addition to the `@type` - name "y.z". + field. Example (for message [google.protobuf.Duration][]): + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + description: >- + QueryModuleAccountByNameResponse is the response type for the + Query/ModuleAccountByName RPC method. + cosmos.auth.v1beta1.QueryModuleAccountsResponse: + type: object + properties: + accounts: + type: array + items: + type: object + properties: + '@type': + type: string + description: >- + A URL/resource name that uniquely identifies the type of the + serialized + protocol buffer message. This string must contain at least - JSON + one "/" character. The last segment of the URL's path must + represent - ==== + the fully qualified name of the type (as in - The JSON representation of an `Any` value uses the regular + `path/google.protobuf.Duration`). The name should be in a + canonical form - representation of the deserialized, embedded message, with - an + (e.g., leading "." is not accepted). - additional field `@type` which contains the type URL. - Example: - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } + In practice, teams usually precompile into the binary all types + that they - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } + expect it to use in the context of Any. However, for URLs which + use the - If the embedded message type is well-known and has a custom - JSON + scheme `http`, `https`, or no scheme, one can optionally set up + a type - representation, that representation will be embedded adding - a field + server that maps type URLs to message definitions as follows: - `value` which holds the custom JSON in addition to the - `@type` - field. Example (for message [google.protobuf.Duration][]): + * If no scheme is provided, `https` is assumed. - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: pagination.key - description: |- - key is a value returned in PageResponse.next_key to begin - querying the next page most efficiently. Only one of offset or key - should be set. - in: query - required: false - type: string - format: byte - - name: pagination.offset - description: >- - offset is a numeric offset that can be used when key is unavailable. + * An HTTP GET on the URL must yield a [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) - It is less efficient than using key. Only one of offset or key - should + Note: this functionality is not currently available in the + official - be set. - in: query - required: false - type: string - format: uint64 - - name: pagination.limit - description: >- - limit is the total number of results to be returned in the result - page. + protobuf release, and it is not used for type URLs beginning + with - If left empty it will default to a value to be set by each app. - in: query - required: false - type: string - format: uint64 - - name: pagination.count_total - description: >- - count_total is set to true to indicate that the result set should - include + type.googleapis.com. - a count of the total number of items available for pagination in - UIs. - count_total is only respected when offset is used. It is ignored - when key + Schemes other than `http`, `https` (or the empty scheme) might + be - is set. - in: query - required: false - type: boolean - tags: - - Query - /ibc/core/client/v1/client_states/{client_id}: - get: - summary: ClientState queries an IBC light client. - operationId: IbcCoreClientV1ClientState - responses: - '200': - description: A successful response. - schema: - type: object - properties: - client_state: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized + used with implementation specific semantics. + additionalProperties: {} + description: >- + `Any` contains an arbitrary serialized protocol buffer message along + with a - protocol buffer message. This string must contain at least + URL that describes the type of the serialized message. - one "/" character. The last segment of the URL's path must - represent - the fully qualified name of the type (as in + Protobuf library provides support to pack/unpack Any values in the + form - `path/google.protobuf.Duration`). The name should be in a - canonical form + of utility functions or additional generated methods of the Any + type. - (e.g., leading "." is not accepted). + Example 1: Pack and unpack a message in C++. - In practice, teams usually precompile into the binary all - types that they + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } - expect it to use in the context of Any. However, for URLs - which use the + Example 2: Pack and unpack a message in Java. - scheme `http`, `https`, or no scheme, one can optionally - set up a type + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } - server that maps type URLs to message definitions as - follows: + Example 3: Pack and unpack a message in Python. + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... - * If no scheme is provided, `https` is assumed. + Example 4: Pack and unpack a message in Go - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } - Note: this functionality is not currently available in the - official + The pack methods provided by protobuf library will by default use - protobuf release, and it is not used for type URLs - beginning with + 'type.googleapis.com/full.type.name' as the type URL and the unpack - type.googleapis.com. + methods only use the fully qualified type name after the last '/' + in the type URL, for example "foo.bar.com/x/y.z" will yield type - Schemes other than `http`, `https` (or the empty scheme) - might be + name "y.z". - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer message - along with a - URL that describes the type of the serialized message. + JSON - Protobuf library provides support to pack/unpack Any values in - the form + ==== - of utility functions or additional generated methods of the - Any type. + The JSON representation of an `Any` value uses the regular + representation of the deserialized, embedded message, with an - Example 1: Pack and unpack a message in C++. + additional field `@type` which contains the type URL. Example: - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } - Example 2: Pack and unpack a message in Java. + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } + If the embedded message type is well-known and has a custom JSON - Example 3: Pack and unpack a message in Python. + representation, that representation will be embedded adding a field - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... + `value` which holds the custom JSON in addition to the `@type` - Example 4: Pack and unpack a message in Go + field. Example (for message [google.protobuf.Duration][]): - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + description: >- + QueryModuleAccountsResponse is the response type for the + Query/ModuleAccounts RPC method. - The pack methods provided by protobuf library will by default - use - 'type.googleapis.com/full.type.name' as the type URL and the - unpack + Since: cosmos-sdk 0.46 + cosmos.auth.v1beta1.QueryParamsResponse: + type: object + properties: + params: + description: params defines the parameters of the module. + type: object + properties: + max_memo_characters: + type: string + format: uint64 + tx_sig_limit: + type: string + format: uint64 + tx_size_cost_per_byte: + type: string + format: uint64 + sig_verify_cost_ed25519: + type: string + format: uint64 + sig_verify_cost_secp256k1: + type: string + format: uint64 + description: QueryParamsResponse is the response type for the Query/Params RPC method. + cosmos.base.query.v1beta1.PageRequest: + type: object + properties: + key: + type: string + format: byte + description: |- + key is a value returned in PageResponse.next_key to begin + querying the next page most efficiently. Only one of offset or key + should be set. + offset: + type: string + format: uint64 + description: |- + offset is a numeric offset that can be used when key is unavailable. + It is less efficient than using key. Only one of offset or key should + be set. + limit: + type: string + format: uint64 + description: >- + limit is the total number of results to be returned in the result + page. - methods only use the fully qualified type name after the last - '/' + If left empty it will default to a value to be set by each app. + count_total: + type: boolean + description: >- + count_total is set to true to indicate that the result set should + include - in the type URL, for example "foo.bar.com/x/y.z" will yield - type + a count of the total number of items available for pagination in UIs. - name "y.z". + count_total is only respected when offset is used. It is ignored when + key + is set. + reverse: + type: boolean + description: >- + reverse is set to true if results are to be returned in the descending + order. - JSON + Since: cosmos-sdk 0.43 + description: |- + message SomeRequest { + Foo some_parameter = 1; + PageRequest pagination = 2; + } + title: |- + PageRequest is to be embedded in gRPC request messages for efficient + pagination. Ex: + cosmos.base.query.v1beta1.PageResponse: + type: object + properties: + next_key: + type: string + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + total: + type: string + format: uint64 + title: |- + total is total number of results available if PageRequest.count_total + was set, its value is undefined otherwise + description: |- + PageResponse is to be embedded in gRPC response messages where the + corresponding request message has used PageRequest. - ==== + message SomeResponse { + repeated Bar results = 1; + PageResponse page = 2; + } + google.protobuf.Any: + type: object + properties: + '@type': + type: string + description: >- + A URL/resource name that uniquely identifies the type of the + serialized - The JSON representation of an `Any` value uses the regular + protocol buffer message. This string must contain at least - representation of the deserialized, embedded message, with an + one "/" character. The last segment of the URL's path must represent - additional field `@type` which contains the type URL. Example: + the fully qualified name of the type (as in - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } + `path/google.protobuf.Duration`). The name should be in a canonical + form - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } + (e.g., leading "." is not accepted). - If the embedded message type is well-known and has a custom - JSON - representation, that representation will be embedded adding a - field + In practice, teams usually precompile into the binary all types that + they - `value` which holds the custom JSON in addition to the `@type` + expect it to use in the context of Any. However, for URLs which use + the - field. Example (for message [google.protobuf.Duration][]): + scheme `http`, `https`, or no scheme, one can optionally set up a type - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - title: client state associated with the request identifier - proof: - type: string - format: byte - title: merkle proof of existence - proof_height: - title: height at which the proof was retrieved - type: object - properties: - revision_number: - type: string - format: uint64 - title: the revision that the client is currently on - revision_height: - type: string - format: uint64 - title: the height within the given revision - description: >- - Normally the RevisionHeight is incremented at each height - while keeping + server that maps type URLs to message definitions as follows: - RevisionNumber the same. However some consensus algorithms may - choose to - reset the height in certain conditions e.g. hard forks, - state-machine + * If no scheme is provided, `https` is assumed. - breaking changes In these cases, the RevisionNumber is - incremented so that + * An HTTP GET on the URL must yield a [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) - height continues to be monitonically increasing even as the - RevisionHeight + Note: this functionality is not currently available in the official - gets reset - description: >- - QueryClientStateResponse is the response type for the - Query/ClientState RPC + protobuf release, and it is not used for type URLs beginning with - method. Besides the client state, it includes a proof and the - height from + type.googleapis.com. - which the proof was retrieved. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - protocol buffer message. This string must contain at - least + Schemes other than `http`, `https` (or the empty scheme) might be - one "/" character. The last segment of the URL's path - must represent + used with implementation specific semantics. + additionalProperties: {} + description: >- + `Any` contains an arbitrary serialized protocol buffer message along with + a - the fully qualified name of the type (as in + URL that describes the type of the serialized message. - `path/google.protobuf.Duration`). The name should be in - a canonical form - (e.g., leading "." is not accepted). + Protobuf library provides support to pack/unpack Any values in the form + of utility functions or additional generated methods of the Any type. - In practice, teams usually precompile into the binary - all types that they - expect it to use in the context of Any. However, for - URLs which use the + Example 1: Pack and unpack a message in C++. - scheme `http`, `https`, or no scheme, one can optionally - set up a type + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } - server that maps type URLs to message definitions as - follows: + Example 2: Pack and unpack a message in Java. + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } - * If no scheme is provided, `https` is assumed. + Example 3: Pack and unpack a message in Python. - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... - Note: this functionality is not currently available in - the official + Example 4: Pack and unpack a message in Go - protobuf release, and it is not used for type URLs - beginning with + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } - type.googleapis.com. + The pack methods provided by protobuf library will by default use + 'type.googleapis.com/full.type.name' as the type URL and the unpack - Schemes other than `http`, `https` (or the empty scheme) - might be + methods only use the fully qualified type name after the last '/' - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a + in the type URL, for example "foo.bar.com/x/y.z" will yield type - URL that describes the type of the serialized message. + name "y.z". - Protobuf library provides support to pack/unpack Any values - in the form - of utility functions or additional generated methods of the - Any type. + JSON + ==== - Example 1: Pack and unpack a message in C++. + The JSON representation of an `Any` value uses the regular - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } + representation of the deserialized, embedded message, with an - Example 2: Pack and unpack a message in Java. + additional field `@type` which contains the type URL. Example: - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } - Example 3: Pack and unpack a message in Python. + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } + + If the embedded message type is well-known and has a custom JSON + + representation, that representation will be embedded adding a field + + `value` which holds the custom JSON in addition to the `@type` + + field. Example (for message [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + google.rpc.Status: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + '@type': + type: string + description: >- + A URL/resource name that uniquely identifies the type of the + serialized + + protocol buffer message. This string must contain at least + + one "/" character. The last segment of the URL's path must + represent - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... + the fully qualified name of the type (as in - Example 4: Pack and unpack a message in Go + `path/google.protobuf.Duration`). The name should be in a + canonical form - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } + (e.g., leading "." is not accepted). - The pack methods provided by protobuf library will by - default use - 'type.googleapis.com/full.type.name' as the type URL and the - unpack + In practice, teams usually precompile into the binary all types + that they - methods only use the fully qualified type name after the - last '/' + expect it to use in the context of Any. However, for URLs which + use the - in the type URL, for example "foo.bar.com/x/y.z" will yield - type + scheme `http`, `https`, or no scheme, one can optionally set up + a type - name "y.z". + server that maps type URLs to message definitions as follows: + * If no scheme is provided, `https` is assumed. - JSON + * An HTTP GET on the URL must yield a [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) - ==== + Note: this functionality is not currently available in the + official - The JSON representation of an `Any` value uses the regular + protobuf release, and it is not used for type URLs beginning + with - representation of the deserialized, embedded message, with - an + type.googleapis.com. - additional field `@type` which contains the type URL. - Example: - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } + Schemes other than `http`, `https` (or the empty scheme) might + be - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } + used with implementation specific semantics. + additionalProperties: {} + description: >- + `Any` contains an arbitrary serialized protocol buffer message along + with a - If the embedded message type is well-known and has a custom - JSON + URL that describes the type of the serialized message. - representation, that representation will be embedded adding - a field - `value` which holds the custom JSON in addition to the - `@type` + Protobuf library provides support to pack/unpack Any values in the + form - field. Example (for message [google.protobuf.Duration][]): + of utility functions or additional generated methods of the Any + type. - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: client_id - description: client state unique identifier - in: path - required: true - type: string - tags: - - Query - /ibc/core/client/v1/client_status/{client_id}: - get: - summary: Status queries the status of an IBC client. - operationId: IbcCoreClientV1ClientStatus - responses: - '200': - description: A successful response. - schema: - type: object - properties: - status: - type: string - description: >- - QueryClientStatusResponse is the response type for the - Query/ClientStatus RPC - method. It returns the current status of the IBC client. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized + Example 1: Pack and unpack a message in C++. - protocol buffer message. This string must contain at - least + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } - one "/" character. The last segment of the URL's path - must represent + Example 2: Pack and unpack a message in Java. - the fully qualified name of the type (as in + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } - `path/google.protobuf.Duration`). The name should be in - a canonical form + Example 3: Pack and unpack a message in Python. - (e.g., leading "." is not accepted). + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + Example 4: Pack and unpack a message in Go - In practice, teams usually precompile into the binary - all types that they + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } - expect it to use in the context of Any. However, for - URLs which use the + The pack methods provided by protobuf library will by default use - scheme `http`, `https`, or no scheme, one can optionally - set up a type + 'type.googleapis.com/full.type.name' as the type URL and the unpack - server that maps type URLs to message definitions as - follows: + methods only use the fully qualified type name after the last '/' + in the type URL, for example "foo.bar.com/x/y.z" will yield type - * If no scheme is provided, `https` is assumed. + name "y.z". - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - Note: this functionality is not currently available in - the official - protobuf release, and it is not used for type URLs - beginning with + JSON - type.googleapis.com. + ==== + The JSON representation of an `Any` value uses the regular - Schemes other than `http`, `https` (or the empty scheme) - might be + representation of the deserialized, embedded message, with an - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a + additional field `@type` which contains the type URL. Example: - URL that describes the type of the serialized message. + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } - Protobuf library provides support to pack/unpack Any values - in the form + If the embedded message type is well-known and has a custom JSON - of utility functions or additional generated methods of the - Any type. + representation, that representation will be embedded adding a field + `value` which holds the custom JSON in addition to the `@type` - Example 1: Pack and unpack a message in C++. + field. Example (for message [google.protobuf.Duration][]): - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + cosmos.authz.v1beta1.Grant: + type: object + properties: + authorization: + type: object + properties: + '@type': + type: string + description: >- + A URL/resource name that uniquely identifies the type of the + serialized - Example 2: Pack and unpack a message in Java. + protocol buffer message. This string must contain at least - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } + one "/" character. The last segment of the URL's path must + represent - Example 3: Pack and unpack a message in Python. + the fully qualified name of the type (as in - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... + `path/google.protobuf.Duration`). The name should be in a + canonical form - Example 4: Pack and unpack a message in Go + (e.g., leading "." is not accepted). - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - The pack methods provided by protobuf library will by - default use + In practice, teams usually precompile into the binary all types + that they - 'type.googleapis.com/full.type.name' as the type URL and the - unpack + expect it to use in the context of Any. However, for URLs which + use the - methods only use the fully qualified type name after the - last '/' + scheme `http`, `https`, or no scheme, one can optionally set up a + type - in the type URL, for example "foo.bar.com/x/y.z" will yield - type + server that maps type URLs to message definitions as follows: - name "y.z". + * If no scheme is provided, `https` is assumed. + * An HTTP GET on the URL must yield a [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) - JSON + Note: this functionality is not currently available in the + official - ==== + protobuf release, and it is not used for type URLs beginning with - The JSON representation of an `Any` value uses the regular + type.googleapis.com. - representation of the deserialized, embedded message, with - an - additional field `@type` which contains the type URL. - Example: + Schemes other than `http`, `https` (or the empty scheme) might be - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } + used with implementation specific semantics. + additionalProperties: {} + description: >- + `Any` contains an arbitrary serialized protocol buffer message along + with a - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } + URL that describes the type of the serialized message. - If the embedded message type is well-known and has a custom - JSON - representation, that representation will be embedded adding - a field + Protobuf library provides support to pack/unpack Any values in the + form - `value` which holds the custom JSON in addition to the - `@type` + of utility functions or additional generated methods of the Any type. - field. Example (for message [google.protobuf.Duration][]): - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: client_id - description: client unique identifier - in: path - required: true - type: string - tags: - - Query - /ibc/core/client/v1/consensus_states/{client_id}: - get: - summary: |- - ConsensusStates queries all the consensus state associated with a given - client. - operationId: IbcCoreClientV1ConsensusStates - responses: - '200': - description: A successful response. - schema: - type: object - properties: - consensus_states: - type: array - items: - type: object - properties: - height: - title: consensus state height - type: object - properties: - revision_number: - type: string - format: uint64 - title: the revision that the client is currently on - revision_height: - type: string - format: uint64 - title: the height within the given revision - description: >- - Normally the RevisionHeight is incremented at each - height while keeping + Example 1: Pack and unpack a message in C++. - RevisionNumber the same. However some consensus - algorithms may choose to + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } - reset the height in certain conditions e.g. hard forks, - state-machine + Example 2: Pack and unpack a message in Java. - breaking changes In these cases, the RevisionNumber is - incremented so that + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } - height continues to be monitonically increasing even as - the RevisionHeight + Example 3: Pack and unpack a message in Python. - gets reset - consensus_state: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the - type of the serialized + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... - protocol buffer message. This string must contain at - least + Example 4: Pack and unpack a message in Go - one "/" character. The last segment of the URL's - path must represent + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } - the fully qualified name of the type (as in + The pack methods provided by protobuf library will by default use - `path/google.protobuf.Duration`). The name should be - in a canonical form + 'type.googleapis.com/full.type.name' as the type URL and the unpack - (e.g., leading "." is not accepted). + methods only use the fully qualified type name after the last '/' + in the type URL, for example "foo.bar.com/x/y.z" will yield type - In practice, teams usually precompile into the - binary all types that they + name "y.z". - expect it to use in the context of Any. However, for - URLs which use the - scheme `http`, `https`, or no scheme, one can - optionally set up a type - server that maps type URLs to message definitions as - follows: + JSON + ==== - * If no scheme is provided, `https` is assumed. + The JSON representation of an `Any` value uses the regular - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results - based on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) + representation of the deserialized, embedded message, with an - Note: this functionality is not currently available - in the official + additional field `@type` which contains the type URL. Example: - protobuf release, and it is not used for type URLs - beginning with + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } - type.googleapis.com. + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } + If the embedded message type is well-known and has a custom JSON - Schemes other than `http`, `https` (or the empty - scheme) might be + representation, that representation will be embedded adding a field - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a + `value` which holds the custom JSON in addition to the `@type` - URL that describes the type of the serialized message. + field. Example (for message [google.protobuf.Duration][]): + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + expiration: + type: string + format: date-time + title: >- + time when the grant will expire and will be pruned. If null, then the + grant - Protobuf library provides support to pack/unpack Any - values in the form + doesn't have a time expiration (other conditions in `authorization` - of utility functions or additional generated methods of - the Any type. + may apply to invalidate the grant) + description: |- + Grant gives permissions to execute + the provide method with expiration time. + cosmos.authz.v1beta1.GrantAuthorization: + type: object + properties: + granter: + type: string + grantee: + type: string + authorization: + type: object + properties: + '@type': + type: string + description: >- + A URL/resource name that uniquely identifies the type of the + serialized + protocol buffer message. This string must contain at least - Example 1: Pack and unpack a message in C++. + one "/" character. The last segment of the URL's path must + represent - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } + the fully qualified name of the type (as in - Example 2: Pack and unpack a message in Java. + `path/google.protobuf.Duration`). The name should be in a + canonical form - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } + (e.g., leading "." is not accepted). - Example 3: Pack and unpack a message in Python. - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... + In practice, teams usually precompile into the binary all types + that they - Example 4: Pack and unpack a message in Go + expect it to use in the context of Any. However, for URLs which + use the - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } + scheme `http`, `https`, or no scheme, one can optionally set up a + type - The pack methods provided by protobuf library will by - default use + server that maps type URLs to message definitions as follows: - 'type.googleapis.com/full.type.name' as the type URL and - the unpack - methods only use the fully qualified type name after the - last '/' + * If no scheme is provided, `https` is assumed. - in the type URL, for example "foo.bar.com/x/y.z" will - yield type + * An HTTP GET on the URL must yield a [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) - name "y.z". + Note: this functionality is not currently available in the + official + protobuf release, and it is not used for type URLs beginning with + type.googleapis.com. - JSON - ==== + Schemes other than `http`, `https` (or the empty scheme) might be - The JSON representation of an `Any` value uses the - regular + used with implementation specific semantics. + additionalProperties: {} + description: >- + `Any` contains an arbitrary serialized protocol buffer message along + with a - representation of the deserialized, embedded message, - with an + URL that describes the type of the serialized message. - additional field `@type` which contains the type URL. - Example: - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } + Protobuf library provides support to pack/unpack Any values in the + form - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } + of utility functions or additional generated methods of the Any type. - If the embedded message type is well-known and has a - custom JSON - representation, that representation will be embedded - adding a field + Example 1: Pack and unpack a message in C++. - `value` which holds the custom JSON in addition to the - `@type` + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } - field. Example (for message - [google.protobuf.Duration][]): + Example 2: Pack and unpack a message in Java. - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - title: consensus state - description: >- - ConsensusStateWithHeight defines a consensus state with an - additional height + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } - field. - title: consensus states associated with the identifier - pagination: - title: pagination response - type: object - properties: - next_key: - type: string - format: byte - title: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently - total: - type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total + Example 3: Pack and unpack a message in Python. - was set, its value is undefined otherwise - description: >- - PageResponse is to be embedded in gRPC response messages where - the + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... - corresponding request message has used PageRequest. + Example 4: Pack and unpack a message in Go - message SomeResponse { - repeated Bar results = 1; - PageResponse page = 2; - } - title: |- - QueryConsensusStatesResponse is the response type for the - Query/ConsensusStates RPC method - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } - protocol buffer message. This string must contain at - least + The pack methods provided by protobuf library will by default use - one "/" character. The last segment of the URL's path - must represent + 'type.googleapis.com/full.type.name' as the type URL and the unpack - the fully qualified name of the type (as in + methods only use the fully qualified type name after the last '/' - `path/google.protobuf.Duration`). The name should be in - a canonical form + in the type URL, for example "foo.bar.com/x/y.z" will yield type - (e.g., leading "." is not accepted). + name "y.z". - In practice, teams usually precompile into the binary - all types that they - expect it to use in the context of Any. However, for - URLs which use the + JSON - scheme `http`, `https`, or no scheme, one can optionally - set up a type + ==== - server that maps type URLs to message definitions as - follows: + The JSON representation of an `Any` value uses the regular + representation of the deserialized, embedded message, with an - * If no scheme is provided, `https` is assumed. + additional field `@type` which contains the type URL. Example: - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } - Note: this functionality is not currently available in - the official + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } - protobuf release, and it is not used for type URLs - beginning with + If the embedded message type is well-known and has a custom JSON - type.googleapis.com. + representation, that representation will be embedded adding a field + `value` which holds the custom JSON in addition to the `@type` - Schemes other than `http`, `https` (or the empty scheme) - might be + field. Example (for message [google.protobuf.Duration][]): - used with implementation specific semantics. - additionalProperties: {} + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + expiration: + type: string + format: date-time + title: >- + GrantAuthorization extends a grant with both the addresses of the grantee + and granter. + + It is used in genesis.proto and query.proto + cosmos.authz.v1beta1.MsgExecResponse: + type: object + properties: + results: + type: array + items: + type: string + format: byte + description: MsgExecResponse defines the Msg/MsgExecResponse response type. + cosmos.authz.v1beta1.MsgGrantResponse: + type: object + description: MsgGrantResponse defines the Msg/MsgGrant response type. + cosmos.authz.v1beta1.MsgRevokeResponse: + type: object + description: MsgRevokeResponse defines the Msg/MsgRevokeResponse response type. + cosmos.authz.v1beta1.QueryGranteeGrantsResponse: + type: object + properties: + grants: + type: array + items: + type: object + properties: + granter: + type: string + grantee: + type: string + authorization: + type: object + properties: + '@type': + type: string description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a + A URL/resource name that uniquely identifies the type of the + serialized - URL that describes the type of the serialized message. + protocol buffer message. This string must contain at least + one "/" character. The last segment of the URL's path must + represent - Protobuf library provides support to pack/unpack Any values - in the form + the fully qualified name of the type (as in - of utility functions or additional generated methods of the - Any type. + `path/google.protobuf.Duration`). The name should be in a + canonical form + (e.g., leading "." is not accepted). - Example 1: Pack and unpack a message in C++. - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } + In practice, teams usually precompile into the binary all + types that they - Example 2: Pack and unpack a message in Java. + expect it to use in the context of Any. However, for URLs + which use the - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } + scheme `http`, `https`, or no scheme, one can optionally set + up a type - Example 3: Pack and unpack a message in Python. + server that maps type URLs to message definitions as + follows: - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - Example 4: Pack and unpack a message in Go + * If no scheme is provided, `https` is assumed. - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based on + the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) - The pack methods provided by protobuf library will by - default use + Note: this functionality is not currently available in the + official - 'type.googleapis.com/full.type.name' as the type URL and the - unpack + protobuf release, and it is not used for type URLs beginning + with - methods only use the fully qualified type name after the - last '/' + type.googleapis.com. - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - name "y.z". + Schemes other than `http`, `https` (or the empty scheme) + might be + used with implementation specific semantics. + additionalProperties: {} + description: >- + `Any` contains an arbitrary serialized protocol buffer message + along with a + URL that describes the type of the serialized message. - JSON - ==== + Protobuf library provides support to pack/unpack Any values in + the form - The JSON representation of an `Any` value uses the regular + of utility functions or additional generated methods of the Any + type. - representation of the deserialized, embedded message, with - an - additional field `@type` which contains the type URL. - Example: + Example 1: Pack and unpack a message in C++. - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } + Example 2: Pack and unpack a message in Java. - If the embedded message type is well-known and has a custom - JSON + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } - representation, that representation will be embedded adding - a field + Example 3: Pack and unpack a message in Python. - `value` which holds the custom JSON in addition to the - `@type` + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... - field. Example (for message [google.protobuf.Duration][]): + Example 4: Pack and unpack a message in Go - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: client_id - description: client identifier - in: path - required: true - type: string - - name: pagination.key - description: |- - key is a value returned in PageResponse.next_key to begin - querying the next page most efficiently. Only one of offset or key - should be set. - in: query - required: false - type: string - format: byte - - name: pagination.offset - description: >- - offset is a numeric offset that can be used when key is unavailable. + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } - It is less efficient than using key. Only one of offset or key - should + The pack methods provided by protobuf library will by default + use - be set. - in: query - required: false - type: string - format: uint64 - - name: pagination.limit - description: >- - limit is the total number of results to be returned in the result - page. + 'type.googleapis.com/full.type.name' as the type URL and the + unpack - If left empty it will default to a value to be set by each app. - in: query - required: false - type: string - format: uint64 - - name: pagination.count_total - description: >- - count_total is set to true to indicate that the result set should - include + methods only use the fully qualified type name after the last + '/' - a count of the total number of items available for pagination in - UIs. + in the type URL, for example "foo.bar.com/x/y.z" will yield type - count_total is only respected when offset is used. It is ignored - when key + name "y.z". - is set. - in: query - required: false - type: boolean - tags: - - Query - /ibc/core/client/v1/consensus_states/{client_id}/revision/{revision_number}/height/{revision_height}: - get: - summary: >- - ConsensusState queries a consensus state associated with a client state - at - a given height. - operationId: IbcCoreClientV1ConsensusState - responses: - '200': - description: A successful response. - schema: - type: object - properties: - consensus_state: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - protocol buffer message. This string must contain at least + JSON - one "/" character. The last segment of the URL's path must - represent + ==== - the fully qualified name of the type (as in + The JSON representation of an `Any` value uses the regular - `path/google.protobuf.Duration`). The name should be in a - canonical form + representation of the deserialized, embedded message, with an - (e.g., leading "." is not accepted). + additional field `@type` which contains the type URL. Example: + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } - In practice, teams usually precompile into the binary all - types that they + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } - expect it to use in the context of Any. However, for URLs - which use the + If the embedded message type is well-known and has a custom JSON - scheme `http`, `https`, or no scheme, one can optionally - set up a type + representation, that representation will be embedded adding a + field - server that maps type URLs to message definitions as - follows: + `value` which holds the custom JSON in addition to the `@type` + field. Example (for message [google.protobuf.Duration][]): - * If no scheme is provided, `https` is assumed. + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + expiration: + type: string + format: date-time + title: >- + GrantAuthorization extends a grant with both the addresses of the + grantee and granter. - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) + It is used in genesis.proto and query.proto + description: grants is a list of grants granted to the grantee. + pagination: + description: pagination defines an pagination for the response. + type: object + properties: + next_key: + type: string + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + total: + type: string + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total - Note: this functionality is not currently available in the - official + was set, its value is undefined otherwise + description: >- + QueryGranteeGrantsResponse is the response type for the + Query/GranteeGrants RPC method. + cosmos.authz.v1beta1.QueryGranterGrantsResponse: + type: object + properties: + grants: + type: array + items: + type: object + properties: + granter: + type: string + grantee: + type: string + authorization: + type: object + properties: + '@type': + type: string + description: >- + A URL/resource name that uniquely identifies the type of the + serialized - protobuf release, and it is not used for type URLs - beginning with + protocol buffer message. This string must contain at least - type.googleapis.com. + one "/" character. The last segment of the URL's path must + represent + the fully qualified name of the type (as in - Schemes other than `http`, `https` (or the empty scheme) - might be + `path/google.protobuf.Duration`). The name should be in a + canonical form - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer message - along with a + (e.g., leading "." is not accepted). - URL that describes the type of the serialized message. + In practice, teams usually precompile into the binary all + types that they - Protobuf library provides support to pack/unpack Any values in - the form + expect it to use in the context of Any. However, for URLs + which use the - of utility functions or additional generated methods of the - Any type. + scheme `http`, `https`, or no scheme, one can optionally set + up a type + server that maps type URLs to message definitions as + follows: - Example 1: Pack and unpack a message in C++. - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } + * If no scheme is provided, `https` is assumed. - Example 2: Pack and unpack a message in Java. + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based on + the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } + Note: this functionality is not currently available in the + official - Example 3: Pack and unpack a message in Python. + protobuf release, and it is not used for type URLs beginning + with - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... + type.googleapis.com. - Example 4: Pack and unpack a message in Go - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } + Schemes other than `http`, `https` (or the empty scheme) + might be - The pack methods provided by protobuf library will by default - use + used with implementation specific semantics. + additionalProperties: {} + description: >- + `Any` contains an arbitrary serialized protocol buffer message + along with a - 'type.googleapis.com/full.type.name' as the type URL and the - unpack + URL that describes the type of the serialized message. - methods only use the fully qualified type name after the last - '/' - in the type URL, for example "foo.bar.com/x/y.z" will yield - type + Protobuf library provides support to pack/unpack Any values in + the form - name "y.z". + of utility functions or additional generated methods of the Any + type. + Example 1: Pack and unpack a message in C++. - JSON + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } - ==== + Example 2: Pack and unpack a message in Java. - The JSON representation of an `Any` value uses the regular + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } - representation of the deserialized, embedded message, with an + Example 3: Pack and unpack a message in Python. - additional field `@type` which contains the type URL. Example: + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } + Example 4: Pack and unpack a message in Go - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } - If the embedded message type is well-known and has a custom - JSON + The pack methods provided by protobuf library will by default + use - representation, that representation will be embedded adding a - field + 'type.googleapis.com/full.type.name' as the type URL and the + unpack - `value` which holds the custom JSON in addition to the `@type` + methods only use the fully qualified type name after the last + '/' - field. Example (for message [google.protobuf.Duration][]): + in the type URL, for example "foo.bar.com/x/y.z" will yield type - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - title: >- - consensus state associated with the client identifier at the - given height - proof: - type: string - format: byte - title: merkle proof of existence - proof_height: - title: height at which the proof was retrieved - type: object - properties: - revision_number: - type: string - format: uint64 - title: the revision that the client is currently on - revision_height: - type: string - format: uint64 - title: the height within the given revision - description: >- - Normally the RevisionHeight is incremented at each height - while keeping + name "y.z". - RevisionNumber the same. However some consensus algorithms may - choose to - reset the height in certain conditions e.g. hard forks, - state-machine - breaking changes In these cases, the RevisionNumber is - incremented so that + JSON - height continues to be monitonically increasing even as the - RevisionHeight + ==== - gets reset - title: >- - QueryConsensusStateResponse is the response type for the - Query/ConsensusState + The JSON representation of an `Any` value uses the regular - RPC method - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized + representation of the deserialized, embedded message, with an - protocol buffer message. This string must contain at - least + additional field `@type` which contains the type URL. Example: - one "/" character. The last segment of the URL's path - must represent + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } - the fully qualified name of the type (as in + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } - `path/google.protobuf.Duration`). The name should be in - a canonical form + If the embedded message type is well-known and has a custom JSON - (e.g., leading "." is not accepted). + representation, that representation will be embedded adding a + field + `value` which holds the custom JSON in addition to the `@type` - In practice, teams usually precompile into the binary - all types that they + field. Example (for message [google.protobuf.Duration][]): - expect it to use in the context of Any. However, for - URLs which use the + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + expiration: + type: string + format: date-time + title: >- + GrantAuthorization extends a grant with both the addresses of the + grantee and granter. - scheme `http`, `https`, or no scheme, one can optionally - set up a type + It is used in genesis.proto and query.proto + description: grants is a list of grants granted by the granter. + pagination: + description: pagination defines an pagination for the response. + type: object + properties: + next_key: + type: string + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + total: + type: string + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total - server that maps type URLs to message definitions as - follows: + was set, its value is undefined otherwise + description: >- + QueryGranterGrantsResponse is the response type for the + Query/GranterGrants RPC method. + cosmos.authz.v1beta1.QueryGrantsResponse: + type: object + properties: + grants: + type: array + items: + type: object + properties: + authorization: + type: object + properties: + '@type': + type: string + description: >- + A URL/resource name that uniquely identifies the type of the + serialized + protocol buffer message. This string must contain at least - * If no scheme is provided, `https` is assumed. + one "/" character. The last segment of the URL's path must + represent - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) + the fully qualified name of the type (as in - Note: this functionality is not currently available in - the official + `path/google.protobuf.Duration`). The name should be in a + canonical form - protobuf release, and it is not used for type URLs - beginning with + (e.g., leading "." is not accepted). - type.googleapis.com. + In practice, teams usually precompile into the binary all + types that they - Schemes other than `http`, `https` (or the empty scheme) - might be + expect it to use in the context of Any. However, for URLs + which use the - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a + scheme `http`, `https`, or no scheme, one can optionally set + up a type - URL that describes the type of the serialized message. + server that maps type URLs to message definitions as + follows: - Protobuf library provides support to pack/unpack Any values - in the form + * If no scheme is provided, `https` is assumed. - of utility functions or additional generated methods of the - Any type. + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based on + the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + Note: this functionality is not currently available in the + official - Example 1: Pack and unpack a message in C++. + protobuf release, and it is not used for type URLs beginning + with - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } + type.googleapis.com. - Example 2: Pack and unpack a message in Java. - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } + Schemes other than `http`, `https` (or the empty scheme) + might be + + used with implementation specific semantics. + additionalProperties: {} + description: >- + `Any` contains an arbitrary serialized protocol buffer message + along with a - Example 3: Pack and unpack a message in Python. + URL that describes the type of the serialized message. - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - Example 4: Pack and unpack a message in Go + Protobuf library provides support to pack/unpack Any values in + the form - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } + of utility functions or additional generated methods of the Any + type. - The pack methods provided by protobuf library will by - default use - 'type.googleapis.com/full.type.name' as the type URL and the - unpack + Example 1: Pack and unpack a message in C++. - methods only use the fully qualified type name after the - last '/' + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } - in the type URL, for example "foo.bar.com/x/y.z" will yield - type + Example 2: Pack and unpack a message in Java. - name "y.z". + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + Example 3: Pack and unpack a message in Python. + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... - JSON + Example 4: Pack and unpack a message in Go - ==== + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } - The JSON representation of an `Any` value uses the regular + The pack methods provided by protobuf library will by default + use - representation of the deserialized, embedded message, with - an + 'type.googleapis.com/full.type.name' as the type URL and the + unpack - additional field `@type` which contains the type URL. - Example: + methods only use the fully qualified type name after the last + '/' - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } + in the type URL, for example "foo.bar.com/x/y.z" will yield type - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } + name "y.z". - If the embedded message type is well-known and has a custom - JSON - representation, that representation will be embedded adding - a field - `value` which holds the custom JSON in addition to the - `@type` + JSON - field. Example (for message [google.protobuf.Duration][]): + ==== - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: client_id - description: client identifier - in: path - required: true - type: string - - name: revision_number - description: consensus state revision number - in: path - required: true - type: string - format: uint64 - - name: revision_height - description: consensus state revision height - in: path - required: true - type: string - format: uint64 - - name: latest_height - description: >- - latest_height overrrides the height field and queries the latest - stored + The JSON representation of an `Any` value uses the regular - ConsensusState - in: query - required: false - type: boolean - tags: - - Query - /ibc/core/client/v1/upgraded_client_states: - get: - summary: UpgradedClientState queries an Upgraded IBC light client. - operationId: IbcCoreClientV1UpgradedClientState - responses: - '200': - description: A successful response. - schema: - type: object - properties: - upgraded_client_state: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized + representation of the deserialized, embedded message, with an - protocol buffer message. This string must contain at least + additional field `@type` which contains the type URL. Example: - one "/" character. The last segment of the URL's path must - represent + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } - the fully qualified name of the type (as in + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } - `path/google.protobuf.Duration`). The name should be in a - canonical form + If the embedded message type is well-known and has a custom JSON - (e.g., leading "." is not accepted). + representation, that representation will be embedded adding a + field + `value` which holds the custom JSON in addition to the `@type` - In practice, teams usually precompile into the binary all - types that they + field. Example (for message [google.protobuf.Duration][]): - expect it to use in the context of Any. However, for URLs - which use the + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + expiration: + type: string + format: date-time + title: >- + time when the grant will expire and will be pruned. If null, + then the grant - scheme `http`, `https`, or no scheme, one can optionally - set up a type + doesn't have a time expiration (other conditions in + `authorization` - server that maps type URLs to message definitions as - follows: + may apply to invalidate the grant) + description: |- + Grant gives permissions to execute + the provide method with expiration time. + description: authorizations is a list of grants granted for grantee by granter. + pagination: + description: pagination defines an pagination for the response. + type: object + properties: + next_key: + type: string + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + total: + type: string + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total + was set, its value is undefined otherwise + description: >- + QueryGrantsResponse is the response type for the Query/Authorizations RPC + method. + cosmos.bank.v1beta1.DenomOwner: + type: object + properties: + address: + type: string + description: address defines the address that owns a particular denomination. + balance: + description: balance is the balance of the denominated coin for an account. + type: object + properties: + denom: + type: string + amount: + type: string + description: |- + DenomOwner defines structure representing an account that owns or holds a + particular denominated token. It contains the account address and account + balance of the denominated token. - * If no scheme is provided, `https` is assumed. + Since: cosmos-sdk 0.46 + cosmos.bank.v1beta1.DenomUnit: + type: object + properties: + denom: + type: string + description: denom represents the string name of the given denom unit (e.g uatom). + exponent: + type: integer + format: int64 + description: >- + exponent represents power of 10 exponent that one must - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) + raise the base_denom to in order to equal the given DenomUnit's denom - Note: this functionality is not currently available in the - official + 1 denom = 10^exponent base_denom - protobuf release, and it is not used for type URLs - beginning with + (e.g. with a base_denom of uatom, one can create a DenomUnit of 'atom' + with - type.googleapis.com. + exponent = 6, thus: 1 atom = 10^6 uatom). + aliases: + type: array + items: + type: string + title: aliases is a list of string aliases for the given denom + description: |- + DenomUnit represents a struct that describes a given + denomination unit of the basic token. + cosmos.bank.v1beta1.Input: + type: object + properties: + address: + type: string + coins: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string + description: |- + Coin defines a token with a denomination and an amount. + NOTE: The amount field is an Int which implements the custom method + signatures required by gogoproto. + description: Input models transaction input. + cosmos.bank.v1beta1.Metadata: + type: object + properties: + description: + type: string + denom_units: + type: array + items: + type: object + properties: + denom: + type: string + description: >- + denom represents the string name of the given denom unit (e.g + uatom). + exponent: + type: integer + format: int64 + description: >- + exponent represents power of 10 exponent that one must - Schemes other than `http`, `https` (or the empty scheme) - might be + raise the base_denom to in order to equal the given DenomUnit's + denom - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer message - along with a + 1 denom = 10^exponent base_denom - URL that describes the type of the serialized message. + (e.g. with a base_denom of uatom, one can create a DenomUnit of + 'atom' with + exponent = 6, thus: 1 atom = 10^6 uatom). + aliases: + type: array + items: + type: string + title: aliases is a list of string aliases for the given denom + description: |- + DenomUnit represents a struct that describes a given + denomination unit of the basic token. + title: denom_units represents the list of DenomUnit's for a given coin + base: + type: string + description: >- + base represents the base denom (should be the DenomUnit with exponent + = 0). + display: + type: string + description: |- + display indicates the suggested denom that should be + displayed in clients. + name: + type: string + description: 'Since: cosmos-sdk 0.43' + title: 'name defines the name of the token (eg: Cosmos Atom)' + symbol: + type: string + description: >- + symbol is the token symbol usually shown on exchanges (eg: ATOM). This + can - Protobuf library provides support to pack/unpack Any values in - the form + be the same as the display. - of utility functions or additional generated methods of the - Any type. + Since: cosmos-sdk 0.43 + uri: + type: string + description: >- + URI to a document (on or off-chain) that contains additional + information. Optional. - Example 1: Pack and unpack a message in C++. - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } + Since: cosmos-sdk 0.46 + uri_hash: + type: string + description: >- + URIHash is a sha256 hash of a document pointed by URI. It's used to + verify that - Example 2: Pack and unpack a message in Java. + the document didn't change. Optional. - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - Example 3: Pack and unpack a message in Python. + Since: cosmos-sdk 0.46 + description: |- + Metadata represents a struct that describes + a basic token. + cosmos.bank.v1beta1.MsgMultiSendResponse: + type: object + description: MsgMultiSendResponse defines the Msg/MultiSend response type. + cosmos.bank.v1beta1.MsgSendResponse: + type: object + description: MsgSendResponse defines the Msg/Send response type. + cosmos.bank.v1beta1.Output: + type: object + properties: + address: + type: string + coins: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string + description: |- + Coin defines a token with a denomination and an amount. - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... + NOTE: The amount field is an Int which implements the custom method + signatures required by gogoproto. + description: Output models transaction outputs. + cosmos.bank.v1beta1.Params: + type: object + properties: + send_enabled: + type: array + items: + type: object + properties: + denom: + type: string + enabled: + type: boolean + description: >- + SendEnabled maps coin denom to a send_enabled status (whether a + denom is - Example 4: Pack and unpack a message in Go + sendable). + default_send_enabled: + type: boolean + description: Params defines the parameters for the bank module. + cosmos.bank.v1beta1.QueryAllBalancesResponse: + type: object + properties: + balances: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string + description: |- + Coin defines a token with a denomination and an amount. - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } + NOTE: The amount field is an Int which implements the custom method + signatures required by gogoproto. + description: balances is the balances of all the coins. + pagination: + description: pagination defines the pagination in the response. + type: object + properties: + next_key: + type: string + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + total: + type: string + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total - The pack methods provided by protobuf library will by default - use + was set, its value is undefined otherwise + description: >- + QueryAllBalancesResponse is the response type for the Query/AllBalances + RPC - 'type.googleapis.com/full.type.name' as the type URL and the - unpack + method. + cosmos.bank.v1beta1.QueryBalanceResponse: + type: object + properties: + balance: + description: balance is the balance of the coin. + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + QueryBalanceResponse is the response type for the Query/Balance RPC + method. + cosmos.bank.v1beta1.QueryDenomMetadataResponse: + type: object + properties: + metadata: + description: >- + metadata describes and provides all the client information for the + requested token. + type: object + properties: + description: + type: string + denom_units: + type: array + items: + type: object + properties: + denom: + type: string + description: >- + denom represents the string name of the given denom unit + (e.g uatom). + exponent: + type: integer + format: int64 + description: >- + exponent represents power of 10 exponent that one must - methods only use the fully qualified type name after the last - '/' + raise the base_denom to in order to equal the given + DenomUnit's denom - in the type URL, for example "foo.bar.com/x/y.z" will yield - type + 1 denom = 10^exponent base_denom - name "y.z". + (e.g. with a base_denom of uatom, one can create a DenomUnit + of 'atom' with + exponent = 6, thus: 1 atom = 10^6 uatom). + aliases: + type: array + items: + type: string + title: aliases is a list of string aliases for the given denom + description: |- + DenomUnit represents a struct that describes a given + denomination unit of the basic token. + title: denom_units represents the list of DenomUnit's for a given coin + base: + type: string + description: >- + base represents the base denom (should be the DenomUnit with + exponent = 0). + display: + type: string + description: |- + display indicates the suggested denom that should be + displayed in clients. + name: + type: string + description: 'Since: cosmos-sdk 0.43' + title: 'name defines the name of the token (eg: Cosmos Atom)' + symbol: + type: string + description: >- + symbol is the token symbol usually shown on exchanges (eg: ATOM). + This can + be the same as the display. - JSON - ==== + Since: cosmos-sdk 0.43 + uri: + type: string + description: >- + URI to a document (on or off-chain) that contains additional + information. Optional. - The JSON representation of an `Any` value uses the regular - representation of the deserialized, embedded message, with an + Since: cosmos-sdk 0.46 + uri_hash: + type: string + description: >- + URIHash is a sha256 hash of a document pointed by URI. It's used + to verify that - additional field `@type` which contains the type URL. Example: + the document didn't change. Optional. - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } + Since: cosmos-sdk 0.46 + description: >- + QueryDenomMetadataResponse is the response type for the + Query/DenomMetadata RPC - If the embedded message type is well-known and has a custom - JSON + method. + cosmos.bank.v1beta1.QueryDenomOwnersResponse: + type: object + properties: + denom_owners: + type: array + items: + type: object + properties: + address: + type: string + description: address defines the address that owns a particular denomination. + balance: + description: balance is the balance of the denominated coin for an account. + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + DenomOwner defines structure representing an account that owns or + holds a - representation, that representation will be embedded adding a - field + particular denominated token. It contains the account address and + account - `value` which holds the custom JSON in addition to the `@type` + balance of the denominated token. - field. Example (for message [google.protobuf.Duration][]): - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - title: client state associated with the request identifier + Since: cosmos-sdk 0.46 + pagination: + description: pagination defines the pagination in the response. + type: object + properties: + next_key: + type: string + format: byte description: |- - QueryUpgradedClientStateResponse is the response type for the - Query/UpgradedClientState RPC method. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + total: + type: string + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total - the fully qualified name of the type (as in + was set, its value is undefined otherwise + description: >- + QueryDenomOwnersResponse defines the RPC response of a DenomOwners RPC + query. - `path/google.protobuf.Duration`). The name should be in - a canonical form - (e.g., leading "." is not accepted). + Since: cosmos-sdk 0.46 + cosmos.bank.v1beta1.QueryDenomsMetadataResponse: + type: object + properties: + metadatas: + type: array + items: + type: object + properties: + description: + type: string + denom_units: + type: array + items: + type: object + properties: + denom: + type: string + description: >- + denom represents the string name of the given denom unit + (e.g uatom). + exponent: + type: integer + format: int64 + description: >- + exponent represents power of 10 exponent that one must + raise the base_denom to in order to equal the given + DenomUnit's denom - In practice, teams usually precompile into the binary - all types that they + 1 denom = 10^exponent base_denom - expect it to use in the context of Any. However, for - URLs which use the + (e.g. with a base_denom of uatom, one can create a + DenomUnit of 'atom' with - scheme `http`, `https`, or no scheme, one can optionally - set up a type + exponent = 6, thus: 1 atom = 10^6 uatom). + aliases: + type: array + items: + type: string + title: aliases is a list of string aliases for the given denom + description: |- + DenomUnit represents a struct that describes a given + denomination unit of the basic token. + title: denom_units represents the list of DenomUnit's for a given coin + base: + type: string + description: >- + base represents the base denom (should be the DenomUnit with + exponent = 0). + display: + type: string + description: |- + display indicates the suggested denom that should be + displayed in clients. + name: + type: string + description: 'Since: cosmos-sdk 0.43' + title: 'name defines the name of the token (eg: Cosmos Atom)' + symbol: + type: string + description: >- + symbol is the token symbol usually shown on exchanges (eg: + ATOM). This can - server that maps type URLs to message definitions as - follows: + be the same as the display. - * If no scheme is provided, `https` is assumed. + Since: cosmos-sdk 0.43 + uri: + type: string + description: >- + URI to a document (on or off-chain) that contains additional + information. Optional. - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - Note: this functionality is not currently available in - the official + Since: cosmos-sdk 0.46 + uri_hash: + type: string + description: >- + URIHash is a sha256 hash of a document pointed by URI. It's used + to verify that - protobuf release, and it is not used for type URLs - beginning with + the document didn't change. Optional. - type.googleapis.com. + Since: cosmos-sdk 0.46 + description: |- + Metadata represents a struct that describes + a basic token. + description: >- + metadata provides the client information for all the registered + tokens. + pagination: + description: pagination defines the pagination in the response. + type: object + properties: + next_key: + type: string + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + total: + type: string + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total - Schemes other than `http`, `https` (or the empty scheme) - might be + was set, its value is undefined otherwise + description: >- + QueryDenomsMetadataResponse is the response type for the + Query/DenomsMetadata RPC - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a + method. + cosmos.bank.v1beta1.QueryParamsResponse: + type: object + properties: + params: + type: object + properties: + send_enabled: + type: array + items: + type: object + properties: + denom: + type: string + enabled: + type: boolean + description: >- + SendEnabled maps coin denom to a send_enabled status (whether a + denom is - URL that describes the type of the serialized message. + sendable). + default_send_enabled: + type: boolean + description: Params defines the parameters for the bank module. + description: >- + QueryParamsResponse defines the response type for querying x/bank + parameters. + cosmos.bank.v1beta1.QuerySpendableBalancesResponse: + type: object + properties: + balances: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string + description: |- + Coin defines a token with a denomination and an amount. + NOTE: The amount field is an Int which implements the custom method + signatures required by gogoproto. + description: balances is the spendable balances of all the coins. + pagination: + description: pagination defines the pagination in the response. + type: object + properties: + next_key: + type: string + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + total: + type: string + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total - Protobuf library provides support to pack/unpack Any values - in the form + was set, its value is undefined otherwise + description: >- + QuerySpendableBalancesResponse defines the gRPC response structure for + querying - of utility functions or additional generated methods of the - Any type. + an account's spendable balances. - Example 1: Pack and unpack a message in C++. + Since: cosmos-sdk 0.46 + cosmos.bank.v1beta1.QuerySupplyOfResponse: + type: object + properties: + amount: + description: amount is the supply of the coin. + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + QuerySupplyOfResponse is the response type for the Query/SupplyOf RPC + method. + cosmos.bank.v1beta1.QueryTotalSupplyResponse: + type: object + properties: + supply: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string + description: |- + Coin defines a token with a denomination and an amount. - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } + NOTE: The amount field is an Int which implements the custom method + signatures required by gogoproto. + title: supply is the supply of the coins + pagination: + description: |- + pagination defines the pagination in the response. - Example 2: Pack and unpack a message in Java. + Since: cosmos-sdk 0.43 + type: object + properties: + next_key: + type: string + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + total: + type: string + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } + was set, its value is undefined otherwise + title: >- + QueryTotalSupplyResponse is the response type for the Query/TotalSupply + RPC - Example 3: Pack and unpack a message in Python. + method + cosmos.bank.v1beta1.SendEnabled: + type: object + properties: + denom: + type: string + enabled: + type: boolean + description: |- + SendEnabled maps coin denom to a send_enabled status (whether a denom is + sendable). + cosmos.base.v1beta1.Coin: + type: object + properties: + denom: + type: string + amount: + type: string + description: |- + Coin defines a token with a denomination and an amount. - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... + NOTE: The amount field is an Int which implements the custom method + signatures required by gogoproto. + cosmos.base.tendermint.v1beta1.ABCIQueryResponse: + type: object + properties: + code: + type: integer + format: int64 + log: + type: string + title: nondeterministic + info: + type: string + title: nondeterministic + index: + type: string + format: int64 + key: + type: string + format: byte + value: + type: string + format: byte + proof_ops: + type: object + properties: + ops: + type: array + items: + type: object + properties: + type: + type: string + key: + type: string + format: byte + data: + type: string + format: byte + description: >- + ProofOp defines an operation used for calculating Merkle root. + The data could - Example 4: Pack and unpack a message in Go + be arbitrary format, providing nessecary data for example + neighbouring node - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } + hash. - The pack methods provided by protobuf library will by - default use - 'type.googleapis.com/full.type.name' as the type URL and the - unpack + Note: This type is a duplicate of the ProofOp proto type defined + in - methods only use the fully qualified type name after the - last '/' + Tendermint. + description: |- + ProofOps is Merkle proof defined by the list of ProofOps. - in the type URL, for example "foo.bar.com/x/y.z" will yield - type + Note: This type is a duplicate of the ProofOps proto type defined in + Tendermint. + height: + type: string + format: int64 + codespace: + type: string + description: |- + ABCIQueryResponse defines the response structure for the ABCIQuery gRPC + query. - name "y.z". + Note: This type is a duplicate of the ResponseQuery proto type defined in + Tendermint. + cosmos.base.tendermint.v1beta1.Block: + type: object + properties: + header: + type: object + properties: + version: + title: basic block info + type: object + properties: + block: + type: string + format: uint64 + app: + type: string + format: uint64 + description: >- + Consensus captures the consensus rules for processing a block in + the blockchain, + including all blockchain data structures and the rules of the + application's + state transition machine. + chain_id: + type: string + height: + type: string + format: int64 + time: + type: string + format: date-time + last_block_id: + type: object + properties: + hash: + type: string + format: byte + part_set_header: + type: object + properties: + total: + type: integer + format: int64 + hash: + type: string + format: byte + title: PartsetHeader + title: BlockID + last_commit_hash: + type: string + format: byte + description: commit from validators from the last block + title: hashes of block data + data_hash: + type: string + format: byte + title: transactions + validators_hash: + type: string + format: byte + description: validators for the current block + title: hashes from the app output from the prev block + next_validators_hash: + type: string + format: byte + title: validators for the next block + consensus_hash: + type: string + format: byte + title: consensus params for current block + app_hash: + type: string + format: byte + title: state after txs from the previous block + last_results_hash: + type: string + format: byte + title: root hash of all results from the txs from the previous block + evidence_hash: + type: string + format: byte + description: evidence included in the block + title: consensus info + proposer_address: + type: string + description: >- + proposer_address is the original block proposer address, formatted + as a Bech32 string. - JSON + In Tendermint, this type is `bytes`, but in the SDK, we convert it + to a Bech32 string - ==== + for better UX. - The JSON representation of an `Any` value uses the regular - representation of the deserialized, embedded message, with - an + original proposer of the block + description: Header defines the structure of a Tendermint block header. + data: + type: object + properties: + txs: + type: array + items: + type: string + format: byte + description: >- + Txs that will be applied by state @ block.Height+1. - additional field `@type` which contains the type URL. - Example: + NOTE: not all txs here are valid. We're just agreeing on the + order first. - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } + This means that block.AppHash does not include these txs. + title: Data contains the set of transactions included in the block + evidence: + type: object + properties: + evidence: + type: array + items: + type: object + properties: + duplicate_vote_evidence: + type: object + properties: + vote_a: + type: object + properties: + type: + type: string + enum: + - SIGNED_MSG_TYPE_UNKNOWN + - SIGNED_MSG_TYPE_PREVOTE + - SIGNED_MSG_TYPE_PRECOMMIT + - SIGNED_MSG_TYPE_PROPOSAL + default: SIGNED_MSG_TYPE_UNKNOWN + description: >- + SignedMsgType is a type of signed message in the + consensus. - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } + - SIGNED_MSG_TYPE_PREVOTE: Votes + - SIGNED_MSG_TYPE_PROPOSAL: Proposals + height: + type: string + format: int64 + round: + type: integer + format: int32 + block_id: + type: object + properties: + hash: + type: string + format: byte + part_set_header: + type: object + properties: + total: + type: integer + format: int64 + hash: + type: string + format: byte + title: PartsetHeader + title: BlockID + description: zero if vote is nil. + timestamp: + type: string + format: date-time + validator_address: + type: string + format: byte + validator_index: + type: integer + format: int32 + signature: + type: string + format: byte + description: >- + Vote represents a prevote, precommit, or commit vote + from validators for - If the embedded message type is well-known and has a custom - JSON + consensus. + vote_b: + type: object + properties: + type: + type: string + enum: + - SIGNED_MSG_TYPE_UNKNOWN + - SIGNED_MSG_TYPE_PREVOTE + - SIGNED_MSG_TYPE_PRECOMMIT + - SIGNED_MSG_TYPE_PROPOSAL + default: SIGNED_MSG_TYPE_UNKNOWN + description: >- + SignedMsgType is a type of signed message in the + consensus. - representation, that representation will be embedded adding - a field + - SIGNED_MSG_TYPE_PREVOTE: Votes + - SIGNED_MSG_TYPE_PROPOSAL: Proposals + height: + type: string + format: int64 + round: + type: integer + format: int32 + block_id: + type: object + properties: + hash: + type: string + format: byte + part_set_header: + type: object + properties: + total: + type: integer + format: int64 + hash: + type: string + format: byte + title: PartsetHeader + title: BlockID + description: zero if vote is nil. + timestamp: + type: string + format: date-time + validator_address: + type: string + format: byte + validator_index: + type: integer + format: int32 + signature: + type: string + format: byte + description: >- + Vote represents a prevote, precommit, or commit vote + from validators for - `value` which holds the custom JSON in addition to the - `@type` + consensus. + total_voting_power: + type: string + format: int64 + validator_power: + type: string + format: int64 + timestamp: + type: string + format: date-time + description: >- + DuplicateVoteEvidence contains evidence of a validator + signed two conflicting votes. + light_client_attack_evidence: + type: object + properties: + conflicting_block: + type: object + properties: + signed_header: + type: object + properties: + header: + type: object + properties: + version: + title: basic block info + type: object + properties: + block: + type: string + format: uint64 + app: + type: string + format: uint64 + description: >- + Consensus captures the consensus rules for + processing a block in the blockchain, - field. Example (for message [google.protobuf.Duration][]): + including all blockchain data structures and + the rules of the application's - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - tags: - - Query - /ibc/core/client/v1/upgraded_consensus_states: - get: - summary: UpgradedConsensusState queries an Upgraded IBC consensus state. - operationId: IbcCoreClientV1UpgradedConsensusState - responses: - '200': - description: A successful response. - schema: + state transition machine. + chain_id: + type: string + height: + type: string + format: int64 + time: + type: string + format: date-time + last_block_id: + type: object + properties: + hash: + type: string + format: byte + part_set_header: + type: object + properties: + total: + type: integer + format: int64 + hash: + type: string + format: byte + title: PartsetHeader + title: BlockID + last_commit_hash: + type: string + format: byte + description: commit from validators from the last block + title: hashes of block data + data_hash: + type: string + format: byte + title: transactions + validators_hash: + type: string + format: byte + description: validators for the current block + title: >- + hashes from the app output from the prev + block + next_validators_hash: + type: string + format: byte + title: validators for the next block + consensus_hash: + type: string + format: byte + title: consensus params for current block + app_hash: + type: string + format: byte + title: state after txs from the previous block + last_results_hash: + type: string + format: byte + title: >- + root hash of all results from the txs from + the previous block + evidence_hash: + type: string + format: byte + description: evidence included in the block + title: consensus info + proposer_address: + type: string + format: byte + title: original proposer of the block + description: Header defines the structure of a block header. + commit: + type: object + properties: + height: + type: string + format: int64 + round: + type: integer + format: int32 + block_id: + type: object + properties: + hash: + type: string + format: byte + part_set_header: + type: object + properties: + total: + type: integer + format: int64 + hash: + type: string + format: byte + title: PartsetHeader + title: BlockID + signatures: + type: array + items: + type: object + properties: + block_id_flag: + type: string + enum: + - BLOCK_ID_FLAG_UNKNOWN + - BLOCK_ID_FLAG_ABSENT + - BLOCK_ID_FLAG_COMMIT + - BLOCK_ID_FLAG_NIL + default: BLOCK_ID_FLAG_UNKNOWN + title: >- + BlockIdFlag indicates which BlcokID the + signature is for + validator_address: + type: string + format: byte + timestamp: + type: string + format: date-time + signature: + type: string + format: byte + description: >- + CommitSig is a part of the Vote included + in a Commit. + description: >- + Commit contains the evidence that a block was + committed by a set of validators. + validator_set: + type: object + properties: + validators: + type: array + items: + type: object + properties: + address: + type: string + format: byte + pub_key: + type: object + properties: + ed25519: + type: string + format: byte + secp256k1: + type: string + format: byte + title: >- + PublicKey defines the keys available for + use with Validators + voting_power: + type: string + format: int64 + proposer_priority: + type: string + format: int64 + proposer: + type: object + properties: + address: + type: string + format: byte + pub_key: + type: object + properties: + ed25519: + type: string + format: byte + secp256k1: + type: string + format: byte + title: >- + PublicKey defines the keys available for use + with Validators + voting_power: + type: string + format: int64 + proposer_priority: + type: string + format: int64 + total_voting_power: + type: string + format: int64 + common_height: + type: string + format: int64 + byzantine_validators: + type: array + items: + type: object + properties: + address: + type: string + format: byte + pub_key: + type: object + properties: + ed25519: + type: string + format: byte + secp256k1: + type: string + format: byte + title: >- + PublicKey defines the keys available for use with + Validators + voting_power: + type: string + format: int64 + proposer_priority: + type: string + format: int64 + total_voting_power: + type: string + format: int64 + timestamp: + type: string + format: date-time + description: >- + LightClientAttackEvidence contains evidence of a set of + validators attempting to mislead a light client. + last_commit: + type: object + properties: + height: + type: string + format: int64 + round: + type: integer + format: int32 + block_id: + type: object + properties: + hash: + type: string + format: byte + part_set_header: + type: object + properties: + total: + type: integer + format: int64 + hash: + type: string + format: byte + title: PartsetHeader + title: BlockID + signatures: + type: array + items: + type: object + properties: + block_id_flag: + type: string + enum: + - BLOCK_ID_FLAG_UNKNOWN + - BLOCK_ID_FLAG_ABSENT + - BLOCK_ID_FLAG_COMMIT + - BLOCK_ID_FLAG_NIL + default: BLOCK_ID_FLAG_UNKNOWN + title: BlockIdFlag indicates which BlcokID the signature is for + validator_address: + type: string + format: byte + timestamp: + type: string + format: date-time + signature: + type: string + format: byte + description: CommitSig is a part of the Vote included in a Commit. + description: >- + Commit contains the evidence that a block was committed by a set of + validators. + description: |- + Block is tendermint type Block, with the Header proposer address + field converted to bech32 string. + cosmos.base.tendermint.v1beta1.GetBlockByHeightResponse: + type: object + properties: + block_id: + type: object + properties: + hash: + type: string + format: byte + part_set_header: type: object properties: - upgraded_consensus_state: + total: + type: integer + format: int64 + hash: + type: string + format: byte + title: PartsetHeader + title: BlockID + block: + title: 'Deprecated: please use `sdk_block` instead' + type: object + properties: + header: + type: object + properties: + version: + title: basic block info type: object properties: - '@type': + block: type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at least - - one "/" character. The last segment of the URL's path must - represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in a - canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary all - types that they - - expect it to use in the context of Any. However, for URLs - which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in the - official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} + format: uint64 + app: + type: string + format: uint64 description: >- - `Any` contains an arbitrary serialized protocol buffer message - along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values in - the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by default - use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the last - '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with an - - additional field `@type` which contains the type URL. Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON + Consensus captures the consensus rules for processing a block + in the blockchain, - representation, that representation will be embedded adding a - field + including all blockchain data structures and the rules of the + application's - `value` which holds the custom JSON in addition to the `@type` + state transition machine. + chain_id: + type: string + height: + type: string + format: int64 + time: + type: string + format: date-time + last_block_id: + type: object + properties: + hash: + type: string + format: byte + part_set_header: + type: object + properties: + total: + type: integer + format: int64 + hash: + type: string + format: byte + title: PartsetHeader + title: BlockID + last_commit_hash: + type: string + format: byte + description: commit from validators from the last block + title: hashes of block data + data_hash: + type: string + format: byte + title: transactions + validators_hash: + type: string + format: byte + description: validators for the current block + title: hashes from the app output from the prev block + next_validators_hash: + type: string + format: byte + title: validators for the next block + consensus_hash: + type: string + format: byte + title: consensus params for current block + app_hash: + type: string + format: byte + title: state after txs from the previous block + last_results_hash: + type: string + format: byte + title: root hash of all results from the txs from the previous block + evidence_hash: + type: string + format: byte + description: evidence included in the block + title: consensus info + proposer_address: + type: string + format: byte + title: original proposer of the block + description: Header defines the structure of a block header. + data: + type: object + properties: + txs: + type: array + items: + type: string + format: byte + description: >- + Txs that will be applied by state @ block.Height+1. - field. Example (for message [google.protobuf.Duration][]): + NOTE: not all txs here are valid. We're just agreeing on the + order first. - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - title: Consensus state associated with the request identifier - description: |- - QueryUpgradedConsensusStateResponse is the response type for the - Query/UpgradedConsensusState RPC method. - default: - description: An unexpected error response. - schema: + This means that block.AppHash does not include these txs. + title: Data contains the set of transactions included in the block + evidence: type: object properties: - code: - type: integer - format: int32 - message: - type: string - details: + evidence: type: array items: type: object properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } + duplicate_vote_evidence: + type: object + properties: + vote_a: + type: object + properties: + type: + type: string + enum: + - SIGNED_MSG_TYPE_UNKNOWN + - SIGNED_MSG_TYPE_PREVOTE + - SIGNED_MSG_TYPE_PRECOMMIT + - SIGNED_MSG_TYPE_PROPOSAL + default: SIGNED_MSG_TYPE_UNKNOWN + description: >- + SignedMsgType is a type of signed message in the + consensus. - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } + - SIGNED_MSG_TYPE_PREVOTE: Votes + - SIGNED_MSG_TYPE_PROPOSAL: Proposals + height: + type: string + format: int64 + round: + type: integer + format: int32 + block_id: + type: object + properties: + hash: + type: string + format: byte + part_set_header: + type: object + properties: + total: + type: integer + format: int64 + hash: + type: string + format: byte + title: PartsetHeader + title: BlockID + description: zero if vote is nil. + timestamp: + type: string + format: date-time + validator_address: + type: string + format: byte + validator_index: + type: integer + format: int32 + signature: + type: string + format: byte + description: >- + Vote represents a prevote, precommit, or commit vote + from validators for - If the embedded message type is well-known and has a custom - JSON + consensus. + vote_b: + type: object + properties: + type: + type: string + enum: + - SIGNED_MSG_TYPE_UNKNOWN + - SIGNED_MSG_TYPE_PREVOTE + - SIGNED_MSG_TYPE_PRECOMMIT + - SIGNED_MSG_TYPE_PROPOSAL + default: SIGNED_MSG_TYPE_UNKNOWN + description: >- + SignedMsgType is a type of signed message in the + consensus. - representation, that representation will be embedded adding - a field + - SIGNED_MSG_TYPE_PREVOTE: Votes + - SIGNED_MSG_TYPE_PROPOSAL: Proposals + height: + type: string + format: int64 + round: + type: integer + format: int32 + block_id: + type: object + properties: + hash: + type: string + format: byte + part_set_header: + type: object + properties: + total: + type: integer + format: int64 + hash: + type: string + format: byte + title: PartsetHeader + title: BlockID + description: zero if vote is nil. + timestamp: + type: string + format: date-time + validator_address: + type: string + format: byte + validator_index: + type: integer + format: int32 + signature: + type: string + format: byte + description: >- + Vote represents a prevote, precommit, or commit vote + from validators for - `value` which holds the custom JSON in addition to the - `@type` + consensus. + total_voting_power: + type: string + format: int64 + validator_power: + type: string + format: int64 + timestamp: + type: string + format: date-time + description: >- + DuplicateVoteEvidence contains evidence of a validator + signed two conflicting votes. + light_client_attack_evidence: + type: object + properties: + conflicting_block: + type: object + properties: + signed_header: + type: object + properties: + header: + type: object + properties: + version: + title: basic block info + type: object + properties: + block: + type: string + format: uint64 + app: + type: string + format: uint64 + description: >- + Consensus captures the consensus rules + for processing a block in the + blockchain, - field. Example (for message [google.protobuf.Duration][]): + including all blockchain data structures + and the rules of the application's - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - tags: - - Query - /ibc/core/connection/v1/client_connections/{client_id}: - get: - summary: |- - ClientConnections queries the connection paths associated with a client - state. - operationId: IbcCoreConnectionV1ClientConnections - responses: - '200': - description: A successful response. - schema: + state transition machine. + chain_id: + type: string + height: + type: string + format: int64 + time: + type: string + format: date-time + last_block_id: + type: object + properties: + hash: + type: string + format: byte + part_set_header: + type: object + properties: + total: + type: integer + format: int64 + hash: + type: string + format: byte + title: PartsetHeader + title: BlockID + last_commit_hash: + type: string + format: byte + description: >- + commit from validators from the last + block + title: hashes of block data + data_hash: + type: string + format: byte + title: transactions + validators_hash: + type: string + format: byte + description: validators for the current block + title: >- + hashes from the app output from the prev + block + next_validators_hash: + type: string + format: byte + title: validators for the next block + consensus_hash: + type: string + format: byte + title: consensus params for current block + app_hash: + type: string + format: byte + title: state after txs from the previous block + last_results_hash: + type: string + format: byte + title: >- + root hash of all results from the txs + from the previous block + evidence_hash: + type: string + format: byte + description: evidence included in the block + title: consensus info + proposer_address: + type: string + format: byte + title: original proposer of the block + description: >- + Header defines the structure of a block + header. + commit: + type: object + properties: + height: + type: string + format: int64 + round: + type: integer + format: int32 + block_id: + type: object + properties: + hash: + type: string + format: byte + part_set_header: + type: object + properties: + total: + type: integer + format: int64 + hash: + type: string + format: byte + title: PartsetHeader + title: BlockID + signatures: + type: array + items: + type: object + properties: + block_id_flag: + type: string + enum: + - BLOCK_ID_FLAG_UNKNOWN + - BLOCK_ID_FLAG_ABSENT + - BLOCK_ID_FLAG_COMMIT + - BLOCK_ID_FLAG_NIL + default: BLOCK_ID_FLAG_UNKNOWN + title: >- + BlockIdFlag indicates which BlcokID the + signature is for + validator_address: + type: string + format: byte + timestamp: + type: string + format: date-time + signature: + type: string + format: byte + description: >- + CommitSig is a part of the Vote included + in a Commit. + description: >- + Commit contains the evidence that a block + was committed by a set of validators. + validator_set: + type: object + properties: + validators: + type: array + items: + type: object + properties: + address: + type: string + format: byte + pub_key: + type: object + properties: + ed25519: + type: string + format: byte + secp256k1: + type: string + format: byte + title: >- + PublicKey defines the keys available for + use with Validators + voting_power: + type: string + format: int64 + proposer_priority: + type: string + format: int64 + proposer: + type: object + properties: + address: + type: string + format: byte + pub_key: + type: object + properties: + ed25519: + type: string + format: byte + secp256k1: + type: string + format: byte + title: >- + PublicKey defines the keys available for + use with Validators + voting_power: + type: string + format: int64 + proposer_priority: + type: string + format: int64 + total_voting_power: + type: string + format: int64 + common_height: + type: string + format: int64 + byzantine_validators: + type: array + items: + type: object + properties: + address: + type: string + format: byte + pub_key: + type: object + properties: + ed25519: + type: string + format: byte + secp256k1: + type: string + format: byte + title: >- + PublicKey defines the keys available for use + with Validators + voting_power: + type: string + format: int64 + proposer_priority: + type: string + format: int64 + total_voting_power: + type: string + format: int64 + timestamp: + type: string + format: date-time + description: >- + LightClientAttackEvidence contains evidence of a set of + validators attempting to mislead a light client. + last_commit: type: object properties: - connection_paths: - type: array - items: - type: string - description: slice of all the connection paths associated with a client. - proof: + height: type: string - format: byte - title: merkle proof of existence - proof_height: - title: height at which the proof was generated + format: int64 + round: + type: integer + format: int32 + block_id: type: object properties: - revision_number: - type: string - format: uint64 - title: the revision that the client is currently on - revision_height: + hash: type: string - format: uint64 - title: the height within the given revision - description: >- - Normally the RevisionHeight is incremented at each height - while keeping - - RevisionNumber the same. However some consensus algorithms may - choose to - - reset the height in certain conditions e.g. hard forks, - state-machine - - breaking changes In these cases, the RevisionNumber is - incremented so that - - height continues to be monitonically increasing even as the - RevisionHeight - - gets reset - title: |- - QueryClientConnectionsResponse is the response type for the - Query/ClientConnections RPC method - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: + format: byte + part_set_header: + type: object + properties: + total: + type: integer + format: int64 + hash: + type: string + format: byte + title: PartsetHeader + title: BlockID + signatures: type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". + items: + type: object + properties: + block_id_flag: + type: string + enum: + - BLOCK_ID_FLAG_UNKNOWN + - BLOCK_ID_FLAG_ABSENT + - BLOCK_ID_FLAG_COMMIT + - BLOCK_ID_FLAG_NIL + default: BLOCK_ID_FLAG_UNKNOWN + title: BlockIdFlag indicates which BlcokID the signature is for + validator_address: + type: string + format: byte + timestamp: + type: string + format: date-time + signature: + type: string + format: byte + description: CommitSig is a part of the Vote included in a Commit. + description: >- + Commit contains the evidence that a block was committed by a set + of validators. + sdk_block: + title: 'Since: cosmos-sdk 0.47' + type: object + properties: + header: + type: object + properties: + version: + title: basic block info + type: object + properties: + block: + type: string + format: uint64 + app: + type: string + format: uint64 + description: >- + Consensus captures the consensus rules for processing a block + in the blockchain, + including all blockchain data structures and the rules of the + application's + state transition machine. + chain_id: + type: string + height: + type: string + format: int64 + time: + type: string + format: date-time + last_block_id: + type: object + properties: + hash: + type: string + format: byte + part_set_header: + type: object + properties: + total: + type: integer + format: int64 + hash: + type: string + format: byte + title: PartsetHeader + title: BlockID + last_commit_hash: + type: string + format: byte + description: commit from validators from the last block + title: hashes of block data + data_hash: + type: string + format: byte + title: transactions + validators_hash: + type: string + format: byte + description: validators for the current block + title: hashes from the app output from the prev block + next_validators_hash: + type: string + format: byte + title: validators for the next block + consensus_hash: + type: string + format: byte + title: consensus params for current block + app_hash: + type: string + format: byte + title: state after txs from the previous block + last_results_hash: + type: string + format: byte + title: root hash of all results from the txs from the previous block + evidence_hash: + type: string + format: byte + description: evidence included in the block + title: consensus info + proposer_address: + type: string + description: >- + proposer_address is the original block proposer address, + formatted as a Bech32 string. - JSON + In Tendermint, this type is `bytes`, but in the SDK, we + convert it to a Bech32 string - ==== + for better UX. - The JSON representation of an `Any` value uses the regular - representation of the deserialized, embedded message, with - an + original proposer of the block + description: Header defines the structure of a Tendermint block header. + data: + type: object + properties: + txs: + type: array + items: + type: string + format: byte + description: >- + Txs that will be applied by state @ block.Height+1. - additional field `@type` which contains the type URL. - Example: + NOTE: not all txs here are valid. We're just agreeing on the + order first. - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } + This means that block.AppHash does not include these txs. + title: Data contains the set of transactions included in the block + evidence: + type: object + properties: + evidence: + type: array + items: + type: object + properties: + duplicate_vote_evidence: + type: object + properties: + vote_a: + type: object + properties: + type: + type: string + enum: + - SIGNED_MSG_TYPE_UNKNOWN + - SIGNED_MSG_TYPE_PREVOTE + - SIGNED_MSG_TYPE_PRECOMMIT + - SIGNED_MSG_TYPE_PROPOSAL + default: SIGNED_MSG_TYPE_UNKNOWN + description: >- + SignedMsgType is a type of signed message in the + consensus. - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } + - SIGNED_MSG_TYPE_PREVOTE: Votes + - SIGNED_MSG_TYPE_PROPOSAL: Proposals + height: + type: string + format: int64 + round: + type: integer + format: int32 + block_id: + type: object + properties: + hash: + type: string + format: byte + part_set_header: + type: object + properties: + total: + type: integer + format: int64 + hash: + type: string + format: byte + title: PartsetHeader + title: BlockID + description: zero if vote is nil. + timestamp: + type: string + format: date-time + validator_address: + type: string + format: byte + validator_index: + type: integer + format: int32 + signature: + type: string + format: byte + description: >- + Vote represents a prevote, precommit, or commit vote + from validators for - If the embedded message type is well-known and has a custom - JSON + consensus. + vote_b: + type: object + properties: + type: + type: string + enum: + - SIGNED_MSG_TYPE_UNKNOWN + - SIGNED_MSG_TYPE_PREVOTE + - SIGNED_MSG_TYPE_PRECOMMIT + - SIGNED_MSG_TYPE_PROPOSAL + default: SIGNED_MSG_TYPE_UNKNOWN + description: >- + SignedMsgType is a type of signed message in the + consensus. - representation, that representation will be embedded adding - a field + - SIGNED_MSG_TYPE_PREVOTE: Votes + - SIGNED_MSG_TYPE_PROPOSAL: Proposals + height: + type: string + format: int64 + round: + type: integer + format: int32 + block_id: + type: object + properties: + hash: + type: string + format: byte + part_set_header: + type: object + properties: + total: + type: integer + format: int64 + hash: + type: string + format: byte + title: PartsetHeader + title: BlockID + description: zero if vote is nil. + timestamp: + type: string + format: date-time + validator_address: + type: string + format: byte + validator_index: + type: integer + format: int32 + signature: + type: string + format: byte + description: >- + Vote represents a prevote, precommit, or commit vote + from validators for - `value` which holds the custom JSON in addition to the - `@type` + consensus. + total_voting_power: + type: string + format: int64 + validator_power: + type: string + format: int64 + timestamp: + type: string + format: date-time + description: >- + DuplicateVoteEvidence contains evidence of a validator + signed two conflicting votes. + light_client_attack_evidence: + type: object + properties: + conflicting_block: + type: object + properties: + signed_header: + type: object + properties: + header: + type: object + properties: + version: + title: basic block info + type: object + properties: + block: + type: string + format: uint64 + app: + type: string + format: uint64 + description: >- + Consensus captures the consensus rules + for processing a block in the + blockchain, - field. Example (for message [google.protobuf.Duration][]): + including all blockchain data structures + and the rules of the application's - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: client_id - description: client identifier associated with a connection - in: path - required: true - type: string - tags: - - Query - /ibc/core/connection/v1/connections: - get: - summary: Connections queries all the IBC connections of a chain. - operationId: IbcCoreConnectionV1Connections - responses: - '200': - description: A successful response. - schema: + state transition machine. + chain_id: + type: string + height: + type: string + format: int64 + time: + type: string + format: date-time + last_block_id: + type: object + properties: + hash: + type: string + format: byte + part_set_header: + type: object + properties: + total: + type: integer + format: int64 + hash: + type: string + format: byte + title: PartsetHeader + title: BlockID + last_commit_hash: + type: string + format: byte + description: >- + commit from validators from the last + block + title: hashes of block data + data_hash: + type: string + format: byte + title: transactions + validators_hash: + type: string + format: byte + description: validators for the current block + title: >- + hashes from the app output from the prev + block + next_validators_hash: + type: string + format: byte + title: validators for the next block + consensus_hash: + type: string + format: byte + title: consensus params for current block + app_hash: + type: string + format: byte + title: state after txs from the previous block + last_results_hash: + type: string + format: byte + title: >- + root hash of all results from the txs + from the previous block + evidence_hash: + type: string + format: byte + description: evidence included in the block + title: consensus info + proposer_address: + type: string + format: byte + title: original proposer of the block + description: >- + Header defines the structure of a block + header. + commit: + type: object + properties: + height: + type: string + format: int64 + round: + type: integer + format: int32 + block_id: + type: object + properties: + hash: + type: string + format: byte + part_set_header: + type: object + properties: + total: + type: integer + format: int64 + hash: + type: string + format: byte + title: PartsetHeader + title: BlockID + signatures: + type: array + items: + type: object + properties: + block_id_flag: + type: string + enum: + - BLOCK_ID_FLAG_UNKNOWN + - BLOCK_ID_FLAG_ABSENT + - BLOCK_ID_FLAG_COMMIT + - BLOCK_ID_FLAG_NIL + default: BLOCK_ID_FLAG_UNKNOWN + title: >- + BlockIdFlag indicates which BlcokID the + signature is for + validator_address: + type: string + format: byte + timestamp: + type: string + format: date-time + signature: + type: string + format: byte + description: >- + CommitSig is a part of the Vote included + in a Commit. + description: >- + Commit contains the evidence that a block + was committed by a set of validators. + validator_set: + type: object + properties: + validators: + type: array + items: + type: object + properties: + address: + type: string + format: byte + pub_key: + type: object + properties: + ed25519: + type: string + format: byte + secp256k1: + type: string + format: byte + title: >- + PublicKey defines the keys available for + use with Validators + voting_power: + type: string + format: int64 + proposer_priority: + type: string + format: int64 + proposer: + type: object + properties: + address: + type: string + format: byte + pub_key: + type: object + properties: + ed25519: + type: string + format: byte + secp256k1: + type: string + format: byte + title: >- + PublicKey defines the keys available for + use with Validators + voting_power: + type: string + format: int64 + proposer_priority: + type: string + format: int64 + total_voting_power: + type: string + format: int64 + common_height: + type: string + format: int64 + byzantine_validators: + type: array + items: + type: object + properties: + address: + type: string + format: byte + pub_key: + type: object + properties: + ed25519: + type: string + format: byte + secp256k1: + type: string + format: byte + title: >- + PublicKey defines the keys available for use + with Validators + voting_power: + type: string + format: int64 + proposer_priority: + type: string + format: int64 + total_voting_power: + type: string + format: int64 + timestamp: + type: string + format: date-time + description: >- + LightClientAttackEvidence contains evidence of a set of + validators attempting to mislead a light client. + last_commit: type: object properties: - connections: + height: + type: string + format: int64 + round: + type: integer + format: int32 + block_id: + type: object + properties: + hash: + type: string + format: byte + part_set_header: + type: object + properties: + total: + type: integer + format: int64 + hash: + type: string + format: byte + title: PartsetHeader + title: BlockID + signatures: type: array items: type: object properties: - id: + block_id_flag: type: string - description: connection identifier. - client_id: + enum: + - BLOCK_ID_FLAG_UNKNOWN + - BLOCK_ID_FLAG_ABSENT + - BLOCK_ID_FLAG_COMMIT + - BLOCK_ID_FLAG_NIL + default: BLOCK_ID_FLAG_UNKNOWN + title: BlockIdFlag indicates which BlcokID the signature is for + validator_address: type: string - description: client associated with this connection. - versions: - type: array - items: - type: object - properties: - identifier: - type: string - title: unique version identifier - features: - type: array - items: - type: string - title: >- - list of features compatible with the specified - identifier - description: >- - Version defines the versioning scheme used to - negotiate the IBC verison in - - the connection handshake. - title: >- - IBC version which can be utilised to determine encodings - or protocols for - - channels or packets utilising this connection - state: - description: current state of the connection end. + format: byte + timestamp: type: string - enum: - - STATE_UNINITIALIZED_UNSPECIFIED - - STATE_INIT - - STATE_TRYOPEN - - STATE_OPEN - default: STATE_UNINITIALIZED_UNSPECIFIED - counterparty: - description: counterparty chain associated with this connection. - type: object - properties: - client_id: - type: string - description: >- - identifies the client on the counterparty chain - associated with a given - - connection. - connection_id: - type: string - description: >- - identifies the connection end on the counterparty - chain associated with a - - given connection. - prefix: - description: commitment merkle prefix of the counterparty chain. - type: object - properties: - key_prefix: - type: string - format: byte - title: >- - MerklePrefix is merkle path prefixed to the key. - - The constructed key from the Path and the key will - be append(Path.KeyPath, - - append(Path.KeyPrefix, key...)) - delay_period: + format: date-time + signature: type: string - format: uint64 - description: delay period associated with this connection. - description: >- - IdentifiedConnection defines a connection with additional - connection + format: byte + description: CommitSig is a part of the Vote included in a Commit. + description: >- + Commit contains the evidence that a block was committed by a set + of validators. + description: |- + Block is tendermint type Block, with the Header proposer address + field converted to bech32 string. + description: >- + GetBlockByHeightResponse is the response type for the + Query/GetBlockByHeight - identifier field. - description: list of stored connections of the chain. - pagination: - title: pagination response + RPC method. + cosmos.base.tendermint.v1beta1.GetLatestBlockResponse: + type: object + properties: + block_id: + type: object + properties: + hash: + type: string + format: byte + part_set_header: + type: object + properties: + total: + type: integer + format: int64 + hash: + type: string + format: byte + title: PartsetHeader + title: BlockID + block: + title: 'Deprecated: please use `sdk_block` instead' + type: object + properties: + header: + type: object + properties: + version: + title: basic block info type: object properties: - next_key: + block: type: string - format: byte - title: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently - total: + format: uint64 + app: type: string format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total - - was set, its value is undefined otherwise description: >- - PageResponse is to be embedded in gRPC response messages where - the + Consensus captures the consensus rules for processing a block + in the blockchain, - corresponding request message has used PageRequest. + including all blockchain data structures and the rules of the + application's - message SomeResponse { - repeated Bar results = 1; - PageResponse page = 2; - } + state transition machine. + chain_id: + type: string height: - title: query block height + type: string + format: int64 + time: + type: string + format: date-time + last_block_id: type: object properties: - revision_number: - type: string - format: uint64 - title: the revision that the client is currently on - revision_height: + hash: type: string - format: uint64 - title: the height within the given revision + format: byte + part_set_header: + type: object + properties: + total: + type: integer + format: int64 + hash: + type: string + format: byte + title: PartsetHeader + title: BlockID + last_commit_hash: + type: string + format: byte + description: commit from validators from the last block + title: hashes of block data + data_hash: + type: string + format: byte + title: transactions + validators_hash: + type: string + format: byte + description: validators for the current block + title: hashes from the app output from the prev block + next_validators_hash: + type: string + format: byte + title: validators for the next block + consensus_hash: + type: string + format: byte + title: consensus params for current block + app_hash: + type: string + format: byte + title: state after txs from the previous block + last_results_hash: + type: string + format: byte + title: root hash of all results from the txs from the previous block + evidence_hash: + type: string + format: byte + description: evidence included in the block + title: consensus info + proposer_address: + type: string + format: byte + title: original proposer of the block + description: Header defines the structure of a block header. + data: + type: object + properties: + txs: + type: array + items: + type: string + format: byte description: >- - Normally the RevisionHeight is incremented at each height - while keeping - - RevisionNumber the same. However some consensus algorithms may - choose to - - reset the height in certain conditions e.g. hard forks, - state-machine - - breaking changes In these cases, the RevisionNumber is - incremented so that - - height continues to be monitonically increasing even as the - RevisionHeight + Txs that will be applied by state @ block.Height+1. - gets reset - description: >- - QueryConnectionsResponse is the response type for the - Query/Connections RPC + NOTE: not all txs here are valid. We're just agreeing on the + order first. - method. - default: - description: An unexpected error response. - schema: + This means that block.AppHash does not include these txs. + title: Data contains the set of transactions included in the block + evidence: type: object properties: - code: - type: integer - format: int32 - message: - type: string - details: + evidence: type: array items: type: object properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: pagination.key - description: |- - key is a value returned in PageResponse.next_key to begin - querying the next page most efficiently. Only one of offset or key - should be set. - in: query - required: false - type: string - format: byte - - name: pagination.offset - description: >- - offset is a numeric offset that can be used when key is unavailable. - - It is less efficient than using key. Only one of offset or key - should - - be set. - in: query - required: false - type: string - format: uint64 - - name: pagination.limit - description: >- - limit is the total number of results to be returned in the result - page. + duplicate_vote_evidence: + type: object + properties: + vote_a: + type: object + properties: + type: + type: string + enum: + - SIGNED_MSG_TYPE_UNKNOWN + - SIGNED_MSG_TYPE_PREVOTE + - SIGNED_MSG_TYPE_PRECOMMIT + - SIGNED_MSG_TYPE_PROPOSAL + default: SIGNED_MSG_TYPE_UNKNOWN + description: >- + SignedMsgType is a type of signed message in the + consensus. - If left empty it will default to a value to be set by each app. - in: query - required: false - type: string - format: uint64 - - name: pagination.count_total - description: >- - count_total is set to true to indicate that the result set should - include + - SIGNED_MSG_TYPE_PREVOTE: Votes + - SIGNED_MSG_TYPE_PROPOSAL: Proposals + height: + type: string + format: int64 + round: + type: integer + format: int32 + block_id: + type: object + properties: + hash: + type: string + format: byte + part_set_header: + type: object + properties: + total: + type: integer + format: int64 + hash: + type: string + format: byte + title: PartsetHeader + title: BlockID + description: zero if vote is nil. + timestamp: + type: string + format: date-time + validator_address: + type: string + format: byte + validator_index: + type: integer + format: int32 + signature: + type: string + format: byte + description: >- + Vote represents a prevote, precommit, or commit vote + from validators for - a count of the total number of items available for pagination in - UIs. + consensus. + vote_b: + type: object + properties: + type: + type: string + enum: + - SIGNED_MSG_TYPE_UNKNOWN + - SIGNED_MSG_TYPE_PREVOTE + - SIGNED_MSG_TYPE_PRECOMMIT + - SIGNED_MSG_TYPE_PROPOSAL + default: SIGNED_MSG_TYPE_UNKNOWN + description: >- + SignedMsgType is a type of signed message in the + consensus. - count_total is only respected when offset is used. It is ignored - when key + - SIGNED_MSG_TYPE_PREVOTE: Votes + - SIGNED_MSG_TYPE_PROPOSAL: Proposals + height: + type: string + format: int64 + round: + type: integer + format: int32 + block_id: + type: object + properties: + hash: + type: string + format: byte + part_set_header: + type: object + properties: + total: + type: integer + format: int64 + hash: + type: string + format: byte + title: PartsetHeader + title: BlockID + description: zero if vote is nil. + timestamp: + type: string + format: date-time + validator_address: + type: string + format: byte + validator_index: + type: integer + format: int32 + signature: + type: string + format: byte + description: >- + Vote represents a prevote, precommit, or commit vote + from validators for - is set. - in: query - required: false - type: boolean - tags: - - Query - /ibc/core/connection/v1/connections/{connection_id}: - get: - summary: Connection queries an IBC connection end. - operationId: IbcCoreConnectionV1Connection - responses: - '200': - description: A successful response. - schema: - type: object - properties: - connection: - title: connection associated with the request identifier - type: object - properties: - client_id: - type: string - description: client associated with this connection. - versions: - type: array - items: + consensus. + total_voting_power: + type: string + format: int64 + validator_power: + type: string + format: int64 + timestamp: + type: string + format: date-time + description: >- + DuplicateVoteEvidence contains evidence of a validator + signed two conflicting votes. + light_client_attack_evidence: type: object properties: - identifier: + conflicting_block: + type: object + properties: + signed_header: + type: object + properties: + header: + type: object + properties: + version: + title: basic block info + type: object + properties: + block: + type: string + format: uint64 + app: + type: string + format: uint64 + description: >- + Consensus captures the consensus rules + for processing a block in the + blockchain, + + including all blockchain data structures + and the rules of the application's + + state transition machine. + chain_id: + type: string + height: + type: string + format: int64 + time: + type: string + format: date-time + last_block_id: + type: object + properties: + hash: + type: string + format: byte + part_set_header: + type: object + properties: + total: + type: integer + format: int64 + hash: + type: string + format: byte + title: PartsetHeader + title: BlockID + last_commit_hash: + type: string + format: byte + description: >- + commit from validators from the last + block + title: hashes of block data + data_hash: + type: string + format: byte + title: transactions + validators_hash: + type: string + format: byte + description: validators for the current block + title: >- + hashes from the app output from the prev + block + next_validators_hash: + type: string + format: byte + title: validators for the next block + consensus_hash: + type: string + format: byte + title: consensus params for current block + app_hash: + type: string + format: byte + title: state after txs from the previous block + last_results_hash: + type: string + format: byte + title: >- + root hash of all results from the txs + from the previous block + evidence_hash: + type: string + format: byte + description: evidence included in the block + title: consensus info + proposer_address: + type: string + format: byte + title: original proposer of the block + description: >- + Header defines the structure of a block + header. + commit: + type: object + properties: + height: + type: string + format: int64 + round: + type: integer + format: int32 + block_id: + type: object + properties: + hash: + type: string + format: byte + part_set_header: + type: object + properties: + total: + type: integer + format: int64 + hash: + type: string + format: byte + title: PartsetHeader + title: BlockID + signatures: + type: array + items: + type: object + properties: + block_id_flag: + type: string + enum: + - BLOCK_ID_FLAG_UNKNOWN + - BLOCK_ID_FLAG_ABSENT + - BLOCK_ID_FLAG_COMMIT + - BLOCK_ID_FLAG_NIL + default: BLOCK_ID_FLAG_UNKNOWN + title: >- + BlockIdFlag indicates which BlcokID the + signature is for + validator_address: + type: string + format: byte + timestamp: + type: string + format: date-time + signature: + type: string + format: byte + description: >- + CommitSig is a part of the Vote included + in a Commit. + description: >- + Commit contains the evidence that a block + was committed by a set of validators. + validator_set: + type: object + properties: + validators: + type: array + items: + type: object + properties: + address: + type: string + format: byte + pub_key: + type: object + properties: + ed25519: + type: string + format: byte + secp256k1: + type: string + format: byte + title: >- + PublicKey defines the keys available for + use with Validators + voting_power: + type: string + format: int64 + proposer_priority: + type: string + format: int64 + proposer: + type: object + properties: + address: + type: string + format: byte + pub_key: + type: object + properties: + ed25519: + type: string + format: byte + secp256k1: + type: string + format: byte + title: >- + PublicKey defines the keys available for + use with Validators + voting_power: + type: string + format: int64 + proposer_priority: + type: string + format: int64 + total_voting_power: + type: string + format: int64 + common_height: type: string - title: unique version identifier - features: + format: int64 + byzantine_validators: type: array items: - type: string - title: >- - list of features compatible with the specified - identifier + type: object + properties: + address: + type: string + format: byte + pub_key: + type: object + properties: + ed25519: + type: string + format: byte + secp256k1: + type: string + format: byte + title: >- + PublicKey defines the keys available for use + with Validators + voting_power: + type: string + format: int64 + proposer_priority: + type: string + format: int64 + total_voting_power: + type: string + format: int64 + timestamp: + type: string + format: date-time description: >- - Version defines the versioning scheme used to negotiate - the IBC verison in - - the connection handshake. - description: >- - IBC version which can be utilised to determine encodings - or protocols for - - channels or packets utilising this connection. - state: - description: current state of the connection end. + LightClientAttackEvidence contains evidence of a set of + validators attempting to mislead a light client. + last_commit: + type: object + properties: + height: + type: string + format: int64 + round: + type: integer + format: int32 + block_id: + type: object + properties: + hash: type: string - enum: - - STATE_UNINITIALIZED_UNSPECIFIED - - STATE_INIT - - STATE_TRYOPEN - - STATE_OPEN - default: STATE_UNINITIALIZED_UNSPECIFIED - counterparty: - description: counterparty chain associated with this connection. + format: byte + part_set_header: type: object properties: - client_id: - type: string - description: >- - identifies the client on the counterparty chain - associated with a given - - connection. - connection_id: + total: + type: integer + format: int64 + hash: type: string - description: >- - identifies the connection end on the counterparty - chain associated with a - - given connection. - prefix: - description: commitment merkle prefix of the counterparty chain. - type: object - properties: - key_prefix: - type: string - format: byte - title: >- - MerklePrefix is merkle path prefixed to the key. - - The constructed key from the Path and the key will be - append(Path.KeyPath, - - append(Path.KeyPrefix, key...)) - delay_period: - type: string - format: uint64 - description: >- - delay period that must pass before a consensus state can - be used for - - packet-verification NOTE: delay period logic is only - implemented by some - - clients. - description: >- - ConnectionEnd defines a stateful object on a chain connected - to another - - separate one. - - NOTE: there must only be 2 defined ConnectionEnds to establish - - a connection between two chains. - proof: - type: string - format: byte - title: merkle proof of existence - proof_height: - title: height at which the proof was retrieved + format: byte + title: PartsetHeader + title: BlockID + signatures: + type: array + items: + type: object + properties: + block_id_flag: + type: string + enum: + - BLOCK_ID_FLAG_UNKNOWN + - BLOCK_ID_FLAG_ABSENT + - BLOCK_ID_FLAG_COMMIT + - BLOCK_ID_FLAG_NIL + default: BLOCK_ID_FLAG_UNKNOWN + title: BlockIdFlag indicates which BlcokID the signature is for + validator_address: + type: string + format: byte + timestamp: + type: string + format: date-time + signature: + type: string + format: byte + description: CommitSig is a part of the Vote included in a Commit. + description: >- + Commit contains the evidence that a block was committed by a set + of validators. + sdk_block: + title: 'Since: cosmos-sdk 0.47' + type: object + properties: + header: + type: object + properties: + version: + title: basic block info type: object properties: - revision_number: + block: type: string format: uint64 - title: the revision that the client is currently on - revision_height: + app: type: string format: uint64 - title: the height within the given revision description: >- - Normally the RevisionHeight is incremented at each height - while keeping + Consensus captures the consensus rules for processing a block + in the blockchain, - RevisionNumber the same. However some consensus algorithms may - choose to + including all blockchain data structures and the rules of the + application's - reset the height in certain conditions e.g. hard forks, - state-machine + state transition machine. + chain_id: + type: string + height: + type: string + format: int64 + time: + type: string + format: date-time + last_block_id: + type: object + properties: + hash: + type: string + format: byte + part_set_header: + type: object + properties: + total: + type: integer + format: int64 + hash: + type: string + format: byte + title: PartsetHeader + title: BlockID + last_commit_hash: + type: string + format: byte + description: commit from validators from the last block + title: hashes of block data + data_hash: + type: string + format: byte + title: transactions + validators_hash: + type: string + format: byte + description: validators for the current block + title: hashes from the app output from the prev block + next_validators_hash: + type: string + format: byte + title: validators for the next block + consensus_hash: + type: string + format: byte + title: consensus params for current block + app_hash: + type: string + format: byte + title: state after txs from the previous block + last_results_hash: + type: string + format: byte + title: root hash of all results from the txs from the previous block + evidence_hash: + type: string + format: byte + description: evidence included in the block + title: consensus info + proposer_address: + type: string + description: >- + proposer_address is the original block proposer address, + formatted as a Bech32 string. - breaking changes In these cases, the RevisionNumber is - incremented so that + In Tendermint, this type is `bytes`, but in the SDK, we + convert it to a Bech32 string - height continues to be monitonically increasing even as the - RevisionHeight + for better UX. - gets reset - description: >- - QueryConnectionResponse is the response type for the - Query/Connection RPC - method. Besides the connection end, it includes a proof and the - height from + original proposer of the block + description: Header defines the structure of a Tendermint block header. + data: + type: object + properties: + txs: + type: array + items: + type: string + format: byte + description: >- + Txs that will be applied by state @ block.Height+1. - which the proof was retrieved. - default: - description: An unexpected error response. - schema: + NOTE: not all txs here are valid. We're just agreeing on the + order first. + + This means that block.AppHash does not include these txs. + title: Data contains the set of transactions included in the block + evidence: type: object properties: - code: - type: integer - format: int32 - message: - type: string - details: + evidence: type: array items: type: object properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } + duplicate_vote_evidence: + type: object + properties: + vote_a: + type: object + properties: + type: + type: string + enum: + - SIGNED_MSG_TYPE_UNKNOWN + - SIGNED_MSG_TYPE_PREVOTE + - SIGNED_MSG_TYPE_PRECOMMIT + - SIGNED_MSG_TYPE_PROPOSAL + default: SIGNED_MSG_TYPE_UNKNOWN + description: >- + SignedMsgType is a type of signed message in the + consensus. - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } + - SIGNED_MSG_TYPE_PREVOTE: Votes + - SIGNED_MSG_TYPE_PROPOSAL: Proposals + height: + type: string + format: int64 + round: + type: integer + format: int32 + block_id: + type: object + properties: + hash: + type: string + format: byte + part_set_header: + type: object + properties: + total: + type: integer + format: int64 + hash: + type: string + format: byte + title: PartsetHeader + title: BlockID + description: zero if vote is nil. + timestamp: + type: string + format: date-time + validator_address: + type: string + format: byte + validator_index: + type: integer + format: int32 + signature: + type: string + format: byte + description: >- + Vote represents a prevote, precommit, or commit vote + from validators for - If the embedded message type is well-known and has a custom - JSON + consensus. + vote_b: + type: object + properties: + type: + type: string + enum: + - SIGNED_MSG_TYPE_UNKNOWN + - SIGNED_MSG_TYPE_PREVOTE + - SIGNED_MSG_TYPE_PRECOMMIT + - SIGNED_MSG_TYPE_PROPOSAL + default: SIGNED_MSG_TYPE_UNKNOWN + description: >- + SignedMsgType is a type of signed message in the + consensus. - representation, that representation will be embedded adding - a field + - SIGNED_MSG_TYPE_PREVOTE: Votes + - SIGNED_MSG_TYPE_PROPOSAL: Proposals + height: + type: string + format: int64 + round: + type: integer + format: int32 + block_id: + type: object + properties: + hash: + type: string + format: byte + part_set_header: + type: object + properties: + total: + type: integer + format: int64 + hash: + type: string + format: byte + title: PartsetHeader + title: BlockID + description: zero if vote is nil. + timestamp: + type: string + format: date-time + validator_address: + type: string + format: byte + validator_index: + type: integer + format: int32 + signature: + type: string + format: byte + description: >- + Vote represents a prevote, precommit, or commit vote + from validators for - `value` which holds the custom JSON in addition to the - `@type` + consensus. + total_voting_power: + type: string + format: int64 + validator_power: + type: string + format: int64 + timestamp: + type: string + format: date-time + description: >- + DuplicateVoteEvidence contains evidence of a validator + signed two conflicting votes. + light_client_attack_evidence: + type: object + properties: + conflicting_block: + type: object + properties: + signed_header: + type: object + properties: + header: + type: object + properties: + version: + title: basic block info + type: object + properties: + block: + type: string + format: uint64 + app: + type: string + format: uint64 + description: >- + Consensus captures the consensus rules + for processing a block in the + blockchain, - field. Example (for message [google.protobuf.Duration][]): + including all blockchain data structures + and the rules of the application's - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: connection_id - description: connection unique identifier - in: path - required: true - type: string - tags: - - Query - /ibc/core/connection/v1/connections/{connection_id}/client_state: - get: - summary: |- - ConnectionClientState queries the client state associated with the - connection. - operationId: IbcCoreConnectionV1ConnectionClientState - responses: - '200': - description: A successful response. - schema: + state transition machine. + chain_id: + type: string + height: + type: string + format: int64 + time: + type: string + format: date-time + last_block_id: + type: object + properties: + hash: + type: string + format: byte + part_set_header: + type: object + properties: + total: + type: integer + format: int64 + hash: + type: string + format: byte + title: PartsetHeader + title: BlockID + last_commit_hash: + type: string + format: byte + description: >- + commit from validators from the last + block + title: hashes of block data + data_hash: + type: string + format: byte + title: transactions + validators_hash: + type: string + format: byte + description: validators for the current block + title: >- + hashes from the app output from the prev + block + next_validators_hash: + type: string + format: byte + title: validators for the next block + consensus_hash: + type: string + format: byte + title: consensus params for current block + app_hash: + type: string + format: byte + title: state after txs from the previous block + last_results_hash: + type: string + format: byte + title: >- + root hash of all results from the txs + from the previous block + evidence_hash: + type: string + format: byte + description: evidence included in the block + title: consensus info + proposer_address: + type: string + format: byte + title: original proposer of the block + description: >- + Header defines the structure of a block + header. + commit: + type: object + properties: + height: + type: string + format: int64 + round: + type: integer + format: int32 + block_id: + type: object + properties: + hash: + type: string + format: byte + part_set_header: + type: object + properties: + total: + type: integer + format: int64 + hash: + type: string + format: byte + title: PartsetHeader + title: BlockID + signatures: + type: array + items: + type: object + properties: + block_id_flag: + type: string + enum: + - BLOCK_ID_FLAG_UNKNOWN + - BLOCK_ID_FLAG_ABSENT + - BLOCK_ID_FLAG_COMMIT + - BLOCK_ID_FLAG_NIL + default: BLOCK_ID_FLAG_UNKNOWN + title: >- + BlockIdFlag indicates which BlcokID the + signature is for + validator_address: + type: string + format: byte + timestamp: + type: string + format: date-time + signature: + type: string + format: byte + description: >- + CommitSig is a part of the Vote included + in a Commit. + description: >- + Commit contains the evidence that a block + was committed by a set of validators. + validator_set: + type: object + properties: + validators: + type: array + items: + type: object + properties: + address: + type: string + format: byte + pub_key: + type: object + properties: + ed25519: + type: string + format: byte + secp256k1: + type: string + format: byte + title: >- + PublicKey defines the keys available for + use with Validators + voting_power: + type: string + format: int64 + proposer_priority: + type: string + format: int64 + proposer: + type: object + properties: + address: + type: string + format: byte + pub_key: + type: object + properties: + ed25519: + type: string + format: byte + secp256k1: + type: string + format: byte + title: >- + PublicKey defines the keys available for + use with Validators + voting_power: + type: string + format: int64 + proposer_priority: + type: string + format: int64 + total_voting_power: + type: string + format: int64 + common_height: + type: string + format: int64 + byzantine_validators: + type: array + items: + type: object + properties: + address: + type: string + format: byte + pub_key: + type: object + properties: + ed25519: + type: string + format: byte + secp256k1: + type: string + format: byte + title: >- + PublicKey defines the keys available for use + with Validators + voting_power: + type: string + format: int64 + proposer_priority: + type: string + format: int64 + total_voting_power: + type: string + format: int64 + timestamp: + type: string + format: date-time + description: >- + LightClientAttackEvidence contains evidence of a set of + validators attempting to mislead a light client. + last_commit: type: object properties: - identified_client_state: - title: client state associated with the channel + height: + type: string + format: int64 + round: + type: integer + format: int32 + block_id: type: object properties: - client_id: + hash: type: string - title: client identifier - client_state: + format: byte + part_set_header: type: object properties: - '@type': + total: + type: integer + format: int64 + hash: type: string - description: >- - A URL/resource name that uniquely identifies the type - of the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be - in a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can - optionally set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results - based on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. - - - Schemes other than `http`, `https` (or the empty - scheme) might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any - values in the form - - of utility functions or additional generated methods of - the Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and - the unpack + format: byte + title: PartsetHeader + title: BlockID + signatures: + type: array + items: + type: object + properties: + block_id_flag: + type: string + enum: + - BLOCK_ID_FLAG_UNKNOWN + - BLOCK_ID_FLAG_ABSENT + - BLOCK_ID_FLAG_COMMIT + - BLOCK_ID_FLAG_NIL + default: BLOCK_ID_FLAG_UNKNOWN + title: BlockIdFlag indicates which BlcokID the signature is for + validator_address: + type: string + format: byte + timestamp: + type: string + format: date-time + signature: + type: string + format: byte + description: CommitSig is a part of the Vote included in a Commit. + description: >- + Commit contains the evidence that a block was committed by a set + of validators. + description: |- + Block is tendermint type Block, with the Header proposer address + field converted to bech32 string. + description: >- + GetLatestBlockResponse is the response type for the Query/GetLatestBlock + RPC - methods only use the fully qualified type name after the - last '/' + method. + cosmos.base.tendermint.v1beta1.GetLatestValidatorSetResponse: + type: object + properties: + block_height: + type: string + format: int64 + validators: + type: array + items: + type: object + properties: + address: + type: string + pub_key: + type: object + properties: + '@type': + type: string + description: >- + A URL/resource name that uniquely identifies the type of the + serialized - in the type URL, for example "foo.bar.com/x/y.z" will - yield type + protocol buffer message. This string must contain at least - name "y.z". + one "/" character. The last segment of the URL's path must + represent + the fully qualified name of the type (as in + `path/google.protobuf.Duration`). The name should be in a + canonical form - JSON + (e.g., leading "." is not accepted). - ==== - The JSON representation of an `Any` value uses the regular + In practice, teams usually precompile into the binary all + types that they - representation of the deserialized, embedded message, with - an + expect it to use in the context of Any. However, for URLs + which use the - additional field `@type` which contains the type URL. - Example: + scheme `http`, `https`, or no scheme, one can optionally set + up a type - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } + server that maps type URLs to message definitions as + follows: - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - If the embedded message type is well-known and has a - custom JSON + * If no scheme is provided, `https` is assumed. - representation, that representation will be embedded - adding a field + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based on + the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) - `value` which holds the custom JSON in addition to the - `@type` + Note: this functionality is not currently available in the + official - field. Example (for message [google.protobuf.Duration][]): + protobuf release, and it is not used for type URLs beginning + with - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - title: client state - description: >- - IdentifiedClientState defines a client state with an - additional client + type.googleapis.com. - identifier field. - proof: - type: string - format: byte - title: merkle proof of existence - proof_height: - title: height at which the proof was retrieved - type: object - properties: - revision_number: - type: string - format: uint64 - title: the revision that the client is currently on - revision_height: - type: string - format: uint64 - title: the height within the given revision - description: >- - Normally the RevisionHeight is incremented at each height - while keeping - RevisionNumber the same. However some consensus algorithms may - choose to + Schemes other than `http`, `https` (or the empty scheme) + might be - reset the height in certain conditions e.g. hard forks, - state-machine + used with implementation specific semantics. + additionalProperties: {} + description: >- + `Any` contains an arbitrary serialized protocol buffer message + along with a - breaking changes In these cases, the RevisionNumber is - incremented so that + URL that describes the type of the serialized message. - height continues to be monitonically increasing even as the - RevisionHeight - gets reset - title: |- - QueryConnectionClientStateResponse is the response type for the - Query/ConnectionClientState RPC method - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized + Protobuf library provides support to pack/unpack Any values in + the form - protocol buffer message. This string must contain at - least + of utility functions or additional generated methods of the Any + type. - one "/" character. The last segment of the URL's path - must represent - the fully qualified name of the type (as in + Example 1: Pack and unpack a message in C++. - `path/google.protobuf.Duration`). The name should be in - a canonical form + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } - (e.g., leading "." is not accepted). + Example 2: Pack and unpack a message in Java. + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } - In practice, teams usually precompile into the binary - all types that they + Example 3: Pack and unpack a message in Python. - expect it to use in the context of Any. However, for - URLs which use the + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... - scheme `http`, `https`, or no scheme, one can optionally - set up a type + Example 4: Pack and unpack a message in Go - server that maps type URLs to message definitions as - follows: + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } + The pack methods provided by protobuf library will by default + use - * If no scheme is provided, `https` is assumed. + 'type.googleapis.com/full.type.name' as the type URL and the + unpack - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) + methods only use the fully qualified type name after the last + '/' - Note: this functionality is not currently available in - the official + in the type URL, for example "foo.bar.com/x/y.z" will yield type - protobuf release, and it is not used for type URLs - beginning with + name "y.z". - type.googleapis.com. - Schemes other than `http`, `https` (or the empty scheme) - might be + JSON - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a + ==== - URL that describes the type of the serialized message. + The JSON representation of an `Any` value uses the regular + representation of the deserialized, embedded message, with an - Protobuf library provides support to pack/unpack Any values - in the form + additional field `@type` which contains the type URL. Example: - of utility functions or additional generated methods of the - Any type. + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } - Example 1: Pack and unpack a message in C++. + If the embedded message type is well-known and has a custom JSON - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } + representation, that representation will be embedded adding a + field - Example 2: Pack and unpack a message in Java. + `value` which holds the custom JSON in addition to the `@type` - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } + field. Example (for message [google.protobuf.Duration][]): - Example 3: Pack and unpack a message in Python. + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + voting_power: + type: string + format: int64 + proposer_priority: + type: string + format: int64 + description: Validator is the type for the validator-set. + pagination: + description: pagination defines an pagination for the response. + type: object + properties: + next_key: + type: string + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + total: + type: string + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... + was set, its value is undefined otherwise + description: |- + GetLatestValidatorSetResponse is the response type for the + Query/GetValidatorSetByHeight RPC method. + cosmos.base.tendermint.v1beta1.GetNodeInfoResponse: + type: object + properties: + default_node_info: + type: object + properties: + protocol_version: + type: object + properties: + p2p: + type: string + format: uint64 + block: + type: string + format: uint64 + app: + type: string + format: uint64 + default_node_id: + type: string + listen_addr: + type: string + network: + type: string + version: + type: string + channels: + type: string + format: byte + moniker: + type: string + other: + type: object + properties: + tx_index: + type: string + rpc_address: + type: string + application_version: + type: object + properties: + name: + type: string + app_name: + type: string + version: + type: string + git_commit: + type: string + build_tags: + type: string + go_version: + type: string + build_deps: + type: array + items: + type: object + properties: + path: + type: string + title: module path + version: + type: string + title: module version + sum: + type: string + title: checksum + title: Module is the type for VersionInfo + cosmos_sdk_version: + type: string + title: 'Since: cosmos-sdk 0.43' + description: VersionInfo is the type for the GetNodeInfoResponse message. + description: |- + GetNodeInfoResponse is the response type for the Query/GetNodeInfo RPC + method. + cosmos.base.tendermint.v1beta1.GetSyncingResponse: + type: object + properties: + syncing: + type: boolean + description: >- + GetSyncingResponse is the response type for the Query/GetSyncing RPC + method. + cosmos.base.tendermint.v1beta1.GetValidatorSetByHeightResponse: + type: object + properties: + block_height: + type: string + format: int64 + validators: + type: array + items: + type: object + properties: + address: + type: string + pub_key: + type: object + properties: + '@type': + type: string + description: >- + A URL/resource name that uniquely identifies the type of the + serialized - Example 4: Pack and unpack a message in Go + protocol buffer message. This string must contain at least - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } + one "/" character. The last segment of the URL's path must + represent - The pack methods provided by protobuf library will by - default use + the fully qualified name of the type (as in - 'type.googleapis.com/full.type.name' as the type URL and the - unpack + `path/google.protobuf.Duration`). The name should be in a + canonical form - methods only use the fully qualified type name after the - last '/' + (e.g., leading "." is not accepted). - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - name "y.z". + In practice, teams usually precompile into the binary all + types that they + expect it to use in the context of Any. However, for URLs + which use the + + scheme `http`, `https`, or no scheme, one can optionally set + up a type + server that maps type URLs to message definitions as + follows: - JSON - ==== + * If no scheme is provided, `https` is assumed. - The JSON representation of an `Any` value uses the regular + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based on + the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) - representation of the deserialized, embedded message, with - an + Note: this functionality is not currently available in the + official - additional field `@type` which contains the type URL. - Example: + protobuf release, and it is not used for type URLs beginning + with - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } + type.googleapis.com. - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - If the embedded message type is well-known and has a custom - JSON + Schemes other than `http`, `https` (or the empty scheme) + might be - representation, that representation will be embedded adding - a field + used with implementation specific semantics. + additionalProperties: {} + description: >- + `Any` contains an arbitrary serialized protocol buffer message + along with a - `value` which holds the custom JSON in addition to the - `@type` + URL that describes the type of the serialized message. - field. Example (for message [google.protobuf.Duration][]): - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: connection_id - description: connection identifier - in: path - required: true - type: string - tags: - - Query - /ibc/core/connection/v1/connections/{connection_id}/consensus_state/revision/{revision_number}/height/{revision_height}: - get: - summary: |- - ConnectionConsensusState queries the consensus state associated with the - connection. - operationId: IbcCoreConnectionV1ConnectionConsensusState - responses: - '200': - description: A successful response. - schema: - type: object - properties: - consensus_state: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized + Protobuf library provides support to pack/unpack Any values in + the form - protocol buffer message. This string must contain at least + of utility functions or additional generated methods of the Any + type. - one "/" character. The last segment of the URL's path must - represent - the fully qualified name of the type (as in + Example 1: Pack and unpack a message in C++. - `path/google.protobuf.Duration`). The name should be in a - canonical form + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } - (e.g., leading "." is not accepted). + Example 2: Pack and unpack a message in Java. + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } - In practice, teams usually precompile into the binary all - types that they + Example 3: Pack and unpack a message in Python. - expect it to use in the context of Any. However, for URLs - which use the + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... - scheme `http`, `https`, or no scheme, one can optionally - set up a type + Example 4: Pack and unpack a message in Go - server that maps type URLs to message definitions as - follows: + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } + The pack methods provided by protobuf library will by default + use - * If no scheme is provided, `https` is assumed. + 'type.googleapis.com/full.type.name' as the type URL and the + unpack - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) + methods only use the fully qualified type name after the last + '/' - Note: this functionality is not currently available in the - official + in the type URL, for example "foo.bar.com/x/y.z" will yield type - protobuf release, and it is not used for type URLs - beginning with + name "y.z". - type.googleapis.com. - Schemes other than `http`, `https` (or the empty scheme) - might be + JSON - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer message - along with a + ==== - URL that describes the type of the serialized message. + The JSON representation of an `Any` value uses the regular + representation of the deserialized, embedded message, with an - Protobuf library provides support to pack/unpack Any values in - the form + additional field `@type` which contains the type URL. Example: - of utility functions or additional generated methods of the - Any type. + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } - Example 1: Pack and unpack a message in C++. + If the embedded message type is well-known and has a custom JSON - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } + representation, that representation will be embedded adding a + field - Example 2: Pack and unpack a message in Java. + `value` which holds the custom JSON in addition to the `@type` - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } + field. Example (for message [google.protobuf.Duration][]): - Example 3: Pack and unpack a message in Python. + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + voting_power: + type: string + format: int64 + proposer_priority: + type: string + format: int64 + description: Validator is the type for the validator-set. + pagination: + description: pagination defines an pagination for the response. + type: object + properties: + next_key: + type: string + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + total: + type: string + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... + was set, its value is undefined otherwise + description: |- + GetValidatorSetByHeightResponse is the response type for the + Query/GetValidatorSetByHeight RPC method. + cosmos.base.tendermint.v1beta1.Header: + type: object + properties: + version: + title: basic block info + type: object + properties: + block: + type: string + format: uint64 + app: + type: string + format: uint64 + description: >- + Consensus captures the consensus rules for processing a block in the + blockchain, - Example 4: Pack and unpack a message in Go + including all blockchain data structures and the rules of the + application's - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } + state transition machine. + chain_id: + type: string + height: + type: string + format: int64 + time: + type: string + format: date-time + last_block_id: + type: object + properties: + hash: + type: string + format: byte + part_set_header: + type: object + properties: + total: + type: integer + format: int64 + hash: + type: string + format: byte + title: PartsetHeader + title: BlockID + last_commit_hash: + type: string + format: byte + description: commit from validators from the last block + title: hashes of block data + data_hash: + type: string + format: byte + title: transactions + validators_hash: + type: string + format: byte + description: validators for the current block + title: hashes from the app output from the prev block + next_validators_hash: + type: string + format: byte + title: validators for the next block + consensus_hash: + type: string + format: byte + title: consensus params for current block + app_hash: + type: string + format: byte + title: state after txs from the previous block + last_results_hash: + type: string + format: byte + title: root hash of all results from the txs from the previous block + evidence_hash: + type: string + format: byte + description: evidence included in the block + title: consensus info + proposer_address: + type: string + description: >- + proposer_address is the original block proposer address, formatted as + a Bech32 string. - The pack methods provided by protobuf library will by default - use + In Tendermint, this type is `bytes`, but in the SDK, we convert it to + a Bech32 string - 'type.googleapis.com/full.type.name' as the type URL and the - unpack + for better UX. - methods only use the fully qualified type name after the last - '/' - in the type URL, for example "foo.bar.com/x/y.z" will yield - type + original proposer of the block + description: Header defines the structure of a Tendermint block header. + cosmos.base.tendermint.v1beta1.Module: + type: object + properties: + path: + type: string + title: module path + version: + type: string + title: module version + sum: + type: string + title: checksum + title: Module is the type for VersionInfo + cosmos.base.tendermint.v1beta1.ProofOp: + type: object + properties: + type: + type: string + key: + type: string + format: byte + data: + type: string + format: byte + description: >- + ProofOp defines an operation used for calculating Merkle root. The data + could - name "y.z". + be arbitrary format, providing nessecary data for example neighbouring + node + hash. - JSON + Note: This type is a duplicate of the ProofOp proto type defined in - ==== + Tendermint. + cosmos.base.tendermint.v1beta1.ProofOps: + type: object + properties: + ops: + type: array + items: + type: object + properties: + type: + type: string + key: + type: string + format: byte + data: + type: string + format: byte + description: >- + ProofOp defines an operation used for calculating Merkle root. The + data could - The JSON representation of an `Any` value uses the regular + be arbitrary format, providing nessecary data for example + neighbouring node - representation of the deserialized, embedded message, with an + hash. - additional field `@type` which contains the type URL. Example: - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } + Note: This type is a duplicate of the ProofOp proto type defined in - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } + Tendermint. + description: |- + ProofOps is Merkle proof defined by the list of ProofOps. - If the embedded message type is well-known and has a custom - JSON + Note: This type is a duplicate of the ProofOps proto type defined in + Tendermint. + cosmos.base.tendermint.v1beta1.Validator: + type: object + properties: + address: + type: string + pub_key: + type: object + properties: + '@type': + type: string + description: >- + A URL/resource name that uniquely identifies the type of the + serialized - representation, that representation will be embedded adding a - field + protocol buffer message. This string must contain at least - `value` which holds the custom JSON in addition to the `@type` + one "/" character. The last segment of the URL's path must + represent - field. Example (for message [google.protobuf.Duration][]): + the fully qualified name of the type (as in - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - title: consensus state associated with the channel - client_id: - type: string - title: client ID associated with the consensus state - proof: - type: string - format: byte - title: merkle proof of existence - proof_height: - title: height at which the proof was retrieved - type: object - properties: - revision_number: - type: string - format: uint64 - title: the revision that the client is currently on - revision_height: - type: string - format: uint64 - title: the height within the given revision - description: >- - Normally the RevisionHeight is incremented at each height - while keeping + `path/google.protobuf.Duration`). The name should be in a + canonical form - RevisionNumber the same. However some consensus algorithms may - choose to + (e.g., leading "." is not accepted). - reset the height in certain conditions e.g. hard forks, - state-machine - breaking changes In these cases, the RevisionNumber is - incremented so that + In practice, teams usually precompile into the binary all types + that they - height continues to be monitonically increasing even as the - RevisionHeight + expect it to use in the context of Any. However, for URLs which + use the - gets reset - title: |- - QueryConnectionConsensusStateResponse is the response type for the - Query/ConnectionConsensusState RPC method - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized + scheme `http`, `https`, or no scheme, one can optionally set up a + type - protocol buffer message. This string must contain at - least + server that maps type URLs to message definitions as follows: - one "/" character. The last segment of the URL's path - must represent - the fully qualified name of the type (as in + * If no scheme is provided, `https` is assumed. - `path/google.protobuf.Duration`). The name should be in - a canonical form + * An HTTP GET on the URL must yield a [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) - (e.g., leading "." is not accepted). + Note: this functionality is not currently available in the + official + protobuf release, and it is not used for type URLs beginning with - In practice, teams usually precompile into the binary - all types that they + type.googleapis.com. - expect it to use in the context of Any. However, for - URLs which use the - scheme `http`, `https`, or no scheme, one can optionally - set up a type + Schemes other than `http`, `https` (or the empty scheme) might be - server that maps type URLs to message definitions as - follows: + used with implementation specific semantics. + additionalProperties: {} + description: >- + `Any` contains an arbitrary serialized protocol buffer message along + with a + URL that describes the type of the serialized message. - * If no scheme is provided, `https` is assumed. - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) + Protobuf library provides support to pack/unpack Any values in the + form - Note: this functionality is not currently available in - the official + of utility functions or additional generated methods of the Any type. - protobuf release, and it is not used for type URLs - beginning with - type.googleapis.com. + Example 1: Pack and unpack a message in C++. + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } - Schemes other than `http`, `https` (or the empty scheme) - might be + Example 2: Pack and unpack a message in Java. - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } - URL that describes the type of the serialized message. + Example 3: Pack and unpack a message in Python. + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... - Protobuf library provides support to pack/unpack Any values - in the form + Example 4: Pack and unpack a message in Go - of utility functions or additional generated methods of the - Any type. + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } + The pack methods provided by protobuf library will by default use - Example 1: Pack and unpack a message in C++. + 'type.googleapis.com/full.type.name' as the type URL and the unpack - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } + methods only use the fully qualified type name after the last '/' - Example 2: Pack and unpack a message in Java. + in the type URL, for example "foo.bar.com/x/y.z" will yield type - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } + name "y.z". - Example 3: Pack and unpack a message in Python. - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - Example 4: Pack and unpack a message in Go + JSON - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } + ==== - The pack methods provided by protobuf library will by - default use + The JSON representation of an `Any` value uses the regular - 'type.googleapis.com/full.type.name' as the type URL and the - unpack + representation of the deserialized, embedded message, with an - methods only use the fully qualified type name after the - last '/' + additional field `@type` which contains the type URL. Example: - in the type URL, for example "foo.bar.com/x/y.z" will yield - type + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } - name "y.z". + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } + + If the embedded message type is well-known and has a custom JSON + representation, that representation will be embedded adding a field + `value` which holds the custom JSON in addition to the `@type` - JSON + field. Example (for message [google.protobuf.Duration][]): - ==== + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + voting_power: + type: string + format: int64 + proposer_priority: + type: string + format: int64 + description: Validator is the type for the validator-set. + cosmos.base.tendermint.v1beta1.VersionInfo: + type: object + properties: + name: + type: string + app_name: + type: string + version: + type: string + git_commit: + type: string + build_tags: + type: string + go_version: + type: string + build_deps: + type: array + items: + type: object + properties: + path: + type: string + title: module path + version: + type: string + title: module version + sum: + type: string + title: checksum + title: Module is the type for VersionInfo + cosmos_sdk_version: + type: string + title: 'Since: cosmos-sdk 0.43' + description: VersionInfo is the type for the GetNodeInfoResponse message. + tendermint.crypto.PublicKey: + type: object + properties: + ed25519: + type: string + format: byte + secp256k1: + type: string + format: byte + title: PublicKey defines the keys available for use with Validators + tendermint.p2p.DefaultNodeInfo: + type: object + properties: + protocol_version: + type: object + properties: + p2p: + type: string + format: uint64 + block: + type: string + format: uint64 + app: + type: string + format: uint64 + default_node_id: + type: string + listen_addr: + type: string + network: + type: string + version: + type: string + channels: + type: string + format: byte + moniker: + type: string + other: + type: object + properties: + tx_index: + type: string + rpc_address: + type: string + tendermint.p2p.DefaultNodeInfoOther: + type: object + properties: + tx_index: + type: string + rpc_address: + type: string + tendermint.p2p.ProtocolVersion: + type: object + properties: + p2p: + type: string + format: uint64 + block: + type: string + format: uint64 + app: + type: string + format: uint64 + tendermint.types.Block: + type: object + properties: + header: + type: object + properties: + version: + title: basic block info + type: object + properties: + block: + type: string + format: uint64 + app: + type: string + format: uint64 + description: >- + Consensus captures the consensus rules for processing a block in + the blockchain, - The JSON representation of an `Any` value uses the regular + including all blockchain data structures and the rules of the + application's - representation of the deserialized, embedded message, with - an + state transition machine. + chain_id: + type: string + height: + type: string + format: int64 + time: + type: string + format: date-time + last_block_id: + type: object + properties: + hash: + type: string + format: byte + part_set_header: + type: object + properties: + total: + type: integer + format: int64 + hash: + type: string + format: byte + title: PartsetHeader + title: BlockID + last_commit_hash: + type: string + format: byte + description: commit from validators from the last block + title: hashes of block data + data_hash: + type: string + format: byte + title: transactions + validators_hash: + type: string + format: byte + description: validators for the current block + title: hashes from the app output from the prev block + next_validators_hash: + type: string + format: byte + title: validators for the next block + consensus_hash: + type: string + format: byte + title: consensus params for current block + app_hash: + type: string + format: byte + title: state after txs from the previous block + last_results_hash: + type: string + format: byte + title: root hash of all results from the txs from the previous block + evidence_hash: + type: string + format: byte + description: evidence included in the block + title: consensus info + proposer_address: + type: string + format: byte + title: original proposer of the block + description: Header defines the structure of a block header. + data: + type: object + properties: + txs: + type: array + items: + type: string + format: byte + description: >- + Txs that will be applied by state @ block.Height+1. - additional field `@type` which contains the type URL. - Example: + NOTE: not all txs here are valid. We're just agreeing on the + order first. - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } + This means that block.AppHash does not include these txs. + title: Data contains the set of transactions included in the block + evidence: + type: object + properties: + evidence: + type: array + items: + type: object + properties: + duplicate_vote_evidence: + type: object + properties: + vote_a: + type: object + properties: + type: + type: string + enum: + - SIGNED_MSG_TYPE_UNKNOWN + - SIGNED_MSG_TYPE_PREVOTE + - SIGNED_MSG_TYPE_PRECOMMIT + - SIGNED_MSG_TYPE_PROPOSAL + default: SIGNED_MSG_TYPE_UNKNOWN + description: >- + SignedMsgType is a type of signed message in the + consensus. - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } + - SIGNED_MSG_TYPE_PREVOTE: Votes + - SIGNED_MSG_TYPE_PROPOSAL: Proposals + height: + type: string + format: int64 + round: + type: integer + format: int32 + block_id: + type: object + properties: + hash: + type: string + format: byte + part_set_header: + type: object + properties: + total: + type: integer + format: int64 + hash: + type: string + format: byte + title: PartsetHeader + title: BlockID + description: zero if vote is nil. + timestamp: + type: string + format: date-time + validator_address: + type: string + format: byte + validator_index: + type: integer + format: int32 + signature: + type: string + format: byte + description: >- + Vote represents a prevote, precommit, or commit vote + from validators for - If the embedded message type is well-known and has a custom - JSON + consensus. + vote_b: + type: object + properties: + type: + type: string + enum: + - SIGNED_MSG_TYPE_UNKNOWN + - SIGNED_MSG_TYPE_PREVOTE + - SIGNED_MSG_TYPE_PRECOMMIT + - SIGNED_MSG_TYPE_PROPOSAL + default: SIGNED_MSG_TYPE_UNKNOWN + description: >- + SignedMsgType is a type of signed message in the + consensus. - representation, that representation will be embedded adding - a field + - SIGNED_MSG_TYPE_PREVOTE: Votes + - SIGNED_MSG_TYPE_PROPOSAL: Proposals + height: + type: string + format: int64 + round: + type: integer + format: int32 + block_id: + type: object + properties: + hash: + type: string + format: byte + part_set_header: + type: object + properties: + total: + type: integer + format: int64 + hash: + type: string + format: byte + title: PartsetHeader + title: BlockID + description: zero if vote is nil. + timestamp: + type: string + format: date-time + validator_address: + type: string + format: byte + validator_index: + type: integer + format: int32 + signature: + type: string + format: byte + description: >- + Vote represents a prevote, precommit, or commit vote + from validators for - `value` which holds the custom JSON in addition to the - `@type` + consensus. + total_voting_power: + type: string + format: int64 + validator_power: + type: string + format: int64 + timestamp: + type: string + format: date-time + description: >- + DuplicateVoteEvidence contains evidence of a validator + signed two conflicting votes. + light_client_attack_evidence: + type: object + properties: + conflicting_block: + type: object + properties: + signed_header: + type: object + properties: + header: + type: object + properties: + version: + title: basic block info + type: object + properties: + block: + type: string + format: uint64 + app: + type: string + format: uint64 + description: >- + Consensus captures the consensus rules for + processing a block in the blockchain, - field. Example (for message [google.protobuf.Duration][]): + including all blockchain data structures and + the rules of the application's - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: connection_id - description: connection identifier - in: path - required: true - type: string - - name: revision_number - in: path - required: true - type: string - format: uint64 - - name: revision_height - in: path - required: true - type: string - format: uint64 - tags: - - Query -definitions: - cosmos.auth.v1beta1.Params: + state transition machine. + chain_id: + type: string + height: + type: string + format: int64 + time: + type: string + format: date-time + last_block_id: + type: object + properties: + hash: + type: string + format: byte + part_set_header: + type: object + properties: + total: + type: integer + format: int64 + hash: + type: string + format: byte + title: PartsetHeader + title: BlockID + last_commit_hash: + type: string + format: byte + description: commit from validators from the last block + title: hashes of block data + data_hash: + type: string + format: byte + title: transactions + validators_hash: + type: string + format: byte + description: validators for the current block + title: >- + hashes from the app output from the prev + block + next_validators_hash: + type: string + format: byte + title: validators for the next block + consensus_hash: + type: string + format: byte + title: consensus params for current block + app_hash: + type: string + format: byte + title: state after txs from the previous block + last_results_hash: + type: string + format: byte + title: >- + root hash of all results from the txs from + the previous block + evidence_hash: + type: string + format: byte + description: evidence included in the block + title: consensus info + proposer_address: + type: string + format: byte + title: original proposer of the block + description: Header defines the structure of a block header. + commit: + type: object + properties: + height: + type: string + format: int64 + round: + type: integer + format: int32 + block_id: + type: object + properties: + hash: + type: string + format: byte + part_set_header: + type: object + properties: + total: + type: integer + format: int64 + hash: + type: string + format: byte + title: PartsetHeader + title: BlockID + signatures: + type: array + items: + type: object + properties: + block_id_flag: + type: string + enum: + - BLOCK_ID_FLAG_UNKNOWN + - BLOCK_ID_FLAG_ABSENT + - BLOCK_ID_FLAG_COMMIT + - BLOCK_ID_FLAG_NIL + default: BLOCK_ID_FLAG_UNKNOWN + title: >- + BlockIdFlag indicates which BlcokID the + signature is for + validator_address: + type: string + format: byte + timestamp: + type: string + format: date-time + signature: + type: string + format: byte + description: >- + CommitSig is a part of the Vote included + in a Commit. + description: >- + Commit contains the evidence that a block was + committed by a set of validators. + validator_set: + type: object + properties: + validators: + type: array + items: + type: object + properties: + address: + type: string + format: byte + pub_key: + type: object + properties: + ed25519: + type: string + format: byte + secp256k1: + type: string + format: byte + title: >- + PublicKey defines the keys available for + use with Validators + voting_power: + type: string + format: int64 + proposer_priority: + type: string + format: int64 + proposer: + type: object + properties: + address: + type: string + format: byte + pub_key: + type: object + properties: + ed25519: + type: string + format: byte + secp256k1: + type: string + format: byte + title: >- + PublicKey defines the keys available for use + with Validators + voting_power: + type: string + format: int64 + proposer_priority: + type: string + format: int64 + total_voting_power: + type: string + format: int64 + common_height: + type: string + format: int64 + byzantine_validators: + type: array + items: + type: object + properties: + address: + type: string + format: byte + pub_key: + type: object + properties: + ed25519: + type: string + format: byte + secp256k1: + type: string + format: byte + title: >- + PublicKey defines the keys available for use with + Validators + voting_power: + type: string + format: int64 + proposer_priority: + type: string + format: int64 + total_voting_power: + type: string + format: int64 + timestamp: + type: string + format: date-time + description: >- + LightClientAttackEvidence contains evidence of a set of + validators attempting to mislead a light client. + last_commit: + type: object + properties: + height: + type: string + format: int64 + round: + type: integer + format: int32 + block_id: + type: object + properties: + hash: + type: string + format: byte + part_set_header: + type: object + properties: + total: + type: integer + format: int64 + hash: + type: string + format: byte + title: PartsetHeader + title: BlockID + signatures: + type: array + items: + type: object + properties: + block_id_flag: + type: string + enum: + - BLOCK_ID_FLAG_UNKNOWN + - BLOCK_ID_FLAG_ABSENT + - BLOCK_ID_FLAG_COMMIT + - BLOCK_ID_FLAG_NIL + default: BLOCK_ID_FLAG_UNKNOWN + title: BlockIdFlag indicates which BlcokID the signature is for + validator_address: + type: string + format: byte + timestamp: + type: string + format: date-time + signature: + type: string + format: byte + description: CommitSig is a part of the Vote included in a Commit. + description: >- + Commit contains the evidence that a block was committed by a set of + validators. + tendermint.types.BlockID: type: object properties: - max_memo_characters: - type: string - format: uint64 - tx_sig_limit: - type: string - format: uint64 - tx_size_cost_per_byte: - type: string - format: uint64 - sig_verify_cost_ed25519: - type: string - format: uint64 - sig_verify_cost_secp256k1: + hash: type: string - format: uint64 - description: Params defines the parameters for the auth module. - cosmos.auth.v1beta1.QueryAccountResponse: - type: object - properties: - account: + format: byte + part_set_header: type: object properties: - '@type': + total: + type: integer + format: int64 + hash: type: string - description: >- - A URL/resource name that uniquely identifies the type of the - serialized - - protocol buffer message. This string must contain at least - - one "/" character. The last segment of the URL's path must - represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in a - canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary all types - that they - - expect it to use in the context of Any. However, for URLs which - use the - - scheme `http`, `https`, or no scheme, one can optionally set up a - type - - server that maps type URLs to message definitions as follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in the - official - - protobuf release, and it is not used for type URLs beginning with - - type.googleapis.com. - - - Schemes other than `http`, `https` (or the empty scheme) might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer message along - with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values in the - form - - of utility functions or additional generated methods of the Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by default use - - 'type.googleapis.com/full.type.name' as the type URL and the unpack - - methods only use the fully qualified type name after the last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield type - - name "y.z". - - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with an - - additional field `@type` which contains the type URL. Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom JSON - - representation, that representation will be embedded adding a field - - `value` which holds the custom JSON in addition to the `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - description: >- - QueryAccountResponse is the response type for the Query/Account RPC - method. - cosmos.auth.v1beta1.QueryAccountsResponse: + format: byte + title: PartsetHeader + title: BlockID + tendermint.types.BlockIDFlag: + type: string + enum: + - BLOCK_ID_FLAG_UNKNOWN + - BLOCK_ID_FLAG_ABSENT + - BLOCK_ID_FLAG_COMMIT + - BLOCK_ID_FLAG_NIL + default: BLOCK_ID_FLAG_UNKNOWN + title: BlockIdFlag indicates which BlcokID the signature is for + tendermint.types.Commit: type: object properties: - accounts: + height: + type: string + format: int64 + round: + type: integer + format: int32 + block_id: + type: object + properties: + hash: + type: string + format: byte + part_set_header: + type: object + properties: + total: + type: integer + format: int64 + hash: + type: string + format: byte + title: PartsetHeader + title: BlockID + signatures: type: array items: type: object properties: - '@type': + block_id_flag: type: string - description: >- - A URL/resource name that uniquely identifies the type of the - serialized - - protocol buffer message. This string must contain at least - - one "/" character. The last segment of the URL's path must - represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in a - canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary all types - that they - - expect it to use in the context of Any. However, for URLs which - use the - - scheme `http`, `https`, or no scheme, one can optionally set up - a type - - server that maps type URLs to message definitions as follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in the - official - - protobuf release, and it is not used for type URLs beginning - with - - type.googleapis.com. - - - Schemes other than `http`, `https` (or the empty scheme) might - be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer message along - with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values in the - form - - of utility functions or additional generated methods of the Any - type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by default use - - 'type.googleapis.com/full.type.name' as the type URL and the unpack - - methods only use the fully qualified type name after the last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield type - - name "y.z". - - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with an - - additional field `@type` which contains the type URL. Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom JSON - - representation, that representation will be embedded adding a field - - `value` which holds the custom JSON in addition to the `@type` + enum: + - BLOCK_ID_FLAG_UNKNOWN + - BLOCK_ID_FLAG_ABSENT + - BLOCK_ID_FLAG_COMMIT + - BLOCK_ID_FLAG_NIL + default: BLOCK_ID_FLAG_UNKNOWN + title: BlockIdFlag indicates which BlcokID the signature is for + validator_address: + type: string + format: byte + timestamp: + type: string + format: date-time + signature: + type: string + format: byte + description: CommitSig is a part of the Vote included in a Commit. + description: >- + Commit contains the evidence that a block was committed by a set of + validators. + tendermint.types.CommitSig: + type: object + properties: + block_id_flag: + type: string + enum: + - BLOCK_ID_FLAG_UNKNOWN + - BLOCK_ID_FLAG_ABSENT + - BLOCK_ID_FLAG_COMMIT + - BLOCK_ID_FLAG_NIL + default: BLOCK_ID_FLAG_UNKNOWN + title: BlockIdFlag indicates which BlcokID the signature is for + validator_address: + type: string + format: byte + timestamp: + type: string + format: date-time + signature: + type: string + format: byte + description: CommitSig is a part of the Vote included in a Commit. + tendermint.types.Data: + type: object + properties: + txs: + type: array + items: + type: string + format: byte + description: >- + Txs that will be applied by state @ block.Height+1. - field. Example (for message [google.protobuf.Duration][]): + NOTE: not all txs here are valid. We're just agreeing on the order + first. - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - title: accounts are the existing accounts - pagination: - description: pagination defines the pagination in the response. + This means that block.AppHash does not include these txs. + title: Data contains the set of transactions included in the block + tendermint.types.DuplicateVoteEvidence: + type: object + properties: + vote_a: type: object properties: - next_key: + type: + type: string + enum: + - SIGNED_MSG_TYPE_UNKNOWN + - SIGNED_MSG_TYPE_PREVOTE + - SIGNED_MSG_TYPE_PRECOMMIT + - SIGNED_MSG_TYPE_PROPOSAL + default: SIGNED_MSG_TYPE_UNKNOWN + description: |- + SignedMsgType is a type of signed message in the consensus. + + - SIGNED_MSG_TYPE_PREVOTE: Votes + - SIGNED_MSG_TYPE_PROPOSAL: Proposals + height: + type: string + format: int64 + round: + type: integer + format: int32 + block_id: + type: object + properties: + hash: + type: string + format: byte + part_set_header: + type: object + properties: + total: + type: integer + format: int64 + hash: + type: string + format: byte + title: PartsetHeader + title: BlockID + description: zero if vote is nil. + timestamp: + type: string + format: date-time + validator_address: type: string format: byte - title: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently - total: + validator_index: + type: integer + format: int32 + signature: type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total - - was set, its value is undefined otherwise - description: >- - QueryAccountsResponse is the response type for the Query/Accounts RPC - method. - + format: byte + description: >- + Vote represents a prevote, precommit, or commit vote from validators + for - Since: cosmos-sdk 0.43 - cosmos.auth.v1beta1.QueryParamsResponse: - type: object - properties: - params: - description: params defines the parameters of the module. + consensus. + vote_b: type: object properties: - max_memo_characters: + type: type: string - format: uint64 - tx_sig_limit: + enum: + - SIGNED_MSG_TYPE_UNKNOWN + - SIGNED_MSG_TYPE_PREVOTE + - SIGNED_MSG_TYPE_PRECOMMIT + - SIGNED_MSG_TYPE_PROPOSAL + default: SIGNED_MSG_TYPE_UNKNOWN + description: |- + SignedMsgType is a type of signed message in the consensus. + + - SIGNED_MSG_TYPE_PREVOTE: Votes + - SIGNED_MSG_TYPE_PROPOSAL: Proposals + height: type: string - format: uint64 - tx_size_cost_per_byte: + format: int64 + round: + type: integer + format: int32 + block_id: + type: object + properties: + hash: + type: string + format: byte + part_set_header: + type: object + properties: + total: + type: integer + format: int64 + hash: + type: string + format: byte + title: PartsetHeader + title: BlockID + description: zero if vote is nil. + timestamp: type: string - format: uint64 - sig_verify_cost_ed25519: + format: date-time + validator_address: type: string - format: uint64 - sig_verify_cost_secp256k1: + format: byte + validator_index: + type: integer + format: int32 + signature: type: string - format: uint64 - description: QueryParamsResponse is the response type for the Query/Params RPC method. - cosmos.base.query.v1beta1.PageRequest: - type: object - properties: - key: + format: byte + description: >- + Vote represents a prevote, precommit, or commit vote from validators + for + + consensus. + total_voting_power: type: string - format: byte - description: |- - key is a value returned in PageResponse.next_key to begin - querying the next page most efficiently. Only one of offset or key - should be set. - offset: + format: int64 + validator_power: type: string - format: uint64 - description: |- - offset is a numeric offset that can be used when key is unavailable. - It is less efficient than using key. Only one of offset or key should - be set. - limit: + format: int64 + timestamp: type: string - format: uint64 - description: >- - limit is the total number of results to be returned in the result - page. + format: date-time + description: >- + DuplicateVoteEvidence contains evidence of a validator signed two + conflicting votes. + tendermint.types.Evidence: + type: object + properties: + duplicate_vote_evidence: + type: object + properties: + vote_a: + type: object + properties: + type: + type: string + enum: + - SIGNED_MSG_TYPE_UNKNOWN + - SIGNED_MSG_TYPE_PREVOTE + - SIGNED_MSG_TYPE_PRECOMMIT + - SIGNED_MSG_TYPE_PROPOSAL + default: SIGNED_MSG_TYPE_UNKNOWN + description: |- + SignedMsgType is a type of signed message in the consensus. - If left empty it will default to a value to be set by each app. - count_total: - type: boolean - description: >- - count_total is set to true to indicate that the result set should - include + - SIGNED_MSG_TYPE_PREVOTE: Votes + - SIGNED_MSG_TYPE_PROPOSAL: Proposals + height: + type: string + format: int64 + round: + type: integer + format: int32 + block_id: + type: object + properties: + hash: + type: string + format: byte + part_set_header: + type: object + properties: + total: + type: integer + format: int64 + hash: + type: string + format: byte + title: PartsetHeader + title: BlockID + description: zero if vote is nil. + timestamp: + type: string + format: date-time + validator_address: + type: string + format: byte + validator_index: + type: integer + format: int32 + signature: + type: string + format: byte + description: >- + Vote represents a prevote, precommit, or commit vote from + validators for - a count of the total number of items available for pagination in UIs. + consensus. + vote_b: + type: object + properties: + type: + type: string + enum: + - SIGNED_MSG_TYPE_UNKNOWN + - SIGNED_MSG_TYPE_PREVOTE + - SIGNED_MSG_TYPE_PRECOMMIT + - SIGNED_MSG_TYPE_PROPOSAL + default: SIGNED_MSG_TYPE_UNKNOWN + description: |- + SignedMsgType is a type of signed message in the consensus. - count_total is only respected when offset is used. It is ignored when - key + - SIGNED_MSG_TYPE_PREVOTE: Votes + - SIGNED_MSG_TYPE_PROPOSAL: Proposals + height: + type: string + format: int64 + round: + type: integer + format: int32 + block_id: + type: object + properties: + hash: + type: string + format: byte + part_set_header: + type: object + properties: + total: + type: integer + format: int64 + hash: + type: string + format: byte + title: PartsetHeader + title: BlockID + description: zero if vote is nil. + timestamp: + type: string + format: date-time + validator_address: + type: string + format: byte + validator_index: + type: integer + format: int32 + signature: + type: string + format: byte + description: >- + Vote represents a prevote, precommit, or commit vote from + validators for - is set. - reverse: - type: boolean + consensus. + total_voting_power: + type: string + format: int64 + validator_power: + type: string + format: int64 + timestamp: + type: string + format: date-time description: >- - reverse is set to true if results are to be returned in the descending - order. - + DuplicateVoteEvidence contains evidence of a validator signed two + conflicting votes. + light_client_attack_evidence: + type: object + properties: + conflicting_block: + type: object + properties: + signed_header: + type: object + properties: + header: + type: object + properties: + version: + title: basic block info + type: object + properties: + block: + type: string + format: uint64 + app: + type: string + format: uint64 + description: >- + Consensus captures the consensus rules for processing + a block in the blockchain, - Since: cosmos-sdk 0.43 - description: |- - message SomeRequest { - Foo some_parameter = 1; - PageRequest pagination = 2; - } - title: |- - PageRequest is to be embedded in gRPC request messages for efficient - pagination. Ex: - cosmos.base.query.v1beta1.PageResponse: - type: object - properties: - next_key: - type: string - format: byte - title: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently - total: - type: string - format: uint64 - title: |- - total is total number of results available if PageRequest.count_total - was set, its value is undefined otherwise - description: |- - PageResponse is to be embedded in gRPC response messages where the - corresponding request message has used PageRequest. + including all blockchain data structures and the rules + of the application's - message SomeResponse { - repeated Bar results = 1; - PageResponse page = 2; - } - google.protobuf.Any: + state transition machine. + chain_id: + type: string + height: + type: string + format: int64 + time: + type: string + format: date-time + last_block_id: + type: object + properties: + hash: + type: string + format: byte + part_set_header: + type: object + properties: + total: + type: integer + format: int64 + hash: + type: string + format: byte + title: PartsetHeader + title: BlockID + last_commit_hash: + type: string + format: byte + description: commit from validators from the last block + title: hashes of block data + data_hash: + type: string + format: byte + title: transactions + validators_hash: + type: string + format: byte + description: validators for the current block + title: hashes from the app output from the prev block + next_validators_hash: + type: string + format: byte + title: validators for the next block + consensus_hash: + type: string + format: byte + title: consensus params for current block + app_hash: + type: string + format: byte + title: state after txs from the previous block + last_results_hash: + type: string + format: byte + title: >- + root hash of all results from the txs from the + previous block + evidence_hash: + type: string + format: byte + description: evidence included in the block + title: consensus info + proposer_address: + type: string + format: byte + title: original proposer of the block + description: Header defines the structure of a block header. + commit: + type: object + properties: + height: + type: string + format: int64 + round: + type: integer + format: int32 + block_id: + type: object + properties: + hash: + type: string + format: byte + part_set_header: + type: object + properties: + total: + type: integer + format: int64 + hash: + type: string + format: byte + title: PartsetHeader + title: BlockID + signatures: + type: array + items: + type: object + properties: + block_id_flag: + type: string + enum: + - BLOCK_ID_FLAG_UNKNOWN + - BLOCK_ID_FLAG_ABSENT + - BLOCK_ID_FLAG_COMMIT + - BLOCK_ID_FLAG_NIL + default: BLOCK_ID_FLAG_UNKNOWN + title: >- + BlockIdFlag indicates which BlcokID the + signature is for + validator_address: + type: string + format: byte + timestamp: + type: string + format: date-time + signature: + type: string + format: byte + description: >- + CommitSig is a part of the Vote included in a + Commit. + description: >- + Commit contains the evidence that a block was committed by + a set of validators. + validator_set: + type: object + properties: + validators: + type: array + items: + type: object + properties: + address: + type: string + format: byte + pub_key: + type: object + properties: + ed25519: + type: string + format: byte + secp256k1: + type: string + format: byte + title: >- + PublicKey defines the keys available for use with + Validators + voting_power: + type: string + format: int64 + proposer_priority: + type: string + format: int64 + proposer: + type: object + properties: + address: + type: string + format: byte + pub_key: + type: object + properties: + ed25519: + type: string + format: byte + secp256k1: + type: string + format: byte + title: >- + PublicKey defines the keys available for use with + Validators + voting_power: + type: string + format: int64 + proposer_priority: + type: string + format: int64 + total_voting_power: + type: string + format: int64 + common_height: + type: string + format: int64 + byzantine_validators: + type: array + items: + type: object + properties: + address: + type: string + format: byte + pub_key: + type: object + properties: + ed25519: + type: string + format: byte + secp256k1: + type: string + format: byte + title: PublicKey defines the keys available for use with Validators + voting_power: + type: string + format: int64 + proposer_priority: + type: string + format: int64 + total_voting_power: + type: string + format: int64 + timestamp: + type: string + format: date-time + description: >- + LightClientAttackEvidence contains evidence of a set of validators + attempting to mislead a light client. + tendermint.types.EvidenceList: type: object properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of the - serialized - - protocol buffer message. This string must contain at least - - one "/" character. The last segment of the URL's path must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in a canonical - form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary all types that - they - - expect it to use in the context of Any. However, for URLs which use - the - - scheme `http`, `https`, or no scheme, one can optionally set up a type - - server that maps type URLs to message definitions as follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in the official - - protobuf release, and it is not used for type URLs beginning with - - type.googleapis.com. - - - Schemes other than `http`, `https` (or the empty scheme) might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer message along with - a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values in the form - - of utility functions or additional generated methods of the Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by default use - - 'type.googleapis.com/full.type.name' as the type URL and the unpack - - methods only use the fully qualified type name after the last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield type - - name "y.z". - - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with an - - additional field `@type` which contains the type URL. Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } + evidence: + type: array + items: + type: object + properties: + duplicate_vote_evidence: + type: object + properties: + vote_a: + type: object + properties: + type: + type: string + enum: + - SIGNED_MSG_TYPE_UNKNOWN + - SIGNED_MSG_TYPE_PREVOTE + - SIGNED_MSG_TYPE_PRECOMMIT + - SIGNED_MSG_TYPE_PROPOSAL + default: SIGNED_MSG_TYPE_UNKNOWN + description: >- + SignedMsgType is a type of signed message in the + consensus. - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } + - SIGNED_MSG_TYPE_PREVOTE: Votes + - SIGNED_MSG_TYPE_PROPOSAL: Proposals + height: + type: string + format: int64 + round: + type: integer + format: int32 + block_id: + type: object + properties: + hash: + type: string + format: byte + part_set_header: + type: object + properties: + total: + type: integer + format: int64 + hash: + type: string + format: byte + title: PartsetHeader + title: BlockID + description: zero if vote is nil. + timestamp: + type: string + format: date-time + validator_address: + type: string + format: byte + validator_index: + type: integer + format: int32 + signature: + type: string + format: byte + description: >- + Vote represents a prevote, precommit, or commit vote from + validators for - If the embedded message type is well-known and has a custom JSON + consensus. + vote_b: + type: object + properties: + type: + type: string + enum: + - SIGNED_MSG_TYPE_UNKNOWN + - SIGNED_MSG_TYPE_PREVOTE + - SIGNED_MSG_TYPE_PRECOMMIT + - SIGNED_MSG_TYPE_PROPOSAL + default: SIGNED_MSG_TYPE_UNKNOWN + description: >- + SignedMsgType is a type of signed message in the + consensus. - representation, that representation will be embedded adding a field + - SIGNED_MSG_TYPE_PREVOTE: Votes + - SIGNED_MSG_TYPE_PROPOSAL: Proposals + height: + type: string + format: int64 + round: + type: integer + format: int32 + block_id: + type: object + properties: + hash: + type: string + format: byte + part_set_header: + type: object + properties: + total: + type: integer + format: int64 + hash: + type: string + format: byte + title: PartsetHeader + title: BlockID + description: zero if vote is nil. + timestamp: + type: string + format: date-time + validator_address: + type: string + format: byte + validator_index: + type: integer + format: int32 + signature: + type: string + format: byte + description: >- + Vote represents a prevote, precommit, or commit vote from + validators for - `value` which holds the custom JSON in addition to the `@type` + consensus. + total_voting_power: + type: string + format: int64 + validator_power: + type: string + format: int64 + timestamp: + type: string + format: date-time + description: >- + DuplicateVoteEvidence contains evidence of a validator signed + two conflicting votes. + light_client_attack_evidence: + type: object + properties: + conflicting_block: + type: object + properties: + signed_header: + type: object + properties: + header: + type: object + properties: + version: + title: basic block info + type: object + properties: + block: + type: string + format: uint64 + app: + type: string + format: uint64 + description: >- + Consensus captures the consensus rules for + processing a block in the blockchain, - field. Example (for message [google.protobuf.Duration][]): + including all blockchain data structures and the + rules of the application's - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - google.rpc.Status: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string + state transition machine. + chain_id: + type: string + height: + type: string + format: int64 + time: + type: string + format: date-time + last_block_id: + type: object + properties: + hash: + type: string + format: byte + part_set_header: + type: object + properties: + total: + type: integer + format: int64 + hash: + type: string + format: byte + title: PartsetHeader + title: BlockID + last_commit_hash: + type: string + format: byte + description: commit from validators from the last block + title: hashes of block data + data_hash: + type: string + format: byte + title: transactions + validators_hash: + type: string + format: byte + description: validators for the current block + title: hashes from the app output from the prev block + next_validators_hash: + type: string + format: byte + title: validators for the next block + consensus_hash: + type: string + format: byte + title: consensus params for current block + app_hash: + type: string + format: byte + title: state after txs from the previous block + last_results_hash: + type: string + format: byte + title: >- + root hash of all results from the txs from the + previous block + evidence_hash: + type: string + format: byte + description: evidence included in the block + title: consensus info + proposer_address: + type: string + format: byte + title: original proposer of the block + description: Header defines the structure of a block header. + commit: + type: object + properties: + height: + type: string + format: int64 + round: + type: integer + format: int32 + block_id: + type: object + properties: + hash: + type: string + format: byte + part_set_header: + type: object + properties: + total: + type: integer + format: int64 + hash: + type: string + format: byte + title: PartsetHeader + title: BlockID + signatures: + type: array + items: + type: object + properties: + block_id_flag: + type: string + enum: + - BLOCK_ID_FLAG_UNKNOWN + - BLOCK_ID_FLAG_ABSENT + - BLOCK_ID_FLAG_COMMIT + - BLOCK_ID_FLAG_NIL + default: BLOCK_ID_FLAG_UNKNOWN + title: >- + BlockIdFlag indicates which BlcokID the + signature is for + validator_address: + type: string + format: byte + timestamp: + type: string + format: date-time + signature: + type: string + format: byte + description: >- + CommitSig is a part of the Vote included in a + Commit. + description: >- + Commit contains the evidence that a block was + committed by a set of validators. + validator_set: + type: object + properties: + validators: + type: array + items: + type: object + properties: + address: + type: string + format: byte + pub_key: + type: object + properties: + ed25519: + type: string + format: byte + secp256k1: + type: string + format: byte + title: >- + PublicKey defines the keys available for use + with Validators + voting_power: + type: string + format: int64 + proposer_priority: + type: string + format: int64 + proposer: + type: object + properties: + address: + type: string + format: byte + pub_key: + type: object + properties: + ed25519: + type: string + format: byte + secp256k1: + type: string + format: byte + title: >- + PublicKey defines the keys available for use + with Validators + voting_power: + type: string + format: int64 + proposer_priority: + type: string + format: int64 + total_voting_power: + type: string + format: int64 + common_height: + type: string + format: int64 + byzantine_validators: + type: array + items: + type: object + properties: + address: + type: string + format: byte + pub_key: + type: object + properties: + ed25519: + type: string + format: byte + secp256k1: + type: string + format: byte + title: >- + PublicKey defines the keys available for use with + Validators + voting_power: + type: string + format: int64 + proposer_priority: + type: string + format: int64 + total_voting_power: + type: string + format: int64 + timestamp: + type: string + format: date-time description: >- - A URL/resource name that uniquely identifies the type of the - serialized - - protocol buffer message. This string must contain at least - - one "/" character. The last segment of the URL's path must - represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in a - canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary all types - that they - - expect it to use in the context of Any. However, for URLs which - use the - - scheme `http`, `https`, or no scheme, one can optionally set up - a type - - server that maps type URLs to message definitions as follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in the - official - - protobuf release, and it is not used for type URLs beginning - with - - type.googleapis.com. - - - Schemes other than `http`, `https` (or the empty scheme) might - be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer message along - with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values in the - form - - of utility functions or additional generated methods of the Any - type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by default use - - 'type.googleapis.com/full.type.name' as the type URL and the unpack - - methods only use the fully qualified type name after the last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield type - - name "y.z". - - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with an - - additional field `@type` which contains the type URL. Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom JSON - - representation, that representation will be embedded adding a field - - `value` which holds the custom JSON in addition to the `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - cosmos.authz.v1beta1.Grant: + LightClientAttackEvidence contains evidence of a set of + validators attempting to mislead a light client. + tendermint.types.Header: type: object properties: - authorization: + version: + title: basic block info type: object properties: - '@type': + block: type: string - description: >- - A URL/resource name that uniquely identifies the type of the - serialized - - protocol buffer message. This string must contain at least - - one "/" character. The last segment of the URL's path must - represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in a - canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary all types - that they - - expect it to use in the context of Any. However, for URLs which - use the - - scheme `http`, `https`, or no scheme, one can optionally set up a - type - - server that maps type URLs to message definitions as follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in the - official - - protobuf release, and it is not used for type URLs beginning with - - type.googleapis.com. - - - Schemes other than `http`, `https` (or the empty scheme) might be - - used with implementation specific semantics. - additionalProperties: {} + format: uint64 + app: + type: string + format: uint64 description: >- - `Any` contains an arbitrary serialized protocol buffer message along - with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values in the - form - - of utility functions or additional generated methods of the Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by default use - - 'type.googleapis.com/full.type.name' as the type URL and the unpack - - methods only use the fully qualified type name after the last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield type - - name "y.z". - - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with an - - additional field `@type` which contains the type URL. Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } + Consensus captures the consensus rules for processing a block in the + blockchain, - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } + including all blockchain data structures and the rules of the + application's - If the embedded message type is well-known and has a custom JSON + state transition machine. + chain_id: + type: string + height: + type: string + format: int64 + time: + type: string + format: date-time + last_block_id: + type: object + properties: + hash: + type: string + format: byte + part_set_header: + type: object + properties: + total: + type: integer + format: int64 + hash: + type: string + format: byte + title: PartsetHeader + title: BlockID + last_commit_hash: + type: string + format: byte + description: commit from validators from the last block + title: hashes of block data + data_hash: + type: string + format: byte + title: transactions + validators_hash: + type: string + format: byte + description: validators for the current block + title: hashes from the app output from the prev block + next_validators_hash: + type: string + format: byte + title: validators for the next block + consensus_hash: + type: string + format: byte + title: consensus params for current block + app_hash: + type: string + format: byte + title: state after txs from the previous block + last_results_hash: + type: string + format: byte + title: root hash of all results from the txs from the previous block + evidence_hash: + type: string + format: byte + description: evidence included in the block + title: consensus info + proposer_address: + type: string + format: byte + title: original proposer of the block + description: Header defines the structure of a block header. + tendermint.types.LightBlock: + type: object + properties: + signed_header: + type: object + properties: + header: + type: object + properties: + version: + title: basic block info + type: object + properties: + block: + type: string + format: uint64 + app: + type: string + format: uint64 + description: >- + Consensus captures the consensus rules for processing a block + in the blockchain, - representation, that representation will be embedded adding a field + including all blockchain data structures and the rules of the + application's - `value` which holds the custom JSON in addition to the `@type` + state transition machine. + chain_id: + type: string + height: + type: string + format: int64 + time: + type: string + format: date-time + last_block_id: + type: object + properties: + hash: + type: string + format: byte + part_set_header: + type: object + properties: + total: + type: integer + format: int64 + hash: + type: string + format: byte + title: PartsetHeader + title: BlockID + last_commit_hash: + type: string + format: byte + description: commit from validators from the last block + title: hashes of block data + data_hash: + type: string + format: byte + title: transactions + validators_hash: + type: string + format: byte + description: validators for the current block + title: hashes from the app output from the prev block + next_validators_hash: + type: string + format: byte + title: validators for the next block + consensus_hash: + type: string + format: byte + title: consensus params for current block + app_hash: + type: string + format: byte + title: state after txs from the previous block + last_results_hash: + type: string + format: byte + title: root hash of all results from the txs from the previous block + evidence_hash: + type: string + format: byte + description: evidence included in the block + title: consensus info + proposer_address: + type: string + format: byte + title: original proposer of the block + description: Header defines the structure of a block header. + commit: + type: object + properties: + height: + type: string + format: int64 + round: + type: integer + format: int32 + block_id: + type: object + properties: + hash: + type: string + format: byte + part_set_header: + type: object + properties: + total: + type: integer + format: int64 + hash: + type: string + format: byte + title: PartsetHeader + title: BlockID + signatures: + type: array + items: + type: object + properties: + block_id_flag: + type: string + enum: + - BLOCK_ID_FLAG_UNKNOWN + - BLOCK_ID_FLAG_ABSENT + - BLOCK_ID_FLAG_COMMIT + - BLOCK_ID_FLAG_NIL + default: BLOCK_ID_FLAG_UNKNOWN + title: BlockIdFlag indicates which BlcokID the signature is for + validator_address: + type: string + format: byte + timestamp: + type: string + format: date-time + signature: + type: string + format: byte + description: CommitSig is a part of the Vote included in a Commit. + description: >- + Commit contains the evidence that a block was committed by a set + of validators. + validator_set: + type: object + properties: + validators: + type: array + items: + type: object + properties: + address: + type: string + format: byte + pub_key: + type: object + properties: + ed25519: + type: string + format: byte + secp256k1: + type: string + format: byte + title: PublicKey defines the keys available for use with Validators + voting_power: + type: string + format: int64 + proposer_priority: + type: string + format: int64 + proposer: + type: object + properties: + address: + type: string + format: byte + pub_key: + type: object + properties: + ed25519: + type: string + format: byte + secp256k1: + type: string + format: byte + title: PublicKey defines the keys available for use with Validators + voting_power: + type: string + format: int64 + proposer_priority: + type: string + format: int64 + total_voting_power: + type: string + format: int64 + tendermint.types.LightClientAttackEvidence: + type: object + properties: + conflicting_block: + type: object + properties: + signed_header: + type: object + properties: + header: + type: object + properties: + version: + title: basic block info + type: object + properties: + block: + type: string + format: uint64 + app: + type: string + format: uint64 + description: >- + Consensus captures the consensus rules for processing a + block in the blockchain, - field. Example (for message [google.protobuf.Duration][]): + including all blockchain data structures and the rules of + the application's - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - expiration: + state transition machine. + chain_id: + type: string + height: + type: string + format: int64 + time: + type: string + format: date-time + last_block_id: + type: object + properties: + hash: + type: string + format: byte + part_set_header: + type: object + properties: + total: + type: integer + format: int64 + hash: + type: string + format: byte + title: PartsetHeader + title: BlockID + last_commit_hash: + type: string + format: byte + description: commit from validators from the last block + title: hashes of block data + data_hash: + type: string + format: byte + title: transactions + validators_hash: + type: string + format: byte + description: validators for the current block + title: hashes from the app output from the prev block + next_validators_hash: + type: string + format: byte + title: validators for the next block + consensus_hash: + type: string + format: byte + title: consensus params for current block + app_hash: + type: string + format: byte + title: state after txs from the previous block + last_results_hash: + type: string + format: byte + title: >- + root hash of all results from the txs from the previous + block + evidence_hash: + type: string + format: byte + description: evidence included in the block + title: consensus info + proposer_address: + type: string + format: byte + title: original proposer of the block + description: Header defines the structure of a block header. + commit: + type: object + properties: + height: + type: string + format: int64 + round: + type: integer + format: int32 + block_id: + type: object + properties: + hash: + type: string + format: byte + part_set_header: + type: object + properties: + total: + type: integer + format: int64 + hash: + type: string + format: byte + title: PartsetHeader + title: BlockID + signatures: + type: array + items: + type: object + properties: + block_id_flag: + type: string + enum: + - BLOCK_ID_FLAG_UNKNOWN + - BLOCK_ID_FLAG_ABSENT + - BLOCK_ID_FLAG_COMMIT + - BLOCK_ID_FLAG_NIL + default: BLOCK_ID_FLAG_UNKNOWN + title: >- + BlockIdFlag indicates which BlcokID the signature is + for + validator_address: + type: string + format: byte + timestamp: + type: string + format: date-time + signature: + type: string + format: byte + description: CommitSig is a part of the Vote included in a Commit. + description: >- + Commit contains the evidence that a block was committed by a + set of validators. + validator_set: + type: object + properties: + validators: + type: array + items: + type: object + properties: + address: + type: string + format: byte + pub_key: + type: object + properties: + ed25519: + type: string + format: byte + secp256k1: + type: string + format: byte + title: >- + PublicKey defines the keys available for use with + Validators + voting_power: + type: string + format: int64 + proposer_priority: + type: string + format: int64 + proposer: + type: object + properties: + address: + type: string + format: byte + pub_key: + type: object + properties: + ed25519: + type: string + format: byte + secp256k1: + type: string + format: byte + title: >- + PublicKey defines the keys available for use with + Validators + voting_power: + type: string + format: int64 + proposer_priority: + type: string + format: int64 + total_voting_power: + type: string + format: int64 + common_height: type: string - format: date-time - description: |- - Grant gives permissions to execute - the provide method with expiration time. - cosmos.authz.v1beta1.MsgExecResponse: - type: object - properties: - results: - type: array - items: - type: string - format: byte - description: MsgExecResponse defines the Msg/MsgExecResponse response type. - cosmos.authz.v1beta1.MsgGrantResponse: - type: object - description: MsgGrantResponse defines the Msg/MsgGrant response type. - cosmos.authz.v1beta1.MsgRevokeResponse: - type: object - description: MsgRevokeResponse defines the Msg/MsgRevokeResponse response type. - cosmos.authz.v1beta1.QueryGrantsResponse: - type: object - properties: - grants: + format: int64 + byzantine_validators: type: array items: type: object properties: - authorization: + address: + type: string + format: byte + pub_key: type: object properties: - '@type': + ed25519: type: string - description: >- - A URL/resource name that uniquely identifies the type of the - serialized - - protocol buffer message. This string must contain at least - - one "/" character. The last segment of the URL's path must - represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in a - canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary all - types that they - - expect it to use in the context of Any. However, for URLs - which use the - - scheme `http`, `https`, or no scheme, one can optionally set - up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based on - the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in the - official - - protobuf release, and it is not used for type URLs beginning - with - - type.googleapis.com. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer message - along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values in - the form - - of utility functions or additional generated methods of the Any - type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by default - use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the last - '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield type - - name "y.z". - - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with an - - additional field `@type` which contains the type URL. Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom JSON - - representation, that representation will be embedded adding a - field - - `value` which holds the custom JSON in addition to the `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - expiration: + format: byte + secp256k1: + type: string + format: byte + title: PublicKey defines the keys available for use with Validators + voting_power: type: string - format: date-time - description: |- - Grant gives permissions to execute - the provide method with expiration time. - description: authorizations is a list of grants granted for grantee by granter. - pagination: - description: pagination defines an pagination for the response. + format: int64 + proposer_priority: + type: string + format: int64 + total_voting_power: + type: string + format: int64 + timestamp: + type: string + format: date-time + description: >- + LightClientAttackEvidence contains evidence of a set of validators + attempting to mislead a light client. + tendermint.types.PartSetHeader: + type: object + properties: + total: + type: integer + format: int64 + hash: + type: string + format: byte + title: PartsetHeader + tendermint.types.SignedHeader: + type: object + properties: + header: type: object properties: - next_key: + version: + title: basic block info + type: object + properties: + block: + type: string + format: uint64 + app: + type: string + format: uint64 + description: >- + Consensus captures the consensus rules for processing a block in + the blockchain, + + including all blockchain data structures and the rules of the + application's + + state transition machine. + chain_id: + type: string + height: + type: string + format: int64 + time: + type: string + format: date-time + last_block_id: + type: object + properties: + hash: + type: string + format: byte + part_set_header: + type: object + properties: + total: + type: integer + format: int64 + hash: + type: string + format: byte + title: PartsetHeader + title: BlockID + last_commit_hash: type: string format: byte - title: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently - total: + description: commit from validators from the last block + title: hashes of block data + data_hash: type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total + format: byte + title: transactions + validators_hash: + type: string + format: byte + description: validators for the current block + title: hashes from the app output from the prev block + next_validators_hash: + type: string + format: byte + title: validators for the next block + consensus_hash: + type: string + format: byte + title: consensus params for current block + app_hash: + type: string + format: byte + title: state after txs from the previous block + last_results_hash: + type: string + format: byte + title: root hash of all results from the txs from the previous block + evidence_hash: + type: string + format: byte + description: evidence included in the block + title: consensus info + proposer_address: + type: string + format: byte + title: original proposer of the block + description: Header defines the structure of a block header. + commit: + type: object + properties: + height: + type: string + format: int64 + round: + type: integer + format: int32 + block_id: + type: object + properties: + hash: + type: string + format: byte + part_set_header: + type: object + properties: + total: + type: integer + format: int64 + hash: + type: string + format: byte + title: PartsetHeader + title: BlockID + signatures: + type: array + items: + type: object + properties: + block_id_flag: + type: string + enum: + - BLOCK_ID_FLAG_UNKNOWN + - BLOCK_ID_FLAG_ABSENT + - BLOCK_ID_FLAG_COMMIT + - BLOCK_ID_FLAG_NIL + default: BLOCK_ID_FLAG_UNKNOWN + title: BlockIdFlag indicates which BlcokID the signature is for + validator_address: + type: string + format: byte + timestamp: + type: string + format: date-time + signature: + type: string + format: byte + description: CommitSig is a part of the Vote included in a Commit. + description: >- + Commit contains the evidence that a block was committed by a set of + validators. + tendermint.types.SignedMsgType: + type: string + enum: + - SIGNED_MSG_TYPE_UNKNOWN + - SIGNED_MSG_TYPE_PREVOTE + - SIGNED_MSG_TYPE_PRECOMMIT + - SIGNED_MSG_TYPE_PROPOSAL + default: SIGNED_MSG_TYPE_UNKNOWN + description: |- + SignedMsgType is a type of signed message in the consensus. - was set, its value is undefined otherwise - description: >- - QueryGrantsResponse is the response type for the Query/Authorizations RPC - method. - cosmos.bank.v1beta1.DenomUnit: + - SIGNED_MSG_TYPE_PREVOTE: Votes + - SIGNED_MSG_TYPE_PROPOSAL: Proposals + tendermint.types.Validator: type: object properties: - denom: + address: + type: string + format: byte + pub_key: + type: object + properties: + ed25519: + type: string + format: byte + secp256k1: + type: string + format: byte + title: PublicKey defines the keys available for use with Validators + voting_power: type: string - description: denom represents the string name of the given denom unit (e.g uatom). - exponent: - type: integer format: int64 - description: >- - exponent represents power of 10 exponent that one must - - raise the base_denom to in order to equal the given DenomUnit's denom - - 1 denom = 1^exponent base_denom - - (e.g. with a base_denom of uatom, one can create a DenomUnit of 'atom' - with - - exponent = 6, thus: 1 atom = 10^6 uatom). - aliases: - type: array - items: - type: string - title: aliases is a list of string aliases for the given denom - description: |- - DenomUnit represents a struct that describes a given - denomination unit of the basic token. - cosmos.bank.v1beta1.Input: + proposer_priority: + type: string + format: int64 + tendermint.types.ValidatorSet: type: object properties: - address: - type: string - coins: + validators: type: array items: type: object properties: - denom: + address: type: string - amount: + format: byte + pub_key: + type: object + properties: + ed25519: + type: string + format: byte + secp256k1: + type: string + format: byte + title: PublicKey defines the keys available for use with Validators + voting_power: type: string - description: |- - Coin defines a token with a denomination and an amount. - - NOTE: The amount field is an Int which implements the custom method - signatures required by gogoproto. - description: Input models transaction input. - cosmos.bank.v1beta1.Metadata: + format: int64 + proposer_priority: + type: string + format: int64 + proposer: + type: object + properties: + address: + type: string + format: byte + pub_key: + type: object + properties: + ed25519: + type: string + format: byte + secp256k1: + type: string + format: byte + title: PublicKey defines the keys available for use with Validators + voting_power: + type: string + format: int64 + proposer_priority: + type: string + format: int64 + total_voting_power: + type: string + format: int64 + tendermint.types.Vote: type: object properties: - description: + type: type: string - denom_units: - type: array - items: - type: object - properties: - denom: - type: string - description: >- - denom represents the string name of the given denom unit (e.g - uatom). - exponent: - type: integer - format: int64 - description: >- - exponent represents power of 10 exponent that one must - - raise the base_denom to in order to equal the given DenomUnit's - denom - - 1 denom = 1^exponent base_denom - - (e.g. with a base_denom of uatom, one can create a DenomUnit of - 'atom' with + enum: + - SIGNED_MSG_TYPE_UNKNOWN + - SIGNED_MSG_TYPE_PREVOTE + - SIGNED_MSG_TYPE_PRECOMMIT + - SIGNED_MSG_TYPE_PROPOSAL + default: SIGNED_MSG_TYPE_UNKNOWN + description: |- + SignedMsgType is a type of signed message in the consensus. - exponent = 6, thus: 1 atom = 10^6 uatom). - aliases: - type: array - items: + - SIGNED_MSG_TYPE_PREVOTE: Votes + - SIGNED_MSG_TYPE_PROPOSAL: Proposals + height: + type: string + format: int64 + round: + type: integer + format: int32 + block_id: + type: object + properties: + hash: + type: string + format: byte + part_set_header: + type: object + properties: + total: + type: integer + format: int64 + hash: type: string - title: aliases is a list of string aliases for the given denom - description: |- - DenomUnit represents a struct that describes a given - denomination unit of the basic token. - title: denom_units represents the list of DenomUnit's for a given coin - base: + format: byte + title: PartsetHeader + title: BlockID + description: zero if vote is nil. + timestamp: type: string - description: >- - base represents the base denom (should be the DenomUnit with exponent - = 0). - display: + format: date-time + validator_address: type: string - description: |- - display indicates the suggested denom that should be - displayed in clients. - name: + format: byte + validator_index: + type: integer + format: int32 + signature: type: string - description: 'Since: cosmos-sdk 0.43' - title: 'name defines the name of the token (eg: Cosmos Atom)' - symbol: + format: byte + description: |- + Vote represents a prevote, precommit, or commit vote from validators for + consensus. + tendermint.version.Consensus: + type: object + properties: + block: type: string - description: >- - symbol is the token symbol usually shown on exchanges (eg: ATOM). This - can - - be the same as the display. + format: uint64 + app: + type: string + format: uint64 + description: >- + Consensus captures the consensus rules for processing a block in the + blockchain, + including all blockchain data structures and the rules of the + application's - Since: cosmos-sdk 0.43 - description: |- - Metadata represents a struct that describes - a basic token. - cosmos.bank.v1beta1.MsgMultiSendResponse: + state transition machine. + cosmos.crisis.v1beta1.MsgVerifyInvariantResponse: type: object - description: MsgMultiSendResponse defines the Msg/MultiSend response type. - cosmos.bank.v1beta1.MsgSendResponse: + description: MsgVerifyInvariantResponse defines the Msg/VerifyInvariant response type. + cosmos.base.v1beta1.DecCoin: type: object - description: MsgSendResponse defines the Msg/Send response type. - cosmos.bank.v1beta1.Output: + properties: + denom: + type: string + amount: + type: string + description: |- + DecCoin defines a token with a denomination and a decimal amount. + + NOTE: The amount field is an Dec which implements the custom method + signatures required by gogoproto. + cosmos.distribution.v1beta1.DelegationDelegatorReward: type: object properties: - address: + validator_address: type: string - coins: + reward: type: array items: type: object @@ -30858,35 +54777,48 @@ definitions: amount: type: string description: |- - Coin defines a token with a denomination and an amount. + DecCoin defines a token with a denomination and a decimal amount. - NOTE: The amount field is an Int which implements the custom method + NOTE: The amount field is an Dec which implements the custom method signatures required by gogoproto. - description: Output models transaction outputs. - cosmos.bank.v1beta1.Params: + description: |- + DelegationDelegatorReward represents the properties + of a delegator's delegation reward. + cosmos.distribution.v1beta1.MsgFundCommunityPoolResponse: + type: object + description: >- + MsgFundCommunityPoolResponse defines the Msg/FundCommunityPool response + type. + cosmos.distribution.v1beta1.MsgSetWithdrawAddressResponse: + type: object + description: >- + MsgSetWithdrawAddressResponse defines the Msg/SetWithdrawAddress response + type. + cosmos.distribution.v1beta1.MsgWithdrawDelegatorRewardResponse: type: object properties: - send_enabled: + amount: type: array items: type: object properties: denom: type: string - enabled: - type: boolean - description: >- - SendEnabled maps coin denom to a send_enabled status (whether a - denom is + amount: + type: string + description: |- + Coin defines a token with a denomination and an amount. - sendable). - default_send_enabled: - type: boolean - description: Params defines the parameters for the bank module. - cosmos.bank.v1beta1.QueryAllBalancesResponse: + NOTE: The amount field is an Int which implements the custom method + signatures required by gogoproto. + title: 'Since: cosmos-sdk 0.46' + description: >- + MsgWithdrawDelegatorRewardResponse defines the Msg/WithdrawDelegatorReward + response type. + cosmos.distribution.v1beta1.MsgWithdrawValidatorCommissionResponse: type: object properties: - balances: + amount: type: array items: type: object @@ -30900,294 +54832,242 @@ definitions: NOTE: The amount field is an Int which implements the custom method signatures required by gogoproto. - description: balances is the balances of all the coins. - pagination: - description: pagination defines the pagination in the response. - type: object - properties: - next_key: - type: string - format: byte - title: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently - total: - type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total - - was set, its value is undefined otherwise - description: >- - QueryAllBalancesResponse is the response type for the Query/AllBalances - RPC - - method. - cosmos.bank.v1beta1.QueryBalanceResponse: - type: object - properties: - balance: - type: object - properties: - denom: - type: string - amount: - type: string - description: |- - Coin defines a token with a denomination and an amount. - - NOTE: The amount field is an Int which implements the custom method - signatures required by gogoproto. + title: 'Since: cosmos-sdk 0.46' description: >- - QueryBalanceResponse is the response type for the Query/Balance RPC - method. - cosmos.bank.v1beta1.QueryDenomMetadataResponse: + MsgWithdrawValidatorCommissionResponse defines the + Msg/WithdrawValidatorCommission response type. + cosmos.distribution.v1beta1.Params: type: object properties: - metadata: - type: object - properties: - description: - type: string - denom_units: - type: array - items: - type: object - properties: - denom: - type: string - description: >- - denom represents the string name of the given denom unit - (e.g uatom). - exponent: - type: integer - format: int64 - description: >- - exponent represents power of 10 exponent that one must - - raise the base_denom to in order to equal the given - DenomUnit's denom - - 1 denom = 1^exponent base_denom - - (e.g. with a base_denom of uatom, one can create a DenomUnit - of 'atom' with - - exponent = 6, thus: 1 atom = 10^6 uatom). - aliases: - type: array - items: - type: string - title: aliases is a list of string aliases for the given denom - description: |- - DenomUnit represents a struct that describes a given - denomination unit of the basic token. - title: denom_units represents the list of DenomUnit's for a given coin - base: - type: string - description: >- - base represents the base denom (should be the DenomUnit with - exponent = 0). - display: - type: string - description: |- - display indicates the suggested denom that should be - displayed in clients. - name: - type: string - description: 'Since: cosmos-sdk 0.43' - title: 'name defines the name of the token (eg: Cosmos Atom)' - symbol: - type: string - description: >- - symbol is the token symbol usually shown on exchanges (eg: ATOM). - This can - - be the same as the display. - + community_tax: + type: string + base_proposer_reward: + type: string + bonus_proposer_reward: + type: string + withdraw_addr_enabled: + type: boolean + description: Params defines the set of params for the distribution module. + cosmos.distribution.v1beta1.QueryCommunityPoolResponse: + type: object + properties: + pool: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string + description: |- + DecCoin defines a token with a denomination and a decimal amount. - Since: cosmos-sdk 0.43 - description: |- - Metadata represents a struct that describes - a basic token. + NOTE: The amount field is an Dec which implements the custom method + signatures required by gogoproto. + description: pool defines community pool's coins. description: >- - QueryDenomMetadataResponse is the response type for the - Query/DenomMetadata RPC + QueryCommunityPoolResponse is the response type for the + Query/CommunityPool - method. - cosmos.bank.v1beta1.QueryDenomsMetadataResponse: + RPC method. + cosmos.distribution.v1beta1.QueryDelegationRewardsResponse: type: object properties: - metadatas: + rewards: type: array items: type: object properties: - description: + denom: type: string - denom_units: + amount: + type: string + description: |- + DecCoin defines a token with a denomination and a decimal amount. + + NOTE: The amount field is an Dec which implements the custom method + signatures required by gogoproto. + description: rewards defines the rewards accrued by a delegation. + description: |- + QueryDelegationRewardsResponse is the response type for the + Query/DelegationRewards RPC method. + cosmos.distribution.v1beta1.QueryDelegationTotalRewardsResponse: + type: object + properties: + rewards: + type: array + items: + type: object + properties: + validator_address: + type: string + reward: type: array items: type: object properties: denom: type: string - description: >- - denom represents the string name of the given denom unit - (e.g uatom). - exponent: - type: integer - format: int64 - description: >- - exponent represents power of 10 exponent that one must - - raise the base_denom to in order to equal the given - DenomUnit's denom + amount: + type: string + description: >- + DecCoin defines a token with a denomination and a decimal + amount. - 1 denom = 1^exponent base_denom - (e.g. with a base_denom of uatom, one can create a - DenomUnit of 'atom' with + NOTE: The amount field is an Dec which implements the custom + method - exponent = 6, thus: 1 atom = 10^6 uatom). - aliases: - type: array - items: - type: string - title: aliases is a list of string aliases for the given denom - description: |- - DenomUnit represents a struct that describes a given - denomination unit of the basic token. - title: denom_units represents the list of DenomUnit's for a given coin - base: - type: string - description: >- - base represents the base denom (should be the DenomUnit with - exponent = 0). - display: - type: string - description: |- - display indicates the suggested denom that should be - displayed in clients. - name: + signatures required by gogoproto. + description: |- + DelegationDelegatorReward represents the properties + of a delegator's delegation reward. + description: rewards defines all the rewards accrued by a delegator. + total: + type: array + items: + type: object + properties: + denom: type: string - description: 'Since: cosmos-sdk 0.43' - title: 'name defines the name of the token (eg: Cosmos Atom)' - symbol: + amount: type: string - description: >- - symbol is the token symbol usually shown on exchanges (eg: - ATOM). This can - - be the same as the display. - - - Since: cosmos-sdk 0.43 description: |- - Metadata represents a struct that describes - a basic token. - description: >- - metadata provides the client information for all the registered - tokens. - pagination: - description: pagination defines the pagination in the response. + DecCoin defines a token with a denomination and a decimal amount. + + NOTE: The amount field is an Dec which implements the custom method + signatures required by gogoproto. + description: total defines the sum of all the rewards. + description: |- + QueryDelegationTotalRewardsResponse is the response type for the + Query/DelegationTotalRewards RPC method. + cosmos.distribution.v1beta1.QueryDelegatorValidatorsResponse: + type: object + properties: + validators: + type: array + items: + type: string + description: validators defines the validators a delegator is delegating for. + description: |- + QueryDelegatorValidatorsResponse is the response type for the + Query/DelegatorValidators RPC method. + cosmos.distribution.v1beta1.QueryDelegatorWithdrawAddressResponse: + type: object + properties: + withdraw_address: + type: string + description: withdraw_address defines the delegator address to query for. + description: |- + QueryDelegatorWithdrawAddressResponse is the response type for the + Query/DelegatorWithdrawAddress RPC method. + cosmos.distribution.v1beta1.QueryParamsResponse: + type: object + properties: + params: + description: params defines the parameters of the module. type: object properties: - next_key: + community_tax: type: string - format: byte - title: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently - total: + base_proposer_reward: type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total - - was set, its value is undefined otherwise - description: >- - QueryDenomsMetadataResponse is the response type for the - Query/DenomsMetadata RPC - - method. - cosmos.bank.v1beta1.QueryParamsResponse: + bonus_proposer_reward: + type: string + withdraw_addr_enabled: + type: boolean + description: QueryParamsResponse is the response type for the Query/Params RPC method. + cosmos.distribution.v1beta1.QueryValidatorCommissionResponse: type: object properties: - params: + commission: + description: commission defines the commision the validator received. type: object properties: - send_enabled: + commission: type: array items: type: object properties: denom: type: string - enabled: - type: boolean + amount: + type: string description: >- - SendEnabled maps coin denom to a send_enabled status (whether a - denom is + DecCoin defines a token with a denomination and a decimal + amount. - sendable). - default_send_enabled: - type: boolean - description: Params defines the parameters for the bank module. - description: >- - QueryParamsResponse defines the response type for querying x/bank - parameters. - cosmos.bank.v1beta1.QuerySupplyOfResponse: + + NOTE: The amount field is an Dec which implements the custom + method + + signatures required by gogoproto. + title: |- + QueryValidatorCommissionResponse is the response type for the + Query/ValidatorCommission RPC method + cosmos.distribution.v1beta1.QueryValidatorOutstandingRewardsResponse: type: object properties: - amount: + rewards: type: object properties: - denom: - type: string - amount: - type: string - description: |- - Coin defines a token with a denomination and an amount. + rewards: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + DecCoin defines a token with a denomination and a decimal + amount. - NOTE: The amount field is an Int which implements the custom method - signatures required by gogoproto. - description: >- - QuerySupplyOfResponse is the response type for the Query/SupplyOf RPC - method. - cosmos.bank.v1beta1.QueryTotalSupplyResponse: + + NOTE: The amount field is an Dec which implements the custom + method + + signatures required by gogoproto. + description: >- + ValidatorOutstandingRewards represents outstanding (un-withdrawn) + rewards + + for a validator inexpensive to track, allows simple sanity checks. + description: |- + QueryValidatorOutstandingRewardsResponse is the response type for the + Query/ValidatorOutstandingRewards RPC method. + cosmos.distribution.v1beta1.QueryValidatorSlashesResponse: type: object properties: - supply: + slashes: type: array items: type: object properties: - denom: + validator_period: type: string - amount: + format: uint64 + fraction: type: string description: |- - Coin defines a token with a denomination and an amount. - - NOTE: The amount field is an Int which implements the custom method - signatures required by gogoproto. - title: supply is the supply of the coins + ValidatorSlashEvent represents a validator slash event. + Height is implicit within the store key. + This is needed to calculate appropriate amount of staking tokens + for delegations which are withdrawn after a slash has occurred. + description: slashes defines the slashes the validator received. pagination: - description: |- - pagination defines the pagination in the response. - - Since: cosmos-sdk 0.43 + description: pagination defines the pagination in the response. type: object properties: next_key: type: string format: byte - title: |- + description: |- next_key is the key to be passed to PageRequest.key to - query the next page most efficiently + query the next page most efficiently. It will be empty if + there are no more results. total: type: string format: uint64 @@ -31196,1332 +55076,1106 @@ definitions: PageRequest.count_total was set, its value is undefined otherwise - title: >- - QueryTotalSupplyResponse is the response type for the Query/TotalSupply - RPC + description: |- + QueryValidatorSlashesResponse is the response type for the + Query/ValidatorSlashes RPC method. + cosmos.distribution.v1beta1.ValidatorAccumulatedCommission: + type: object + properties: + commission: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string + description: |- + DecCoin defines a token with a denomination and a decimal amount. - method - cosmos.bank.v1beta1.SendEnabled: + NOTE: The amount field is an Dec which implements the custom method + signatures required by gogoproto. + description: |- + ValidatorAccumulatedCommission represents accumulated commission + for a validator kept as a running counter, can be withdrawn at any time. + cosmos.distribution.v1beta1.ValidatorOutstandingRewards: type: object properties: - denom: - type: string - enabled: - type: boolean + rewards: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string + description: |- + DecCoin defines a token with a denomination and a decimal amount. + + NOTE: The amount field is an Dec which implements the custom method + signatures required by gogoproto. description: |- - SendEnabled maps coin denom to a send_enabled status (whether a denom is - sendable). - cosmos.base.v1beta1.Coin: + ValidatorOutstandingRewards represents outstanding (un-withdrawn) rewards + for a validator inexpensive to track, allows simple sanity checks. + cosmos.distribution.v1beta1.ValidatorSlashEvent: type: object properties: - denom: + validator_period: type: string - amount: + format: uint64 + fraction: type: string description: |- - Coin defines a token with a denomination and an amount. - - NOTE: The amount field is an Int which implements the custom method - signatures required by gogoproto. - cosmos.base.tendermint.v1beta1.GetBlockByHeightResponse: + ValidatorSlashEvent represents a validator slash event. + Height is implicit within the store key. + This is needed to calculate appropriate amount of staking tokens + for delegations which are withdrawn after a slash has occurred. + cosmos.evidence.v1beta1.MsgSubmitEvidenceResponse: type: object properties: - block_id: - type: object - properties: - hash: - type: string - format: byte - part_set_header: - type: object - properties: - total: - type: integer - format: int64 - hash: - type: string - format: byte - title: PartsetHeader - title: BlockID - block: - type: object - properties: - header: - type: object - properties: - version: - title: basic block info - type: object - properties: - block: - type: string - format: uint64 - app: - type: string - format: uint64 - description: >- - Consensus captures the consensus rules for processing a block - in the blockchain, + hash: + type: string + format: byte + description: hash defines the hash of the evidence. + description: MsgSubmitEvidenceResponse defines the Msg/SubmitEvidence response type. + cosmos.evidence.v1beta1.QueryAllEvidenceResponse: + type: object + properties: + evidence: + type: array + items: + type: object + properties: + '@type': + type: string + description: >- + A URL/resource name that uniquely identifies the type of the + serialized + + protocol buffer message. This string must contain at least + + one "/" character. The last segment of the URL's path must + represent + + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name should be in a + canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the binary all types + that they + + expect it to use in the context of Any. However, for URLs which + use the + + scheme `http`, `https`, or no scheme, one can optionally set up + a type + + server that maps type URLs to message definitions as follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available in the + official + + protobuf release, and it is not used for type URLs beginning + with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty scheme) might + be + + used with implementation specific semantics. + additionalProperties: {} + description: >- + `Any` contains an arbitrary serialized protocol buffer message along + with a + + URL that describes the type of the serialized message. + + + Protobuf library provides support to pack/unpack Any values in the + form + + of utility functions or additional generated methods of the Any + type. + + + Example 1: Pack and unpack a message in C++. + + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } + + Example 2: Pack and unpack a message in Java. + + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + + Example 3: Pack and unpack a message in Python. + + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + + Example 4: Pack and unpack a message in Go + + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } + + The pack methods provided by protobuf library will by default use + + 'type.googleapis.com/full.type.name' as the type URL and the unpack + + methods only use the fully qualified type name after the last '/' - including all blockchain data structures and the rules of the - application's + in the type URL, for example "foo.bar.com/x/y.z" will yield type - state transition machine. - chain_id: - type: string - height: - type: string - format: int64 - time: - type: string - format: date-time - last_block_id: - type: object - properties: - hash: - type: string - format: byte - part_set_header: - type: object - properties: - total: - type: integer - format: int64 - hash: - type: string - format: byte - title: PartsetHeader - title: BlockID - last_commit_hash: - type: string - format: byte - title: hashes of block data - data_hash: - type: string - format: byte - validators_hash: - type: string - format: byte - title: hashes from the app output from the prev block - next_validators_hash: - type: string - format: byte - consensus_hash: - type: string - format: byte - app_hash: - type: string - format: byte - last_results_hash: - type: string - format: byte - evidence_hash: - type: string - format: byte - title: consensus info - proposer_address: - type: string - format: byte - description: Header defines the structure of a Tendermint block header. - data: - type: object - properties: - txs: - type: array - items: - type: string - format: byte - description: >- - Txs that will be applied by state @ block.Height+1. + name "y.z". - NOTE: not all txs here are valid. We're just agreeing on the - order first. - This means that block.AppHash does not include these txs. - title: Data contains the set of transactions included in the block - evidence: - type: object - properties: - evidence: - type: array - items: - type: object - properties: - duplicate_vote_evidence: - type: object - properties: - vote_a: - type: object - properties: - type: - type: string - enum: - - SIGNED_MSG_TYPE_UNKNOWN - - SIGNED_MSG_TYPE_PREVOTE - - SIGNED_MSG_TYPE_PRECOMMIT - - SIGNED_MSG_TYPE_PROPOSAL - default: SIGNED_MSG_TYPE_UNKNOWN - description: >- - SignedMsgType is a type of signed message in the - consensus. - - SIGNED_MSG_TYPE_PREVOTE: Votes - - SIGNED_MSG_TYPE_PROPOSAL: Proposals - height: - type: string - format: int64 - round: - type: integer - format: int32 - block_id: - type: object - properties: - hash: - type: string - format: byte - part_set_header: - type: object - properties: - total: - type: integer - format: int64 - hash: - type: string - format: byte - title: PartsetHeader - title: BlockID - timestamp: - type: string - format: date-time - validator_address: - type: string - format: byte - validator_index: - type: integer - format: int32 - signature: - type: string - format: byte - description: >- - Vote represents a prevote, precommit, or commit vote - from validators for + JSON - consensus. - vote_b: - type: object - properties: - type: - type: string - enum: - - SIGNED_MSG_TYPE_UNKNOWN - - SIGNED_MSG_TYPE_PREVOTE - - SIGNED_MSG_TYPE_PRECOMMIT - - SIGNED_MSG_TYPE_PROPOSAL - default: SIGNED_MSG_TYPE_UNKNOWN - description: >- - SignedMsgType is a type of signed message in the - consensus. + ==== - - SIGNED_MSG_TYPE_PREVOTE: Votes - - SIGNED_MSG_TYPE_PROPOSAL: Proposals - height: - type: string - format: int64 - round: - type: integer - format: int32 - block_id: - type: object - properties: - hash: - type: string - format: byte - part_set_header: - type: object - properties: - total: - type: integer - format: int64 - hash: - type: string - format: byte - title: PartsetHeader - title: BlockID - timestamp: - type: string - format: date-time - validator_address: - type: string - format: byte - validator_index: - type: integer - format: int32 - signature: - type: string - format: byte - description: >- - Vote represents a prevote, precommit, or commit vote - from validators for + The JSON representation of an `Any` value uses the regular - consensus. - total_voting_power: - type: string - format: int64 - validator_power: - type: string - format: int64 - timestamp: - type: string - format: date-time - description: >- - DuplicateVoteEvidence contains evidence of a validator - signed two conflicting votes. - light_client_attack_evidence: - type: object - properties: - conflicting_block: - type: object - properties: - signed_header: - type: object - properties: - header: - type: object - properties: - version: - title: basic block info - type: object - properties: - block: - type: string - format: uint64 - app: - type: string - format: uint64 - description: >- - Consensus captures the consensus rules - for processing a block in the - blockchain, + representation of the deserialized, embedded message, with an - including all blockchain data structures - and the rules of the application's + additional field `@type` which contains the type URL. Example: - state transition machine. - chain_id: - type: string - height: - type: string - format: int64 - time: - type: string - format: date-time - last_block_id: - type: object - properties: - hash: - type: string - format: byte - part_set_header: - type: object - properties: - total: - type: integer - format: int64 - hash: - type: string - format: byte - title: PartsetHeader - title: BlockID - last_commit_hash: - type: string - format: byte - title: hashes of block data - data_hash: - type: string - format: byte - validators_hash: - type: string - format: byte - title: >- - hashes from the app output from the prev - block - next_validators_hash: - type: string - format: byte - consensus_hash: - type: string - format: byte - app_hash: - type: string - format: byte - last_results_hash: - type: string - format: byte - evidence_hash: - type: string - format: byte - title: consensus info - proposer_address: - type: string - format: byte - description: >- - Header defines the structure of a Tendermint - block header. - commit: - type: object - properties: - height: - type: string - format: int64 - round: - type: integer - format: int32 - block_id: - type: object - properties: - hash: - type: string - format: byte - part_set_header: - type: object - properties: - total: - type: integer - format: int64 - hash: - type: string - format: byte - title: PartsetHeader - title: BlockID - signatures: - type: array - items: - type: object - properties: - block_id_flag: - type: string - enum: - - BLOCK_ID_FLAG_UNKNOWN - - BLOCK_ID_FLAG_ABSENT - - BLOCK_ID_FLAG_COMMIT - - BLOCK_ID_FLAG_NIL - default: BLOCK_ID_FLAG_UNKNOWN - title: >- - BlockIdFlag indicates which BlcokID the - signature is for - validator_address: - type: string - format: byte - timestamp: - type: string - format: date-time - signature: - type: string - format: byte - description: >- - CommitSig is a part of the Vote included - in a Commit. - description: >- - Commit contains the evidence that a block - was committed by a set of validators. - validator_set: - type: object - properties: - validators: - type: array - items: - type: object - properties: - address: - type: string - format: byte - pub_key: - type: object - properties: - ed25519: - type: string - format: byte - secp256k1: - type: string - format: byte - title: >- - PublicKey defines the keys available for - use with Tendermint Validators - voting_power: - type: string - format: int64 - proposer_priority: - type: string - format: int64 - proposer: - type: object - properties: - address: - type: string - format: byte - pub_key: - type: object - properties: - ed25519: - type: string - format: byte - secp256k1: - type: string - format: byte - title: >- - PublicKey defines the keys available for - use with Tendermint Validators - voting_power: - type: string - format: int64 - proposer_priority: - type: string - format: int64 - total_voting_power: - type: string - format: int64 - common_height: - type: string - format: int64 - byzantine_validators: - type: array - items: - type: object - properties: - address: - type: string - format: byte - pub_key: - type: object - properties: - ed25519: - type: string - format: byte - secp256k1: - type: string - format: byte - title: >- - PublicKey defines the keys available for use - with Tendermint Validators - voting_power: - type: string - format: int64 - proposer_priority: - type: string - format: int64 - total_voting_power: - type: string - format: int64 - timestamp: - type: string - format: date-time - description: >- - LightClientAttackEvidence contains evidence of a set of - validators attempting to mislead a light client. - last_commit: - type: object - properties: - height: - type: string - format: int64 - round: - type: integer - format: int32 - block_id: - type: object - properties: - hash: - type: string - format: byte - part_set_header: - type: object - properties: - total: - type: integer - format: int64 - hash: - type: string - format: byte - title: PartsetHeader - title: BlockID - signatures: - type: array - items: - type: object - properties: - block_id_flag: - type: string - enum: - - BLOCK_ID_FLAG_UNKNOWN - - BLOCK_ID_FLAG_ABSENT - - BLOCK_ID_FLAG_COMMIT - - BLOCK_ID_FLAG_NIL - default: BLOCK_ID_FLAG_UNKNOWN - title: BlockIdFlag indicates which BlcokID the signature is for - validator_address: - type: string - format: byte - timestamp: - type: string - format: date-time - signature: - type: string - format: byte - description: CommitSig is a part of the Vote included in a Commit. + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } + + If the embedded message type is well-known and has a custom JSON + + representation, that representation will be embedded adding a field + + `value` which holds the custom JSON in addition to the `@type` + + field. Example (for message [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + description: evidence returns all evidences. + pagination: + description: pagination defines the pagination in the response. + type: object + properties: + next_key: + type: string + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + total: + type: string + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total + + was set, its value is undefined otherwise + description: >- + QueryAllEvidenceResponse is the response type for the Query/AllEvidence + RPC + + method. + cosmos.evidence.v1beta1.QueryEvidenceResponse: + type: object + properties: + evidence: + description: evidence returns the requested evidence. + type: object + properties: + '@type': + type: string description: >- - Commit contains the evidence that a block was committed by a set - of validators. + A URL/resource name that uniquely identifies the type of the + serialized + + protocol buffer message. This string must contain at least + + one "/" character. The last segment of the URL's path must + represent + + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name should be in a + canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the binary all types + that they + + expect it to use in the context of Any. However, for URLs which + use the + + scheme `http`, `https`, or no scheme, one can optionally set up a + type + + server that maps type URLs to message definitions as follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available in the + official + + protobuf release, and it is not used for type URLs beginning with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty scheme) might be + + used with implementation specific semantics. + additionalProperties: {} description: >- - GetBlockByHeightResponse is the response type for the - Query/GetBlockByHeight RPC method. - cosmos.base.tendermint.v1beta1.GetLatestBlockResponse: + QueryEvidenceResponse is the response type for the Query/Evidence RPC + method. + cosmos.feegrant.v1beta1.Grant: type: object properties: - block_id: + granter: + type: string + description: >- + granter is the address of the user granting an allowance of their + funds. + grantee: + type: string + description: >- + grantee is the address of the user being granted an allowance of + another user's funds. + allowance: + description: allowance can be any of basic, periodic, allowed fee allowance. type: object properties: - hash: + '@type': type: string - format: byte - part_set_header: - type: object - properties: - total: - type: integer - format: int64 - hash: - type: string - format: byte - title: PartsetHeader - title: BlockID - block: + description: >- + A URL/resource name that uniquely identifies the type of the + serialized + + protocol buffer message. This string must contain at least + + one "/" character. The last segment of the URL's path must + represent + + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name should be in a + canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the binary all types + that they + + expect it to use in the context of Any. However, for URLs which + use the + + scheme `http`, `https`, or no scheme, one can optionally set up a + type + + server that maps type URLs to message definitions as follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available in the + official + + protobuf release, and it is not used for type URLs beginning with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty scheme) might be + + used with implementation specific semantics. + additionalProperties: {} + title: Grant is stored in the KVStore to record a grant with full context + cosmos.feegrant.v1beta1.MsgGrantAllowanceResponse: + type: object + description: >- + MsgGrantAllowanceResponse defines the Msg/GrantAllowanceResponse response + type. + cosmos.feegrant.v1beta1.MsgRevokeAllowanceResponse: + type: object + description: >- + MsgRevokeAllowanceResponse defines the Msg/RevokeAllowanceResponse + response type. + cosmos.feegrant.v1beta1.QueryAllowanceResponse: + type: object + properties: + allowance: + description: allowance is a allowance granted for grantee by granter. type: object properties: - header: + granter: + type: string + description: >- + granter is the address of the user granting an allowance of their + funds. + grantee: + type: string + description: >- + grantee is the address of the user being granted an allowance of + another user's funds. + allowance: + description: allowance can be any of basic, periodic, allowed fee allowance. type: object properties: - version: - title: basic block info - type: object - properties: - block: - type: string - format: uint64 - app: - type: string - format: uint64 + '@type': + type: string description: >- - Consensus captures the consensus rules for processing a block - in the blockchain, + A URL/resource name that uniquely identifies the type of the + serialized - including all blockchain data structures and the rules of the - application's + protocol buffer message. This string must contain at least - state transition machine. - chain_id: - type: string - height: - type: string - format: int64 - time: - type: string - format: date-time - last_block_id: - type: object - properties: - hash: - type: string - format: byte - part_set_header: - type: object - properties: - total: - type: integer - format: int64 - hash: - type: string - format: byte - title: PartsetHeader - title: BlockID - last_commit_hash: - type: string - format: byte - title: hashes of block data - data_hash: - type: string - format: byte - validators_hash: - type: string - format: byte - title: hashes from the app output from the prev block - next_validators_hash: - type: string - format: byte - consensus_hash: - type: string - format: byte - app_hash: - type: string - format: byte - last_results_hash: - type: string - format: byte - evidence_hash: - type: string - format: byte - title: consensus info - proposer_address: - type: string - format: byte - description: Header defines the structure of a Tendermint block header. - data: - type: object - properties: - txs: - type: array - items: + one "/" character. The last segment of the URL's path must + represent + + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name should be in a + canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the binary all + types that they + + expect it to use in the context of Any. However, for URLs + which use the + + scheme `http`, `https`, or no scheme, one can optionally set + up a type + + server that maps type URLs to message definitions as follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based on + the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available in the + official + + protobuf release, and it is not used for type URLs beginning + with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty scheme) might + be + + used with implementation specific semantics. + additionalProperties: {} + title: Grant is stored in the KVStore to record a grant with full context + description: >- + QueryAllowanceResponse is the response type for the Query/Allowance RPC + method. + cosmos.feegrant.v1beta1.QueryAllowancesByGranterResponse: + type: object + properties: + allowances: + type: array + items: + type: object + properties: + granter: + type: string + description: >- + granter is the address of the user granting an allowance of + their funds. + grantee: + type: string + description: >- + grantee is the address of the user being granted an allowance of + another user's funds. + allowance: + description: allowance can be any of basic, periodic, allowed fee allowance. + type: object + properties: + '@type': type: string - format: byte - description: >- - Txs that will be applied by state @ block.Height+1. + description: >- + A URL/resource name that uniquely identifies the type of the + serialized - NOTE: not all txs here are valid. We're just agreeing on the - order first. + protocol buffer message. This string must contain at least - This means that block.AppHash does not include these txs. - title: Data contains the set of transactions included in the block - evidence: - type: object - properties: - evidence: - type: array - items: - type: object - properties: - duplicate_vote_evidence: - type: object - properties: - vote_a: - type: object - properties: - type: - type: string - enum: - - SIGNED_MSG_TYPE_UNKNOWN - - SIGNED_MSG_TYPE_PREVOTE - - SIGNED_MSG_TYPE_PRECOMMIT - - SIGNED_MSG_TYPE_PROPOSAL - default: SIGNED_MSG_TYPE_UNKNOWN - description: >- - SignedMsgType is a type of signed message in the - consensus. + one "/" character. The last segment of the URL's path must + represent + + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name should be in a + canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the binary all + types that they + + expect it to use in the context of Any. However, for URLs + which use the + + scheme `http`, `https`, or no scheme, one can optionally set + up a type + + server that maps type URLs to message definitions as + follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based on + the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available in the + official + + protobuf release, and it is not used for type URLs beginning + with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty scheme) + might be + + used with implementation specific semantics. + additionalProperties: {} + title: Grant is stored in the KVStore to record a grant with full context + description: allowances that have been issued by the granter. + pagination: + description: pagination defines an pagination for the response. + type: object + properties: + next_key: + type: string + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + total: + type: string + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total + + was set, its value is undefined otherwise + description: >- + QueryAllowancesByGranterResponse is the response type for the + Query/AllowancesByGranter RPC method. + + + Since: cosmos-sdk 0.46 + cosmos.feegrant.v1beta1.QueryAllowancesResponse: + type: object + properties: + allowances: + type: array + items: + type: object + properties: + granter: + type: string + description: >- + granter is the address of the user granting an allowance of + their funds. + grantee: + type: string + description: >- + grantee is the address of the user being granted an allowance of + another user's funds. + allowance: + description: allowance can be any of basic, periodic, allowed fee allowance. + type: object + properties: + '@type': + type: string + description: >- + A URL/resource name that uniquely identifies the type of the + serialized + + protocol buffer message. This string must contain at least + + one "/" character. The last segment of the URL's path must + represent + + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name should be in a + canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the binary all + types that they + + expect it to use in the context of Any. However, for URLs + which use the - - SIGNED_MSG_TYPE_PREVOTE: Votes - - SIGNED_MSG_TYPE_PROPOSAL: Proposals - height: - type: string - format: int64 - round: - type: integer - format: int32 - block_id: - type: object - properties: - hash: - type: string - format: byte - part_set_header: - type: object - properties: - total: - type: integer - format: int64 - hash: - type: string - format: byte - title: PartsetHeader - title: BlockID - timestamp: - type: string - format: date-time - validator_address: - type: string - format: byte - validator_index: - type: integer - format: int32 - signature: - type: string - format: byte - description: >- - Vote represents a prevote, precommit, or commit vote - from validators for + scheme `http`, `https`, or no scheme, one can optionally set + up a type - consensus. - vote_b: - type: object - properties: - type: - type: string - enum: - - SIGNED_MSG_TYPE_UNKNOWN - - SIGNED_MSG_TYPE_PREVOTE - - SIGNED_MSG_TYPE_PRECOMMIT - - SIGNED_MSG_TYPE_PROPOSAL - default: SIGNED_MSG_TYPE_UNKNOWN - description: >- - SignedMsgType is a type of signed message in the - consensus. + server that maps type URLs to message definitions as + follows: - - SIGNED_MSG_TYPE_PREVOTE: Votes - - SIGNED_MSG_TYPE_PROPOSAL: Proposals - height: - type: string - format: int64 - round: - type: integer - format: int32 - block_id: - type: object - properties: - hash: - type: string - format: byte - part_set_header: - type: object - properties: - total: - type: integer - format: int64 - hash: - type: string - format: byte - title: PartsetHeader - title: BlockID - timestamp: - type: string - format: date-time - validator_address: - type: string - format: byte - validator_index: - type: integer - format: int32 - signature: - type: string - format: byte - description: >- - Vote represents a prevote, precommit, or commit vote - from validators for - consensus. - total_voting_power: - type: string - format: int64 - validator_power: - type: string - format: int64 - timestamp: - type: string - format: date-time - description: >- - DuplicateVoteEvidence contains evidence of a validator - signed two conflicting votes. - light_client_attack_evidence: - type: object - properties: - conflicting_block: - type: object - properties: - signed_header: - type: object - properties: - header: - type: object - properties: - version: - title: basic block info - type: object - properties: - block: - type: string - format: uint64 - app: - type: string - format: uint64 - description: >- - Consensus captures the consensus rules - for processing a block in the - blockchain, + * If no scheme is provided, `https` is assumed. - including all blockchain data structures - and the rules of the application's + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based on + the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) - state transition machine. - chain_id: - type: string - height: - type: string - format: int64 - time: - type: string - format: date-time - last_block_id: - type: object - properties: - hash: - type: string - format: byte - part_set_header: - type: object - properties: - total: - type: integer - format: int64 - hash: - type: string - format: byte - title: PartsetHeader - title: BlockID - last_commit_hash: - type: string - format: byte - title: hashes of block data - data_hash: - type: string - format: byte - validators_hash: - type: string - format: byte - title: >- - hashes from the app output from the prev - block - next_validators_hash: - type: string - format: byte - consensus_hash: - type: string - format: byte - app_hash: - type: string - format: byte - last_results_hash: - type: string - format: byte - evidence_hash: - type: string - format: byte - title: consensus info - proposer_address: - type: string - format: byte - description: >- - Header defines the structure of a Tendermint - block header. - commit: - type: object - properties: - height: - type: string - format: int64 - round: - type: integer - format: int32 - block_id: - type: object - properties: - hash: - type: string - format: byte - part_set_header: - type: object - properties: - total: - type: integer - format: int64 - hash: - type: string - format: byte - title: PartsetHeader - title: BlockID - signatures: - type: array - items: - type: object - properties: - block_id_flag: - type: string - enum: - - BLOCK_ID_FLAG_UNKNOWN - - BLOCK_ID_FLAG_ABSENT - - BLOCK_ID_FLAG_COMMIT - - BLOCK_ID_FLAG_NIL - default: BLOCK_ID_FLAG_UNKNOWN - title: >- - BlockIdFlag indicates which BlcokID the - signature is for - validator_address: - type: string - format: byte - timestamp: - type: string - format: date-time - signature: - type: string - format: byte - description: >- - CommitSig is a part of the Vote included - in a Commit. - description: >- - Commit contains the evidence that a block - was committed by a set of validators. - validator_set: - type: object - properties: - validators: - type: array - items: - type: object - properties: - address: - type: string - format: byte - pub_key: - type: object - properties: - ed25519: - type: string - format: byte - secp256k1: - type: string - format: byte - title: >- - PublicKey defines the keys available for - use with Tendermint Validators - voting_power: - type: string - format: int64 - proposer_priority: - type: string - format: int64 - proposer: - type: object - properties: - address: - type: string - format: byte - pub_key: - type: object - properties: - ed25519: - type: string - format: byte - secp256k1: - type: string - format: byte - title: >- - PublicKey defines the keys available for - use with Tendermint Validators - voting_power: - type: string - format: int64 - proposer_priority: - type: string - format: int64 - total_voting_power: - type: string - format: int64 - common_height: - type: string - format: int64 - byzantine_validators: - type: array - items: - type: object - properties: - address: - type: string - format: byte - pub_key: - type: object - properties: - ed25519: - type: string - format: byte - secp256k1: - type: string - format: byte - title: >- - PublicKey defines the keys available for use - with Tendermint Validators - voting_power: - type: string - format: int64 - proposer_priority: - type: string - format: int64 - total_voting_power: - type: string - format: int64 - timestamp: - type: string - format: date-time - description: >- - LightClientAttackEvidence contains evidence of a set of - validators attempting to mislead a light client. - last_commit: - type: object - properties: - height: - type: string - format: int64 - round: - type: integer - format: int32 - block_id: - type: object - properties: - hash: - type: string - format: byte - part_set_header: - type: object - properties: - total: - type: integer - format: int64 - hash: - type: string - format: byte - title: PartsetHeader - title: BlockID - signatures: - type: array - items: - type: object - properties: - block_id_flag: - type: string - enum: - - BLOCK_ID_FLAG_UNKNOWN - - BLOCK_ID_FLAG_ABSENT - - BLOCK_ID_FLAG_COMMIT - - BLOCK_ID_FLAG_NIL - default: BLOCK_ID_FLAG_UNKNOWN - title: BlockIdFlag indicates which BlcokID the signature is for - validator_address: - type: string - format: byte - timestamp: - type: string - format: date-time - signature: - type: string - format: byte - description: CommitSig is a part of the Vote included in a Commit. - description: >- - Commit contains the evidence that a block was committed by a set - of validators. + Note: this functionality is not currently available in the + official + + protobuf release, and it is not used for type URLs beginning + with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty scheme) + might be + + used with implementation specific semantics. + additionalProperties: {} + title: Grant is stored in the KVStore to record a grant with full context + description: allowances are allowance's granted for grantee by granter. + pagination: + description: pagination defines an pagination for the response. + type: object + properties: + next_key: + type: string + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + total: + type: string + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total + + was set, its value is undefined otherwise description: >- - GetLatestBlockResponse is the response type for the Query/GetLatestBlock - RPC method. - cosmos.base.tendermint.v1beta1.GetLatestValidatorSetResponse: + QueryAllowancesResponse is the response type for the Query/Allowances RPC + method. + cosmos.gov.v1.Deposit: type: object properties: - block_height: + proposal_id: + type: string + format: uint64 + depositor: + type: string + amount: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string + description: |- + Coin defines a token with a denomination and an amount. + + NOTE: The amount field is an Int which implements the custom method + signatures required by gogoproto. + description: |- + Deposit defines an amount deposited by an account address to an active + proposal. + cosmos.gov.v1.DepositParams: + type: object + properties: + min_deposit: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string + description: |- + Coin defines a token with a denomination and an amount. + + NOTE: The amount field is an Int which implements the custom method + signatures required by gogoproto. + description: Minimum deposit for a proposal to enter voting period. + max_deposit_period: + type: string + description: >- + Maximum period for Atom holders to deposit on a proposal. Initial + value: 2 + months. + description: DepositParams defines the params for deposits on governance proposals. + cosmos.gov.v1.MsgDepositResponse: + type: object + description: MsgDepositResponse defines the Msg/Deposit response type. + cosmos.gov.v1.MsgExecLegacyContentResponse: + type: object + description: >- + MsgExecLegacyContentResponse defines the Msg/ExecLegacyContent response + type. + cosmos.gov.v1.MsgSubmitProposalResponse: + type: object + properties: + proposal_id: + type: string + format: uint64 + description: MsgSubmitProposalResponse defines the Msg/SubmitProposal response type. + cosmos.gov.v1.MsgVoteResponse: + type: object + description: MsgVoteResponse defines the Msg/Vote response type. + cosmos.gov.v1.MsgVoteWeightedResponse: + type: object + description: MsgVoteWeightedResponse defines the Msg/VoteWeighted response type. + cosmos.gov.v1.Proposal: + type: object + properties: + id: type: string - format: int64 - validators: + format: uint64 + messages: type: array items: type: object properties: - address: + '@type': type: string - pub_key: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of the - serialized + description: >- + A URL/resource name that uniquely identifies the type of the + serialized - protocol buffer message. This string must contain at least + protocol buffer message. This string must contain at least - one "/" character. The last segment of the URL's path must - represent + one "/" character. The last segment of the URL's path must + represent - the fully qualified name of the type (as in + the fully qualified name of the type (as in - `path/google.protobuf.Duration`). The name should be in a - canonical form + `path/google.protobuf.Duration`). The name should be in a + canonical form - (e.g., leading "." is not accepted). + (e.g., leading "." is not accepted). - In practice, teams usually precompile into the binary all - types that they + In practice, teams usually precompile into the binary all types + that they - expect it to use in the context of Any. However, for URLs - which use the + expect it to use in the context of Any. However, for URLs which + use the - scheme `http`, `https`, or no scheme, one can optionally set - up a type + scheme `http`, `https`, or no scheme, one can optionally set up + a type - server that maps type URLs to message definitions as - follows: + server that maps type URLs to message definitions as follows: - * If no scheme is provided, `https` is assumed. + * If no scheme is provided, `https` is assumed. - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based on - the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) + * An HTTP GET on the URL must yield a [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) - Note: this functionality is not currently available in the - official + Note: this functionality is not currently available in the + official - protobuf release, and it is not used for type URLs beginning - with + protobuf release, and it is not used for type URLs beginning + with - type.googleapis.com. + type.googleapis.com. - Schemes other than `http`, `https` (or the empty scheme) - might be + Schemes other than `http`, `https` (or the empty scheme) might + be - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer message - along with a + used with implementation specific semantics. + additionalProperties: {} + description: >- + `Any` contains an arbitrary serialized protocol buffer message along + with a - URL that describes the type of the serialized message. + URL that describes the type of the serialized message. - Protobuf library provides support to pack/unpack Any values in - the form + Protobuf library provides support to pack/unpack Any values in the + form - of utility functions or additional generated methods of the Any - type. + of utility functions or additional generated methods of the Any + type. - Example 1: Pack and unpack a message in C++. + Example 1: Pack and unpack a message in C++. - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } - Example 2: Pack and unpack a message in Java. + Example 2: Pack and unpack a message in Java. - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } - Example 3: Pack and unpack a message in Python. + Example 3: Pack and unpack a message in Python. - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... - Example 4: Pack and unpack a message in Go + Example 4: Pack and unpack a message in Go - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } - The pack methods provided by protobuf library will by default - use + The pack methods provided by protobuf library will by default use - 'type.googleapis.com/full.type.name' as the type URL and the - unpack + 'type.googleapis.com/full.type.name' as the type URL and the unpack - methods only use the fully qualified type name after the last - '/' + methods only use the fully qualified type name after the last '/' - in the type URL, for example "foo.bar.com/x/y.z" will yield type + in the type URL, for example "foo.bar.com/x/y.z" will yield type - name "y.z". + name "y.z". - JSON + JSON - ==== + ==== - The JSON representation of an `Any` value uses the regular + The JSON representation of an `Any` value uses the regular - representation of the deserialized, embedded message, with an + representation of the deserialized, embedded message, with an - additional field `@type` which contains the type URL. Example: + additional field `@type` which contains the type URL. Example: - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } - If the embedded message type is well-known and has a custom JSON + If the embedded message type is well-known and has a custom JSON - representation, that representation will be embedded adding a - field + representation, that representation will be embedded adding a field - `value` which holds the custom JSON in addition to the `@type` + `value` which holds the custom JSON in addition to the `@type` - field. Example (for message [google.protobuf.Duration][]): + field. Example (for message [google.protobuf.Duration][]): - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - voting_power: + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + status: + type: string + enum: + - PROPOSAL_STATUS_UNSPECIFIED + - PROPOSAL_STATUS_DEPOSIT_PERIOD + - PROPOSAL_STATUS_VOTING_PERIOD + - PROPOSAL_STATUS_PASSED + - PROPOSAL_STATUS_REJECTED + - PROPOSAL_STATUS_FAILED + default: PROPOSAL_STATUS_UNSPECIFIED + description: |- + ProposalStatus enumerates the valid statuses of a proposal. + + - PROPOSAL_STATUS_UNSPECIFIED: PROPOSAL_STATUS_UNSPECIFIED defines the default proposal status. + - PROPOSAL_STATUS_DEPOSIT_PERIOD: PROPOSAL_STATUS_DEPOSIT_PERIOD defines a proposal status during the deposit + period. + - PROPOSAL_STATUS_VOTING_PERIOD: PROPOSAL_STATUS_VOTING_PERIOD defines a proposal status during the voting + period. + - PROPOSAL_STATUS_PASSED: PROPOSAL_STATUS_PASSED defines a proposal status of a proposal that has + passed. + - PROPOSAL_STATUS_REJECTED: PROPOSAL_STATUS_REJECTED defines a proposal status of a proposal that has + been rejected. + - PROPOSAL_STATUS_FAILED: PROPOSAL_STATUS_FAILED defines a proposal status of a proposal that has + failed. + final_tally_result: + description: |- + final_tally_result is the final tally result of the proposal. When + querying a proposal via gRPC, this field is not populated until the + proposal's voting period has ended. + type: object + properties: + yes_count: + type: string + abstain_count: + type: string + no_count: + type: string + no_with_veto_count: + type: string + submit_time: + type: string + format: date-time + deposit_end_time: + type: string + format: date-time + total_deposit: + type: array + items: + type: object + properties: + denom: type: string - format: int64 - proposer_priority: + amount: type: string - format: int64 - description: Validator is the type for the validator-set. + description: |- + Coin defines a token with a denomination and an amount. + + NOTE: The amount field is an Int which implements the custom method + signatures required by gogoproto. + voting_start_time: + type: string + format: date-time + voting_end_time: + type: string + format: date-time + metadata: + type: string + description: metadata is any arbitrary metadata attached to the proposal. + description: Proposal defines the core field members of a governance proposal. + cosmos.gov.v1.ProposalStatus: + type: string + enum: + - PROPOSAL_STATUS_UNSPECIFIED + - PROPOSAL_STATUS_DEPOSIT_PERIOD + - PROPOSAL_STATUS_VOTING_PERIOD + - PROPOSAL_STATUS_PASSED + - PROPOSAL_STATUS_REJECTED + - PROPOSAL_STATUS_FAILED + default: PROPOSAL_STATUS_UNSPECIFIED + description: |- + ProposalStatus enumerates the valid statuses of a proposal. + + - PROPOSAL_STATUS_UNSPECIFIED: PROPOSAL_STATUS_UNSPECIFIED defines the default proposal status. + - PROPOSAL_STATUS_DEPOSIT_PERIOD: PROPOSAL_STATUS_DEPOSIT_PERIOD defines a proposal status during the deposit + period. + - PROPOSAL_STATUS_VOTING_PERIOD: PROPOSAL_STATUS_VOTING_PERIOD defines a proposal status during the voting + period. + - PROPOSAL_STATUS_PASSED: PROPOSAL_STATUS_PASSED defines a proposal status of a proposal that has + passed. + - PROPOSAL_STATUS_REJECTED: PROPOSAL_STATUS_REJECTED defines a proposal status of a proposal that has + been rejected. + - PROPOSAL_STATUS_FAILED: PROPOSAL_STATUS_FAILED defines a proposal status of a proposal that has + failed. + cosmos.gov.v1.QueryDepositResponse: + type: object + properties: + deposit: + description: deposit defines the requested deposit. + type: object + properties: + proposal_id: + type: string + format: uint64 + depositor: + type: string + amount: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. + + + NOTE: The amount field is an Int which implements the custom + method + + signatures required by gogoproto. + description: >- + QueryDepositResponse is the response type for the Query/Deposit RPC + method. + cosmos.gov.v1.QueryDepositsResponse: + type: object + properties: + deposits: + type: array + items: + type: object + properties: + proposal_id: + type: string + format: uint64 + depositor: + type: string + amount: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. + + + NOTE: The amount field is an Int which implements the custom + method + + signatures required by gogoproto. + description: >- + Deposit defines an amount deposited by an account address to an + active + + proposal. pagination: - description: pagination defines an pagination for the response. + description: pagination defines the pagination in the response. type: object properties: next_key: type: string format: byte - title: |- + description: |- next_key is the key to be passed to PageRequest.key to - query the next page most efficiently + query the next page most efficiently. It will be empty if + there are no more results. total: type: string format: uint64 @@ -32531,105 +56185,80 @@ definitions: was set, its value is undefined otherwise description: >- - GetLatestValidatorSetResponse is the response type for the - Query/GetValidatorSetByHeight RPC method. - cosmos.base.tendermint.v1beta1.GetNodeInfoResponse: + QueryDepositsResponse is the response type for the Query/Deposits RPC + method. + cosmos.gov.v1.QueryParamsResponse: type: object properties: - default_node_info: + voting_params: + description: voting_params defines the parameters related to voting. type: object properties: - protocol_version: - type: object - properties: - p2p: - type: string - format: uint64 - block: - type: string - format: uint64 - app: - type: string - format: uint64 - default_node_id: - type: string - listen_addr: - type: string - network: - type: string - version: - type: string - channels: - type: string - format: byte - moniker: + voting_period: type: string - other: - type: object - properties: - tx_index: - type: string - rpc_address: - type: string - application_version: + description: Length of the voting period. + deposit_params: + description: deposit_params defines the parameters related to deposit. type: object properties: - name: - type: string - app_name: - type: string - version: - type: string - git_commit: - type: string - build_tags: - type: string - go_version: - type: string - build_deps: + min_deposit: type: array items: type: object properties: - path: - type: string - title: module path - version: + denom: type: string - title: module version - sum: + amount: type: string - title: checksum - title: Module is the type for VersionInfo - cosmos_sdk_version: + description: >- + Coin defines a token with a denomination and an amount. + + + NOTE: The amount field is an Int which implements the custom + method + + signatures required by gogoproto. + description: Minimum deposit for a proposal to enter voting period. + max_deposit_period: type: string - title: 'Since: cosmos-sdk 0.43' - description: VersionInfo is the type for the GetNodeInfoResponse message. - description: >- - GetNodeInfoResponse is the request type for the Query/GetNodeInfo RPC - method. - cosmos.base.tendermint.v1beta1.GetSyncingResponse: - type: object - properties: - syncing: - type: boolean - description: >- - GetSyncingResponse is the response type for the Query/GetSyncing RPC - method. - cosmos.base.tendermint.v1beta1.GetValidatorSetByHeightResponse: + description: >- + Maximum period for Atom holders to deposit on a proposal. Initial + value: 2 + months. + tally_params: + description: tally_params defines the parameters related to tally. + type: object + properties: + quorum: + type: string + description: >- + Minimum percentage of total stake needed to vote for a result to + be + considered valid. + threshold: + type: string + description: >- + Minimum proportion of Yes votes for proposal to pass. Default + value: 0.5. + veto_threshold: + type: string + description: >- + Minimum value of Veto votes to Total votes ratio for proposal to + be + vetoed. Default value: 1/3. + description: QueryParamsResponse is the response type for the Query/Params RPC method. + cosmos.gov.v1.QueryProposalResponse: type: object properties: - block_height: - type: string - format: int64 - validators: - type: array - items: - type: object - properties: - address: - type: string - pub_key: + proposal: + type: object + properties: + id: + type: string + format: uint64 + messages: + type: array + items: type: object properties: '@type': @@ -32796,3165 +56425,3904 @@ definitions: "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" } - voting_power: - type: string - format: int64 - proposer_priority: - type: string - format: int64 - description: Validator is the type for the validator-set. - pagination: - description: pagination defines an pagination for the response. - type: object - properties: - next_key: - type: string - format: byte - title: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently - total: + status: type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total + enum: + - PROPOSAL_STATUS_UNSPECIFIED + - PROPOSAL_STATUS_DEPOSIT_PERIOD + - PROPOSAL_STATUS_VOTING_PERIOD + - PROPOSAL_STATUS_PASSED + - PROPOSAL_STATUS_REJECTED + - PROPOSAL_STATUS_FAILED + default: PROPOSAL_STATUS_UNSPECIFIED + description: |- + ProposalStatus enumerates the valid statuses of a proposal. - was set, its value is undefined otherwise - description: >- - GetValidatorSetByHeightResponse is the response type for the - Query/GetValidatorSetByHeight RPC method. - cosmos.base.tendermint.v1beta1.Module: - type: object - properties: - path: - type: string - title: module path - version: - type: string - title: module version - sum: - type: string - title: checksum - title: Module is the type for VersionInfo - cosmos.base.tendermint.v1beta1.Validator: - type: object - properties: - address: - type: string - pub_key: - type: object - properties: - '@type': - type: string + - PROPOSAL_STATUS_UNSPECIFIED: PROPOSAL_STATUS_UNSPECIFIED defines the default proposal status. + - PROPOSAL_STATUS_DEPOSIT_PERIOD: PROPOSAL_STATUS_DEPOSIT_PERIOD defines a proposal status during the deposit + period. + - PROPOSAL_STATUS_VOTING_PERIOD: PROPOSAL_STATUS_VOTING_PERIOD defines a proposal status during the voting + period. + - PROPOSAL_STATUS_PASSED: PROPOSAL_STATUS_PASSED defines a proposal status of a proposal that has + passed. + - PROPOSAL_STATUS_REJECTED: PROPOSAL_STATUS_REJECTED defines a proposal status of a proposal that has + been rejected. + - PROPOSAL_STATUS_FAILED: PROPOSAL_STATUS_FAILED defines a proposal status of a proposal that has + failed. + final_tally_result: description: >- - A URL/resource name that uniquely identifies the type of the - serialized - - protocol buffer message. This string must contain at least - - one "/" character. The last segment of the URL's path must - represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in a - canonical form - - (e.g., leading "." is not accepted). + final_tally_result is the final tally result of the proposal. When + querying a proposal via gRPC, this field is not populated until + the - In practice, teams usually precompile into the binary all types - that they - - expect it to use in the context of Any. However, for URLs which - use the + proposal's voting period has ended. + type: object + properties: + yes_count: + type: string + abstain_count: + type: string + no_count: + type: string + no_with_veto_count: + type: string + submit_time: + type: string + format: date-time + deposit_end_time: + type: string + format: date-time + total_deposit: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. - scheme `http`, `https`, or no scheme, one can optionally set up a - type - server that maps type URLs to message definitions as follows: + NOTE: The amount field is an Int which implements the custom + method + signatures required by gogoproto. + voting_start_time: + type: string + format: date-time + voting_end_time: + type: string + format: date-time + metadata: + type: string + description: metadata is any arbitrary metadata attached to the proposal. + description: Proposal defines the core field members of a governance proposal. + description: >- + QueryProposalResponse is the response type for the Query/Proposal RPC + method. + cosmos.gov.v1.QueryProposalsResponse: + type: object + properties: + proposals: + type: array + items: + type: object + properties: + id: + type: string + format: uint64 + messages: + type: array + items: + type: object + properties: + '@type': + type: string + description: >- + A URL/resource name that uniquely identifies the type of + the serialized - * If no scheme is provided, `https` is assumed. + protocol buffer message. This string must contain at least - * An HTTP GET on the URL must yield a [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) + one "/" character. The last segment of the URL's path must + represent - Note: this functionality is not currently available in the - official + the fully qualified name of the type (as in - protobuf release, and it is not used for type URLs beginning with + `path/google.protobuf.Duration`). The name should be in a + canonical form - type.googleapis.com. + (e.g., leading "." is not accepted). - Schemes other than `http`, `https` (or the empty scheme) might be + In practice, teams usually precompile into the binary all + types that they - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer message along - with a + expect it to use in the context of Any. However, for URLs + which use the - URL that describes the type of the serialized message. + scheme `http`, `https`, or no scheme, one can optionally + set up a type + server that maps type URLs to message definitions as + follows: - Protobuf library provides support to pack/unpack Any values in the - form - of utility functions or additional generated methods of the Any type. + * If no scheme is provided, `https` is assumed. + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based + on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) - Example 1: Pack and unpack a message in C++. + Note: this functionality is not currently available in the + official - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } + protobuf release, and it is not used for type URLs + beginning with - Example 2: Pack and unpack a message in Java. + type.googleapis.com. - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - Example 3: Pack and unpack a message in Python. + Schemes other than `http`, `https` (or the empty scheme) + might be - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... + used with implementation specific semantics. + additionalProperties: {} + description: >- + `Any` contains an arbitrary serialized protocol buffer message + along with a - Example 4: Pack and unpack a message in Go + URL that describes the type of the serialized message. - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - The pack methods provided by protobuf library will by default use + Protobuf library provides support to pack/unpack Any values in + the form - 'type.googleapis.com/full.type.name' as the type URL and the unpack + of utility functions or additional generated methods of the + Any type. - methods only use the fully qualified type name after the last '/' - in the type URL, for example "foo.bar.com/x/y.z" will yield type + Example 1: Pack and unpack a message in C++. - name "y.z". + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } + Example 2: Pack and unpack a message in Java. + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } - JSON + Example 3: Pack and unpack a message in Python. - ==== + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... - The JSON representation of an `Any` value uses the regular + Example 4: Pack and unpack a message in Go - representation of the deserialized, embedded message, with an + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } - additional field `@type` which contains the type URL. Example: + The pack methods provided by protobuf library will by default + use - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } + 'type.googleapis.com/full.type.name' as the type URL and the + unpack - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } + methods only use the fully qualified type name after the last + '/' - If the embedded message type is well-known and has a custom JSON + in the type URL, for example "foo.bar.com/x/y.z" will yield + type - representation, that representation will be embedded adding a field + name "y.z". - `value` which holds the custom JSON in addition to the `@type` - field. Example (for message [google.protobuf.Duration][]): - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - voting_power: - type: string - format: int64 - proposer_priority: - type: string - format: int64 - description: Validator is the type for the validator-set. - cosmos.base.tendermint.v1beta1.VersionInfo: - type: object - properties: - name: - type: string - app_name: - type: string - version: - type: string - git_commit: - type: string - build_tags: - type: string - go_version: - type: string - build_deps: - type: array - items: - type: object - properties: - path: - type: string - title: module path - version: - type: string - title: module version - sum: - type: string - title: checksum - title: Module is the type for VersionInfo - cosmos_sdk_version: - type: string - title: 'Since: cosmos-sdk 0.43' - description: VersionInfo is the type for the GetNodeInfoResponse message. - tendermint.crypto.PublicKey: - type: object - properties: - ed25519: - type: string - format: byte - secp256k1: - type: string - format: byte - title: PublicKey defines the keys available for use with Tendermint Validators - tendermint.p2p.DefaultNodeInfo: - type: object - properties: - protocol_version: - type: object - properties: - p2p: - type: string - format: uint64 - block: - type: string - format: uint64 - app: - type: string - format: uint64 - default_node_id: - type: string - listen_addr: - type: string - network: - type: string - version: - type: string - channels: - type: string - format: byte - moniker: - type: string - other: - type: object - properties: - tx_index: - type: string - rpc_address: - type: string - tendermint.p2p.DefaultNodeInfoOther: - type: object - properties: - tx_index: - type: string - rpc_address: - type: string - tendermint.p2p.ProtocolVersion: - type: object - properties: - p2p: - type: string - format: uint64 - block: - type: string - format: uint64 - app: - type: string - format: uint64 - tendermint.types.Block: - type: object - properties: - header: - type: object - properties: - version: - title: basic block info - type: object - properties: - block: - type: string - format: uint64 - app: - type: string - format: uint64 - description: >- - Consensus captures the consensus rules for processing a block in - the blockchain, + JSON - including all blockchain data structures and the rules of the - application's + ==== - state transition machine. - chain_id: - type: string - height: - type: string - format: int64 - time: - type: string - format: date-time - last_block_id: - type: object - properties: - hash: - type: string - format: byte - part_set_header: - type: object - properties: - total: - type: integer - format: int64 - hash: - type: string - format: byte - title: PartsetHeader - title: BlockID - last_commit_hash: - type: string - format: byte - title: hashes of block data - data_hash: - type: string - format: byte - validators_hash: - type: string - format: byte - title: hashes from the app output from the prev block - next_validators_hash: - type: string - format: byte - consensus_hash: - type: string - format: byte - app_hash: - type: string - format: byte - last_results_hash: - type: string - format: byte - evidence_hash: - type: string - format: byte - title: consensus info - proposer_address: - type: string - format: byte - description: Header defines the structure of a Tendermint block header. - data: - type: object - properties: - txs: - type: array - items: + The JSON representation of an `Any` value uses the regular + + representation of the deserialized, embedded message, with an + + additional field `@type` which contains the type URL. Example: + + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } + + If the embedded message type is well-known and has a custom + JSON + + representation, that representation will be embedded adding a + field + + `value` which holds the custom JSON in addition to the `@type` + + field. Example (for message [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + status: type: string - format: byte - description: >- - Txs that will be applied by state @ block.Height+1. + enum: + - PROPOSAL_STATUS_UNSPECIFIED + - PROPOSAL_STATUS_DEPOSIT_PERIOD + - PROPOSAL_STATUS_VOTING_PERIOD + - PROPOSAL_STATUS_PASSED + - PROPOSAL_STATUS_REJECTED + - PROPOSAL_STATUS_FAILED + default: PROPOSAL_STATUS_UNSPECIFIED + description: |- + ProposalStatus enumerates the valid statuses of a proposal. - NOTE: not all txs here are valid. We're just agreeing on the - order first. + - PROPOSAL_STATUS_UNSPECIFIED: PROPOSAL_STATUS_UNSPECIFIED defines the default proposal status. + - PROPOSAL_STATUS_DEPOSIT_PERIOD: PROPOSAL_STATUS_DEPOSIT_PERIOD defines a proposal status during the deposit + period. + - PROPOSAL_STATUS_VOTING_PERIOD: PROPOSAL_STATUS_VOTING_PERIOD defines a proposal status during the voting + period. + - PROPOSAL_STATUS_PASSED: PROPOSAL_STATUS_PASSED defines a proposal status of a proposal that has + passed. + - PROPOSAL_STATUS_REJECTED: PROPOSAL_STATUS_REJECTED defines a proposal status of a proposal that has + been rejected. + - PROPOSAL_STATUS_FAILED: PROPOSAL_STATUS_FAILED defines a proposal status of a proposal that has + failed. + final_tally_result: + description: >- + final_tally_result is the final tally result of the proposal. + When - This means that block.AppHash does not include these txs. - title: Data contains the set of transactions included in the block - evidence: - type: object - properties: - evidence: - type: array - items: + querying a proposal via gRPC, this field is not populated until + the + + proposal's voting period has ended. type: object properties: - duplicate_vote_evidence: - type: object - properties: - vote_a: - type: object - properties: - type: - type: string - enum: - - SIGNED_MSG_TYPE_UNKNOWN - - SIGNED_MSG_TYPE_PREVOTE - - SIGNED_MSG_TYPE_PRECOMMIT - - SIGNED_MSG_TYPE_PROPOSAL - default: SIGNED_MSG_TYPE_UNKNOWN - description: >- - SignedMsgType is a type of signed message in the - consensus. - - - SIGNED_MSG_TYPE_PREVOTE: Votes - - SIGNED_MSG_TYPE_PROPOSAL: Proposals - height: - type: string - format: int64 - round: - type: integer - format: int32 - block_id: - type: object - properties: - hash: - type: string - format: byte - part_set_header: - type: object - properties: - total: - type: integer - format: int64 - hash: - type: string - format: byte - title: PartsetHeader - title: BlockID - timestamp: - type: string - format: date-time - validator_address: - type: string - format: byte - validator_index: - type: integer - format: int32 - signature: - type: string - format: byte - description: >- - Vote represents a prevote, precommit, or commit vote - from validators for - - consensus. - vote_b: - type: object - properties: - type: - type: string - enum: - - SIGNED_MSG_TYPE_UNKNOWN - - SIGNED_MSG_TYPE_PREVOTE - - SIGNED_MSG_TYPE_PRECOMMIT - - SIGNED_MSG_TYPE_PROPOSAL - default: SIGNED_MSG_TYPE_UNKNOWN - description: >- - SignedMsgType is a type of signed message in the - consensus. + yes_count: + type: string + abstain_count: + type: string + no_count: + type: string + no_with_veto_count: + type: string + submit_time: + type: string + format: date-time + deposit_end_time: + type: string + format: date-time + total_deposit: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. - - SIGNED_MSG_TYPE_PREVOTE: Votes - - SIGNED_MSG_TYPE_PROPOSAL: Proposals - height: - type: string - format: int64 - round: - type: integer - format: int32 - block_id: - type: object - properties: - hash: - type: string - format: byte - part_set_header: - type: object - properties: - total: - type: integer - format: int64 - hash: - type: string - format: byte - title: PartsetHeader - title: BlockID - timestamp: - type: string - format: date-time - validator_address: - type: string - format: byte - validator_index: - type: integer - format: int32 - signature: - type: string - format: byte - description: >- - Vote represents a prevote, precommit, or commit vote - from validators for - consensus. - total_voting_power: - type: string - format: int64 - validator_power: - type: string - format: int64 - timestamp: - type: string - format: date-time - description: >- - DuplicateVoteEvidence contains evidence of a validator - signed two conflicting votes. - light_client_attack_evidence: - type: object - properties: - conflicting_block: - type: object - properties: - signed_header: - type: object - properties: - header: - type: object - properties: - version: - title: basic block info - type: object - properties: - block: - type: string - format: uint64 - app: - type: string - format: uint64 - description: >- - Consensus captures the consensus rules for - processing a block in the blockchain, + NOTE: The amount field is an Int which implements the custom + method - including all blockchain data structures and - the rules of the application's + signatures required by gogoproto. + voting_start_time: + type: string + format: date-time + voting_end_time: + type: string + format: date-time + metadata: + type: string + description: metadata is any arbitrary metadata attached to the proposal. + description: Proposal defines the core field members of a governance proposal. + pagination: + description: pagination defines the pagination in the response. + type: object + properties: + next_key: + type: string + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + total: + type: string + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total - state transition machine. - chain_id: - type: string - height: - type: string - format: int64 - time: - type: string - format: date-time - last_block_id: - type: object - properties: - hash: - type: string - format: byte - part_set_header: - type: object - properties: - total: - type: integer - format: int64 - hash: - type: string - format: byte - title: PartsetHeader - title: BlockID - last_commit_hash: - type: string - format: byte - title: hashes of block data - data_hash: - type: string - format: byte - validators_hash: - type: string - format: byte - title: >- - hashes from the app output from the prev - block - next_validators_hash: - type: string - format: byte - consensus_hash: - type: string - format: byte - app_hash: - type: string - format: byte - last_results_hash: - type: string - format: byte - evidence_hash: - type: string - format: byte - title: consensus info - proposer_address: - type: string - format: byte - description: >- - Header defines the structure of a Tendermint - block header. - commit: - type: object - properties: - height: - type: string - format: int64 - round: - type: integer - format: int32 - block_id: - type: object - properties: - hash: - type: string - format: byte - part_set_header: - type: object - properties: - total: - type: integer - format: int64 - hash: - type: string - format: byte - title: PartsetHeader - title: BlockID - signatures: - type: array - items: - type: object - properties: - block_id_flag: - type: string - enum: - - BLOCK_ID_FLAG_UNKNOWN - - BLOCK_ID_FLAG_ABSENT - - BLOCK_ID_FLAG_COMMIT - - BLOCK_ID_FLAG_NIL - default: BLOCK_ID_FLAG_UNKNOWN - title: >- - BlockIdFlag indicates which BlcokID the - signature is for - validator_address: - type: string - format: byte - timestamp: - type: string - format: date-time - signature: - type: string - format: byte - description: >- - CommitSig is a part of the Vote included - in a Commit. - description: >- - Commit contains the evidence that a block was - committed by a set of validators. - validator_set: - type: object - properties: - validators: - type: array - items: - type: object - properties: - address: - type: string - format: byte - pub_key: - type: object - properties: - ed25519: - type: string - format: byte - secp256k1: - type: string - format: byte - title: >- - PublicKey defines the keys available for - use with Tendermint Validators - voting_power: - type: string - format: int64 - proposer_priority: - type: string - format: int64 - proposer: - type: object - properties: - address: - type: string - format: byte - pub_key: - type: object - properties: - ed25519: - type: string - format: byte - secp256k1: - type: string - format: byte - title: >- - PublicKey defines the keys available for use - with Tendermint Validators - voting_power: - type: string - format: int64 - proposer_priority: - type: string - format: int64 - total_voting_power: - type: string - format: int64 - common_height: - type: string - format: int64 - byzantine_validators: - type: array - items: - type: object - properties: - address: - type: string - format: byte - pub_key: - type: object - properties: - ed25519: - type: string - format: byte - secp256k1: - type: string - format: byte - title: >- - PublicKey defines the keys available for use with - Tendermint Validators - voting_power: - type: string - format: int64 - proposer_priority: - type: string - format: int64 - total_voting_power: - type: string - format: int64 - timestamp: - type: string - format: date-time - description: >- - LightClientAttackEvidence contains evidence of a set of - validators attempting to mislead a light client. - last_commit: + was set, its value is undefined otherwise + description: |- + QueryProposalsResponse is the response type for the Query/Proposals RPC + method. + cosmos.gov.v1.QueryTallyResultResponse: + type: object + properties: + tally: + description: tally defines the requested tally. type: object properties: - height: + yes_count: type: string - format: int64 - round: - type: integer - format: int32 - block_id: - type: object - properties: - hash: - type: string - format: byte - part_set_header: - type: object - properties: - total: - type: integer - format: int64 - hash: - type: string - format: byte - title: PartsetHeader - title: BlockID - signatures: + abstain_count: + type: string + no_count: + type: string + no_with_veto_count: + type: string + description: >- + QueryTallyResultResponse is the response type for the Query/Tally RPC + method. + cosmos.gov.v1.QueryVoteResponse: + type: object + properties: + vote: + description: vote defined the queried vote. + type: object + properties: + proposal_id: + type: string + format: uint64 + voter: + type: string + options: type: array items: type: object properties: - block_id_flag: + option: type: string enum: - - BLOCK_ID_FLAG_UNKNOWN - - BLOCK_ID_FLAG_ABSENT - - BLOCK_ID_FLAG_COMMIT - - BLOCK_ID_FLAG_NIL - default: BLOCK_ID_FLAG_UNKNOWN - title: BlockIdFlag indicates which BlcokID the signature is for - validator_address: - type: string - format: byte - timestamp: - type: string - format: date-time - signature: + - VOTE_OPTION_UNSPECIFIED + - VOTE_OPTION_YES + - VOTE_OPTION_ABSTAIN + - VOTE_OPTION_NO + - VOTE_OPTION_NO_WITH_VETO + default: VOTE_OPTION_UNSPECIFIED + description: >- + VoteOption enumerates the valid vote options for a given + governance proposal. + + - VOTE_OPTION_UNSPECIFIED: VOTE_OPTION_UNSPECIFIED defines a no-op vote option. + - VOTE_OPTION_YES: VOTE_OPTION_YES defines a yes vote option. + - VOTE_OPTION_ABSTAIN: VOTE_OPTION_ABSTAIN defines an abstain vote option. + - VOTE_OPTION_NO: VOTE_OPTION_NO defines a no vote option. + - VOTE_OPTION_NO_WITH_VETO: VOTE_OPTION_NO_WITH_VETO defines a no with veto vote option. + weight: type: string - format: byte - description: CommitSig is a part of the Vote included in a Commit. - description: >- - Commit contains the evidence that a block was committed by a set of - validators. - tendermint.types.BlockID: + description: WeightedVoteOption defines a unit of vote for vote split. + metadata: + type: string + description: metadata is any arbitrary metadata to attached to the vote. + description: QueryVoteResponse is the response type for the Query/Vote RPC method. + cosmos.gov.v1.QueryVotesResponse: type: object properties: - hash: - type: string - format: byte - part_set_header: + votes: + type: array + items: + type: object + properties: + proposal_id: + type: string + format: uint64 + voter: + type: string + options: + type: array + items: + type: object + properties: + option: + type: string + enum: + - VOTE_OPTION_UNSPECIFIED + - VOTE_OPTION_YES + - VOTE_OPTION_ABSTAIN + - VOTE_OPTION_NO + - VOTE_OPTION_NO_WITH_VETO + default: VOTE_OPTION_UNSPECIFIED + description: >- + VoteOption enumerates the valid vote options for a given + governance proposal. + + - VOTE_OPTION_UNSPECIFIED: VOTE_OPTION_UNSPECIFIED defines a no-op vote option. + - VOTE_OPTION_YES: VOTE_OPTION_YES defines a yes vote option. + - VOTE_OPTION_ABSTAIN: VOTE_OPTION_ABSTAIN defines an abstain vote option. + - VOTE_OPTION_NO: VOTE_OPTION_NO defines a no vote option. + - VOTE_OPTION_NO_WITH_VETO: VOTE_OPTION_NO_WITH_VETO defines a no with veto vote option. + weight: + type: string + description: WeightedVoteOption defines a unit of vote for vote split. + metadata: + type: string + description: metadata is any arbitrary metadata to attached to the vote. + description: |- + Vote defines a vote on a governance proposal. + A Vote consists of a proposal ID, the voter, and the vote option. + description: votes defined the queried votes. + pagination: + description: pagination defines the pagination in the response. type: object properties: - total: - type: integer - format: int64 - hash: + next_key: type: string format: byte - title: PartsetHeader - title: BlockID - tendermint.types.BlockIDFlag: + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + total: + type: string + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total + + was set, its value is undefined otherwise + description: QueryVotesResponse is the response type for the Query/Votes RPC method. + cosmos.gov.v1.TallyParams: + type: object + properties: + quorum: + type: string + description: |- + Minimum percentage of total stake needed to vote for a result to be + considered valid. + threshold: + type: string + description: >- + Minimum proportion of Yes votes for proposal to pass. Default value: + 0.5. + veto_threshold: + type: string + description: |- + Minimum value of Veto votes to Total votes ratio for proposal to be + vetoed. Default value: 1/3. + description: TallyParams defines the params for tallying votes on governance proposals. + cosmos.gov.v1.TallyResult: + type: object + properties: + yes_count: + type: string + abstain_count: + type: string + no_count: + type: string + no_with_veto_count: + type: string + description: TallyResult defines a standard tally for a governance proposal. + cosmos.gov.v1.Vote: + type: object + properties: + proposal_id: + type: string + format: uint64 + voter: + type: string + options: + type: array + items: + type: object + properties: + option: + type: string + enum: + - VOTE_OPTION_UNSPECIFIED + - VOTE_OPTION_YES + - VOTE_OPTION_ABSTAIN + - VOTE_OPTION_NO + - VOTE_OPTION_NO_WITH_VETO + default: VOTE_OPTION_UNSPECIFIED + description: >- + VoteOption enumerates the valid vote options for a given + governance proposal. + + - VOTE_OPTION_UNSPECIFIED: VOTE_OPTION_UNSPECIFIED defines a no-op vote option. + - VOTE_OPTION_YES: VOTE_OPTION_YES defines a yes vote option. + - VOTE_OPTION_ABSTAIN: VOTE_OPTION_ABSTAIN defines an abstain vote option. + - VOTE_OPTION_NO: VOTE_OPTION_NO defines a no vote option. + - VOTE_OPTION_NO_WITH_VETO: VOTE_OPTION_NO_WITH_VETO defines a no with veto vote option. + weight: + type: string + description: WeightedVoteOption defines a unit of vote for vote split. + metadata: + type: string + description: metadata is any arbitrary metadata to attached to the vote. + description: |- + Vote defines a vote on a governance proposal. + A Vote consists of a proposal ID, the voter, and the vote option. + cosmos.gov.v1.VoteOption: type: string enum: - - BLOCK_ID_FLAG_UNKNOWN - - BLOCK_ID_FLAG_ABSENT - - BLOCK_ID_FLAG_COMMIT - - BLOCK_ID_FLAG_NIL - default: BLOCK_ID_FLAG_UNKNOWN - title: BlockIdFlag indicates which BlcokID the signature is for - tendermint.types.Commit: + - VOTE_OPTION_UNSPECIFIED + - VOTE_OPTION_YES + - VOTE_OPTION_ABSTAIN + - VOTE_OPTION_NO + - VOTE_OPTION_NO_WITH_VETO + default: VOTE_OPTION_UNSPECIFIED + description: >- + VoteOption enumerates the valid vote options for a given governance + proposal. + + - VOTE_OPTION_UNSPECIFIED: VOTE_OPTION_UNSPECIFIED defines a no-op vote option. + - VOTE_OPTION_YES: VOTE_OPTION_YES defines a yes vote option. + - VOTE_OPTION_ABSTAIN: VOTE_OPTION_ABSTAIN defines an abstain vote option. + - VOTE_OPTION_NO: VOTE_OPTION_NO defines a no vote option. + - VOTE_OPTION_NO_WITH_VETO: VOTE_OPTION_NO_WITH_VETO defines a no with veto vote option. + cosmos.gov.v1.VotingParams: type: object properties: - height: + voting_period: type: string - format: int64 - round: - type: integer - format: int32 - block_id: - type: object - properties: - hash: - type: string - format: byte - part_set_header: - type: object - properties: - total: - type: integer - format: int64 - hash: - type: string - format: byte - title: PartsetHeader - title: BlockID - signatures: + description: Length of the voting period. + description: VotingParams defines the params for voting on governance proposals. + cosmos.gov.v1.WeightedVoteOption: + type: object + properties: + option: + type: string + enum: + - VOTE_OPTION_UNSPECIFIED + - VOTE_OPTION_YES + - VOTE_OPTION_ABSTAIN + - VOTE_OPTION_NO + - VOTE_OPTION_NO_WITH_VETO + default: VOTE_OPTION_UNSPECIFIED + description: >- + VoteOption enumerates the valid vote options for a given governance + proposal. + + - VOTE_OPTION_UNSPECIFIED: VOTE_OPTION_UNSPECIFIED defines a no-op vote option. + - VOTE_OPTION_YES: VOTE_OPTION_YES defines a yes vote option. + - VOTE_OPTION_ABSTAIN: VOTE_OPTION_ABSTAIN defines an abstain vote option. + - VOTE_OPTION_NO: VOTE_OPTION_NO defines a no vote option. + - VOTE_OPTION_NO_WITH_VETO: VOTE_OPTION_NO_WITH_VETO defines a no with veto vote option. + weight: + type: string + description: WeightedVoteOption defines a unit of vote for vote split. + cosmos.gov.v1beta1.Deposit: + type: object + properties: + proposal_id: + type: string + format: uint64 + depositor: + type: string + amount: type: array items: type: object properties: - block_id_flag: + denom: type: string - enum: - - BLOCK_ID_FLAG_UNKNOWN - - BLOCK_ID_FLAG_ABSENT - - BLOCK_ID_FLAG_COMMIT - - BLOCK_ID_FLAG_NIL - default: BLOCK_ID_FLAG_UNKNOWN - title: BlockIdFlag indicates which BlcokID the signature is for - validator_address: + amount: type: string - format: byte - timestamp: + description: |- + Coin defines a token with a denomination and an amount. + + NOTE: The amount field is an Int which implements the custom method + signatures required by gogoproto. + description: |- + Deposit defines an amount deposited by an account address to an active + proposal. + cosmos.gov.v1beta1.DepositParams: + type: object + properties: + min_deposit: + type: array + items: + type: object + properties: + denom: type: string - format: date-time - signature: + amount: type: string - format: byte - description: CommitSig is a part of the Vote included in a Commit. - description: >- - Commit contains the evidence that a block was committed by a set of - validators. - tendermint.types.CommitSig: + description: |- + Coin defines a token with a denomination and an amount. + + NOTE: The amount field is an Int which implements the custom method + signatures required by gogoproto. + description: Minimum deposit for a proposal to enter voting period. + max_deposit_period: + type: string + description: >- + Maximum period for Atom holders to deposit on a proposal. Initial + value: 2 + months. + description: DepositParams defines the params for deposits on governance proposals. + cosmos.gov.v1beta1.MsgDepositResponse: + type: object + description: MsgDepositResponse defines the Msg/Deposit response type. + cosmos.gov.v1beta1.MsgSubmitProposalResponse: type: object properties: - block_id_flag: + proposal_id: type: string - enum: - - BLOCK_ID_FLAG_UNKNOWN - - BLOCK_ID_FLAG_ABSENT - - BLOCK_ID_FLAG_COMMIT - - BLOCK_ID_FLAG_NIL - default: BLOCK_ID_FLAG_UNKNOWN - title: BlockIdFlag indicates which BlcokID the signature is for - validator_address: + format: uint64 + description: MsgSubmitProposalResponse defines the Msg/SubmitProposal response type. + cosmos.gov.v1beta1.MsgVoteResponse: + type: object + description: MsgVoteResponse defines the Msg/Vote response type. + cosmos.gov.v1beta1.MsgVoteWeightedResponse: + type: object + description: |- + MsgVoteWeightedResponse defines the Msg/VoteWeighted response type. + + Since: cosmos-sdk 0.43 + cosmos.gov.v1beta1.Proposal: + type: object + properties: + proposal_id: type: string - format: byte - timestamp: + format: uint64 + content: + type: object + properties: + '@type': + type: string + description: >- + A URL/resource name that uniquely identifies the type of the + serialized + + protocol buffer message. This string must contain at least + + one "/" character. The last segment of the URL's path must + represent + + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name should be in a + canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the binary all types + that they + + expect it to use in the context of Any. However, for URLs which + use the + + scheme `http`, `https`, or no scheme, one can optionally set up a + type + + server that maps type URLs to message definitions as follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available in the + official + + protobuf release, and it is not used for type URLs beginning with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty scheme) might be + + used with implementation specific semantics. + additionalProperties: {} + description: >- + `Any` contains an arbitrary serialized protocol buffer message along + with a + + URL that describes the type of the serialized message. + + + Protobuf library provides support to pack/unpack Any values in the + form + + of utility functions or additional generated methods of the Any type. + + + Example 1: Pack and unpack a message in C++. + + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } + + Example 2: Pack and unpack a message in Java. + + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + + Example 3: Pack and unpack a message in Python. + + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + + Example 4: Pack and unpack a message in Go + + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } + + The pack methods provided by protobuf library will by default use + + 'type.googleapis.com/full.type.name' as the type URL and the unpack + + methods only use the fully qualified type name after the last '/' + + in the type URL, for example "foo.bar.com/x/y.z" will yield type + + name "y.z". + + + + JSON + + ==== + + The JSON representation of an `Any` value uses the regular + + representation of the deserialized, embedded message, with an + + additional field `@type` which contains the type URL. Example: + + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } + + If the embedded message type is well-known and has a custom JSON + + representation, that representation will be embedded adding a field + + `value` which holds the custom JSON in addition to the `@type` + + field. Example (for message [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + status: + type: string + enum: + - PROPOSAL_STATUS_UNSPECIFIED + - PROPOSAL_STATUS_DEPOSIT_PERIOD + - PROPOSAL_STATUS_VOTING_PERIOD + - PROPOSAL_STATUS_PASSED + - PROPOSAL_STATUS_REJECTED + - PROPOSAL_STATUS_FAILED + default: PROPOSAL_STATUS_UNSPECIFIED + description: |- + ProposalStatus enumerates the valid statuses of a proposal. + + - PROPOSAL_STATUS_UNSPECIFIED: PROPOSAL_STATUS_UNSPECIFIED defines the default proposal status. + - PROPOSAL_STATUS_DEPOSIT_PERIOD: PROPOSAL_STATUS_DEPOSIT_PERIOD defines a proposal status during the deposit + period. + - PROPOSAL_STATUS_VOTING_PERIOD: PROPOSAL_STATUS_VOTING_PERIOD defines a proposal status during the voting + period. + - PROPOSAL_STATUS_PASSED: PROPOSAL_STATUS_PASSED defines a proposal status of a proposal that has + passed. + - PROPOSAL_STATUS_REJECTED: PROPOSAL_STATUS_REJECTED defines a proposal status of a proposal that has + been rejected. + - PROPOSAL_STATUS_FAILED: PROPOSAL_STATUS_FAILED defines a proposal status of a proposal that has + failed. + final_tally_result: + description: |- + final_tally_result is the final tally result of the proposal. When + querying a proposal via gRPC, this field is not populated until the + proposal's voting period has ended. + type: object + properties: + 'yes': + type: string + abstain: + type: string + 'no': + type: string + no_with_veto: + type: string + submit_time: type: string format: date-time - signature: + deposit_end_time: type: string - format: byte - description: CommitSig is a part of the Vote included in a Commit. - tendermint.types.Data: - type: object - properties: - txs: + format: date-time + total_deposit: type: array items: - type: string - format: byte - description: >- - Txs that will be applied by state @ block.Height+1. + type: object + properties: + denom: + type: string + amount: + type: string + description: |- + Coin defines a token with a denomination and an amount. - NOTE: not all txs here are valid. We're just agreeing on the order - first. + NOTE: The amount field is an Int which implements the custom method + signatures required by gogoproto. + voting_start_time: + type: string + format: date-time + voting_end_time: + type: string + format: date-time + description: Proposal defines the core field members of a governance proposal. + cosmos.gov.v1beta1.ProposalStatus: + type: string + enum: + - PROPOSAL_STATUS_UNSPECIFIED + - PROPOSAL_STATUS_DEPOSIT_PERIOD + - PROPOSAL_STATUS_VOTING_PERIOD + - PROPOSAL_STATUS_PASSED + - PROPOSAL_STATUS_REJECTED + - PROPOSAL_STATUS_FAILED + default: PROPOSAL_STATUS_UNSPECIFIED + description: |- + ProposalStatus enumerates the valid statuses of a proposal. - This means that block.AppHash does not include these txs. - title: Data contains the set of transactions included in the block - tendermint.types.DuplicateVoteEvidence: + - PROPOSAL_STATUS_UNSPECIFIED: PROPOSAL_STATUS_UNSPECIFIED defines the default proposal status. + - PROPOSAL_STATUS_DEPOSIT_PERIOD: PROPOSAL_STATUS_DEPOSIT_PERIOD defines a proposal status during the deposit + period. + - PROPOSAL_STATUS_VOTING_PERIOD: PROPOSAL_STATUS_VOTING_PERIOD defines a proposal status during the voting + period. + - PROPOSAL_STATUS_PASSED: PROPOSAL_STATUS_PASSED defines a proposal status of a proposal that has + passed. + - PROPOSAL_STATUS_REJECTED: PROPOSAL_STATUS_REJECTED defines a proposal status of a proposal that has + been rejected. + - PROPOSAL_STATUS_FAILED: PROPOSAL_STATUS_FAILED defines a proposal status of a proposal that has + failed. + cosmos.gov.v1beta1.QueryDepositResponse: type: object properties: - vote_a: + deposit: + description: deposit defines the requested deposit. type: object properties: - type: + proposal_id: type: string - enum: - - SIGNED_MSG_TYPE_UNKNOWN - - SIGNED_MSG_TYPE_PREVOTE - - SIGNED_MSG_TYPE_PRECOMMIT - - SIGNED_MSG_TYPE_PROPOSAL - default: SIGNED_MSG_TYPE_UNKNOWN - description: |- - SignedMsgType is a type of signed message in the consensus. - - - SIGNED_MSG_TYPE_PREVOTE: Votes - - SIGNED_MSG_TYPE_PROPOSAL: Proposals - height: + format: uint64 + depositor: type: string - format: int64 - round: - type: integer - format: int32 - block_id: - type: object - properties: - hash: - type: string - format: byte - part_set_header: + amount: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. + + + NOTE: The amount field is an Int which implements the custom + method + + signatures required by gogoproto. + description: >- + QueryDepositResponse is the response type for the Query/Deposit RPC + method. + cosmos.gov.v1beta1.QueryDepositsResponse: + type: object + properties: + deposits: + type: array + items: + type: object + properties: + proposal_id: + type: string + format: uint64 + depositor: + type: string + amount: + type: array + items: type: object properties: - total: - type: integer - format: int64 - hash: + denom: type: string - format: byte - title: PartsetHeader - title: BlockID - timestamp: - type: string - format: date-time - validator_address: + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. + + + NOTE: The amount field is an Int which implements the custom + method + + signatures required by gogoproto. + description: >- + Deposit defines an amount deposited by an account address to an + active + + proposal. + pagination: + description: pagination defines the pagination in the response. + type: object + properties: + next_key: type: string format: byte - validator_index: - type: integer - format: int32 - signature: + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + total: type: string - format: byte - description: >- - Vote represents a prevote, precommit, or commit vote from validators - for + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total - consensus. - vote_b: + was set, its value is undefined otherwise + description: >- + QueryDepositsResponse is the response type for the Query/Deposits RPC + method. + cosmos.gov.v1beta1.QueryParamsResponse: + type: object + properties: + voting_params: + description: voting_params defines the parameters related to voting. type: object properties: - type: + voting_period: type: string - enum: - - SIGNED_MSG_TYPE_UNKNOWN - - SIGNED_MSG_TYPE_PREVOTE - - SIGNED_MSG_TYPE_PRECOMMIT - - SIGNED_MSG_TYPE_PROPOSAL - default: SIGNED_MSG_TYPE_UNKNOWN - description: |- - SignedMsgType is a type of signed message in the consensus. + description: Length of the voting period. + deposit_params: + description: deposit_params defines the parameters related to deposit. + type: object + properties: + min_deposit: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. - - SIGNED_MSG_TYPE_PREVOTE: Votes - - SIGNED_MSG_TYPE_PROPOSAL: Proposals - height: + + NOTE: The amount field is an Int which implements the custom + method + + signatures required by gogoproto. + description: Minimum deposit for a proposal to enter voting period. + max_deposit_period: type: string - format: int64 - round: - type: integer - format: int32 - block_id: - type: object - properties: - hash: - type: string - format: byte - part_set_header: - type: object - properties: - total: - type: integer - format: int64 - hash: - type: string - format: byte - title: PartsetHeader - title: BlockID - timestamp: + description: >- + Maximum period for Atom holders to deposit on a proposal. Initial + value: 2 + months. + tally_params: + description: tally_params defines the parameters related to tally. + type: object + properties: + quorum: type: string - format: date-time - validator_address: + format: byte + description: >- + Minimum percentage of total stake needed to vote for a result to + be + considered valid. + threshold: type: string format: byte - validator_index: - type: integer - format: int32 - signature: + description: >- + Minimum proportion of Yes votes for proposal to pass. Default + value: 0.5. + veto_threshold: type: string format: byte - description: >- - Vote represents a prevote, precommit, or commit vote from validators - for - - consensus. - total_voting_power: - type: string - format: int64 - validator_power: - type: string - format: int64 - timestamp: - type: string - format: date-time - description: >- - DuplicateVoteEvidence contains evidence of a validator signed two - conflicting votes. - tendermint.types.Evidence: + description: >- + Minimum value of Veto votes to Total votes ratio for proposal to + be + vetoed. Default value: 1/3. + description: QueryParamsResponse is the response type for the Query/Params RPC method. + cosmos.gov.v1beta1.QueryProposalResponse: type: object properties: - duplicate_vote_evidence: + proposal: type: object properties: - vote_a: + proposal_id: + type: string + format: uint64 + content: type: object properties: - type: + '@type': type: string - enum: - - SIGNED_MSG_TYPE_UNKNOWN - - SIGNED_MSG_TYPE_PREVOTE - - SIGNED_MSG_TYPE_PRECOMMIT - - SIGNED_MSG_TYPE_PROPOSAL - default: SIGNED_MSG_TYPE_UNKNOWN - description: |- - SignedMsgType is a type of signed message in the consensus. + description: >- + A URL/resource name that uniquely identifies the type of the + serialized - - SIGNED_MSG_TYPE_PREVOTE: Votes - - SIGNED_MSG_TYPE_PROPOSAL: Proposals - height: - type: string - format: int64 - round: - type: integer - format: int32 - block_id: - type: object - properties: - hash: - type: string - format: byte - part_set_header: - type: object - properties: - total: - type: integer - format: int64 - hash: - type: string - format: byte - title: PartsetHeader - title: BlockID - timestamp: - type: string - format: date-time - validator_address: - type: string - format: byte - validator_index: - type: integer - format: int32 - signature: - type: string - format: byte + protocol buffer message. This string must contain at least + + one "/" character. The last segment of the URL's path must + represent + + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name should be in a + canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the binary all + types that they + + expect it to use in the context of Any. However, for URLs + which use the + + scheme `http`, `https`, or no scheme, one can optionally set + up a type + + server that maps type URLs to message definitions as follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based on + the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available in the + official + + protobuf release, and it is not used for type URLs beginning + with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty scheme) might + be + + used with implementation specific semantics. + additionalProperties: {} + description: >- + `Any` contains an arbitrary serialized protocol buffer message + along with a + + URL that describes the type of the serialized message. + + + Protobuf library provides support to pack/unpack Any values in the + form + + of utility functions or additional generated methods of the Any + type. + + + Example 1: Pack and unpack a message in C++. + + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } + + Example 2: Pack and unpack a message in Java. + + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + + Example 3: Pack and unpack a message in Python. + + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + + Example 4: Pack and unpack a message in Go + + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } + + The pack methods provided by protobuf library will by default use + + 'type.googleapis.com/full.type.name' as the type URL and the + unpack + + methods only use the fully qualified type name after the last '/' + + in the type URL, for example "foo.bar.com/x/y.z" will yield type + + name "y.z". + + + + JSON + + ==== + + The JSON representation of an `Any` value uses the regular + + representation of the deserialized, embedded message, with an + + additional field `@type` which contains the type URL. Example: + + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } + + If the embedded message type is well-known and has a custom JSON + + representation, that representation will be embedded adding a + field + + `value` which holds the custom JSON in addition to the `@type` + + field. Example (for message [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + status: + type: string + enum: + - PROPOSAL_STATUS_UNSPECIFIED + - PROPOSAL_STATUS_DEPOSIT_PERIOD + - PROPOSAL_STATUS_VOTING_PERIOD + - PROPOSAL_STATUS_PASSED + - PROPOSAL_STATUS_REJECTED + - PROPOSAL_STATUS_FAILED + default: PROPOSAL_STATUS_UNSPECIFIED + description: |- + ProposalStatus enumerates the valid statuses of a proposal. + + - PROPOSAL_STATUS_UNSPECIFIED: PROPOSAL_STATUS_UNSPECIFIED defines the default proposal status. + - PROPOSAL_STATUS_DEPOSIT_PERIOD: PROPOSAL_STATUS_DEPOSIT_PERIOD defines a proposal status during the deposit + period. + - PROPOSAL_STATUS_VOTING_PERIOD: PROPOSAL_STATUS_VOTING_PERIOD defines a proposal status during the voting + period. + - PROPOSAL_STATUS_PASSED: PROPOSAL_STATUS_PASSED defines a proposal status of a proposal that has + passed. + - PROPOSAL_STATUS_REJECTED: PROPOSAL_STATUS_REJECTED defines a proposal status of a proposal that has + been rejected. + - PROPOSAL_STATUS_FAILED: PROPOSAL_STATUS_FAILED defines a proposal status of a proposal that has + failed. + final_tally_result: description: >- - Vote represents a prevote, precommit, or commit vote from - validators for + final_tally_result is the final tally result of the proposal. When - consensus. - vote_b: + querying a proposal via gRPC, this field is not populated until + the + + proposal's voting period has ended. type: object properties: - type: - type: string - enum: - - SIGNED_MSG_TYPE_UNKNOWN - - SIGNED_MSG_TYPE_PREVOTE - - SIGNED_MSG_TYPE_PRECOMMIT - - SIGNED_MSG_TYPE_PROPOSAL - default: SIGNED_MSG_TYPE_UNKNOWN - description: |- - SignedMsgType is a type of signed message in the consensus. - - - SIGNED_MSG_TYPE_PREVOTE: Votes - - SIGNED_MSG_TYPE_PROPOSAL: Proposals - height: + 'yes': type: string - format: int64 - round: - type: integer - format: int32 - block_id: - type: object - properties: - hash: - type: string - format: byte - part_set_header: - type: object - properties: - total: - type: integer - format: int64 - hash: - type: string - format: byte - title: PartsetHeader - title: BlockID - timestamp: + abstain: type: string - format: date-time - validator_address: + 'no': type: string - format: byte - validator_index: - type: integer - format: int32 - signature: + no_with_veto: type: string - format: byte - description: >- - Vote represents a prevote, precommit, or commit vote from - validators for - - consensus. - total_voting_power: - type: string - format: int64 - validator_power: + submit_time: type: string - format: int64 - timestamp: + format: date-time + deposit_end_time: type: string format: date-time - description: >- - DuplicateVoteEvidence contains evidence of a validator signed two - conflicting votes. - light_client_attack_evidence: - type: object - properties: - conflicting_block: - type: object - properties: - signed_header: - type: object - properties: - header: - type: object - properties: - version: - title: basic block info - type: object - properties: - block: - type: string - format: uint64 - app: - type: string - format: uint64 - description: >- - Consensus captures the consensus rules for processing - a block in the blockchain, + total_deposit: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. - including all blockchain data structures and the rules - of the application's - state transition machine. - chain_id: - type: string - height: - type: string - format: int64 - time: - type: string - format: date-time - last_block_id: - type: object - properties: - hash: - type: string - format: byte - part_set_header: - type: object - properties: - total: - type: integer - format: int64 - hash: - type: string - format: byte - title: PartsetHeader - title: BlockID - last_commit_hash: - type: string - format: byte - title: hashes of block data - data_hash: - type: string - format: byte - validators_hash: - type: string - format: byte - title: hashes from the app output from the prev block - next_validators_hash: - type: string - format: byte - consensus_hash: - type: string - format: byte - app_hash: - type: string - format: byte - last_results_hash: - type: string - format: byte - evidence_hash: - type: string - format: byte - title: consensus info - proposer_address: - type: string - format: byte - description: Header defines the structure of a Tendermint block header. - commit: - type: object - properties: - height: - type: string - format: int64 - round: - type: integer - format: int32 - block_id: - type: object - properties: - hash: - type: string - format: byte - part_set_header: - type: object - properties: - total: - type: integer - format: int64 - hash: - type: string - format: byte - title: PartsetHeader - title: BlockID - signatures: - type: array - items: - type: object - properties: - block_id_flag: - type: string - enum: - - BLOCK_ID_FLAG_UNKNOWN - - BLOCK_ID_FLAG_ABSENT - - BLOCK_ID_FLAG_COMMIT - - BLOCK_ID_FLAG_NIL - default: BLOCK_ID_FLAG_UNKNOWN - title: >- - BlockIdFlag indicates which BlcokID the - signature is for - validator_address: - type: string - format: byte - timestamp: - type: string - format: date-time - signature: - type: string - format: byte - description: >- - CommitSig is a part of the Vote included in a - Commit. - description: >- - Commit contains the evidence that a block was committed by - a set of validators. - validator_set: - type: object - properties: - validators: - type: array - items: - type: object - properties: - address: - type: string - format: byte - pub_key: - type: object - properties: - ed25519: - type: string - format: byte - secp256k1: - type: string - format: byte - title: >- - PublicKey defines the keys available for use with - Tendermint Validators - voting_power: - type: string - format: int64 - proposer_priority: - type: string - format: int64 - proposer: - type: object - properties: - address: - type: string - format: byte - pub_key: - type: object - properties: - ed25519: - type: string - format: byte - secp256k1: - type: string - format: byte - title: >- - PublicKey defines the keys available for use with - Tendermint Validators - voting_power: - type: string - format: int64 - proposer_priority: - type: string - format: int64 - total_voting_power: - type: string - format: int64 - common_height: + NOTE: The amount field is an Int which implements the custom + method + + signatures required by gogoproto. + voting_start_time: type: string - format: int64 - byzantine_validators: - type: array - items: + format: date-time + voting_end_time: + type: string + format: date-time + description: Proposal defines the core field members of a governance proposal. + description: >- + QueryProposalResponse is the response type for the Query/Proposal RPC + method. + cosmos.gov.v1beta1.QueryProposalsResponse: + type: object + properties: + proposals: + type: array + items: + type: object + properties: + proposal_id: + type: string + format: uint64 + content: + type: object + properties: + '@type': + type: string + description: >- + A URL/resource name that uniquely identifies the type of the + serialized + + protocol buffer message. This string must contain at least + + one "/" character. The last segment of the URL's path must + represent + + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name should be in a + canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the binary all + types that they + + expect it to use in the context of Any. However, for URLs + which use the + + scheme `http`, `https`, or no scheme, one can optionally set + up a type + + server that maps type URLs to message definitions as + follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based on + the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available in the + official + + protobuf release, and it is not used for type URLs beginning + with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty scheme) + might be + + used with implementation specific semantics. + additionalProperties: {} + description: >- + `Any` contains an arbitrary serialized protocol buffer message + along with a + + URL that describes the type of the serialized message. + + + Protobuf library provides support to pack/unpack Any values in + the form + + of utility functions or additional generated methods of the Any + type. + + + Example 1: Pack and unpack a message in C++. + + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } + + Example 2: Pack and unpack a message in Java. + + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + + Example 3: Pack and unpack a message in Python. + + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + + Example 4: Pack and unpack a message in Go + + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } + + The pack methods provided by protobuf library will by default + use + + 'type.googleapis.com/full.type.name' as the type URL and the + unpack + + methods only use the fully qualified type name after the last + '/' + + in the type URL, for example "foo.bar.com/x/y.z" will yield type + + name "y.z". + + + + JSON + + ==== + + The JSON representation of an `Any` value uses the regular + + representation of the deserialized, embedded message, with an + + additional field `@type` which contains the type URL. Example: + + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } + + If the embedded message type is well-known and has a custom JSON + + representation, that representation will be embedded adding a + field + + `value` which holds the custom JSON in addition to the `@type` + + field. Example (for message [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + status: + type: string + enum: + - PROPOSAL_STATUS_UNSPECIFIED + - PROPOSAL_STATUS_DEPOSIT_PERIOD + - PROPOSAL_STATUS_VOTING_PERIOD + - PROPOSAL_STATUS_PASSED + - PROPOSAL_STATUS_REJECTED + - PROPOSAL_STATUS_FAILED + default: PROPOSAL_STATUS_UNSPECIFIED + description: |- + ProposalStatus enumerates the valid statuses of a proposal. + + - PROPOSAL_STATUS_UNSPECIFIED: PROPOSAL_STATUS_UNSPECIFIED defines the default proposal status. + - PROPOSAL_STATUS_DEPOSIT_PERIOD: PROPOSAL_STATUS_DEPOSIT_PERIOD defines a proposal status during the deposit + period. + - PROPOSAL_STATUS_VOTING_PERIOD: PROPOSAL_STATUS_VOTING_PERIOD defines a proposal status during the voting + period. + - PROPOSAL_STATUS_PASSED: PROPOSAL_STATUS_PASSED defines a proposal status of a proposal that has + passed. + - PROPOSAL_STATUS_REJECTED: PROPOSAL_STATUS_REJECTED defines a proposal status of a proposal that has + been rejected. + - PROPOSAL_STATUS_FAILED: PROPOSAL_STATUS_FAILED defines a proposal status of a proposal that has + failed. + final_tally_result: + description: >- + final_tally_result is the final tally result of the proposal. + When + + querying a proposal via gRPC, this field is not populated until + the + + proposal's voting period has ended. type: object properties: - address: + 'yes': type: string - format: byte - pub_key: - type: object - properties: - ed25519: - type: string - format: byte - secp256k1: - type: string - format: byte - title: >- - PublicKey defines the keys available for use with Tendermint - Validators - voting_power: + abstain: type: string - format: int64 - proposer_priority: + 'no': type: string - format: int64 - total_voting_power: + no_with_veto: + type: string + submit_time: + type: string + format: date-time + deposit_end_time: + type: string + format: date-time + total_deposit: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. + + + NOTE: The amount field is an Int which implements the custom + method + + signatures required by gogoproto. + voting_start_time: + type: string + format: date-time + voting_end_time: + type: string + format: date-time + description: Proposal defines the core field members of a governance proposal. + pagination: + description: pagination defines the pagination in the response. + type: object + properties: + next_key: type: string - format: int64 - timestamp: + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + total: type: string - format: date-time - description: >- - LightClientAttackEvidence contains evidence of a set of validators - attempting to mislead a light client. - tendermint.types.EvidenceList: + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total + + was set, its value is undefined otherwise + description: |- + QueryProposalsResponse is the response type for the Query/Proposals RPC + method. + cosmos.gov.v1beta1.QueryTallyResultResponse: type: object properties: - evidence: - type: array - items: - type: object - properties: - duplicate_vote_evidence: - type: object - properties: - vote_a: - type: object - properties: - type: - type: string - enum: - - SIGNED_MSG_TYPE_UNKNOWN - - SIGNED_MSG_TYPE_PREVOTE - - SIGNED_MSG_TYPE_PRECOMMIT - - SIGNED_MSG_TYPE_PROPOSAL - default: SIGNED_MSG_TYPE_UNKNOWN - description: >- - SignedMsgType is a type of signed message in the - consensus. - - - SIGNED_MSG_TYPE_PREVOTE: Votes - - SIGNED_MSG_TYPE_PROPOSAL: Proposals - height: - type: string - format: int64 - round: - type: integer - format: int32 - block_id: - type: object - properties: - hash: - type: string - format: byte - part_set_header: - type: object - properties: - total: - type: integer - format: int64 - hash: - type: string - format: byte - title: PartsetHeader - title: BlockID - timestamp: - type: string - format: date-time - validator_address: - type: string - format: byte - validator_index: - type: integer - format: int32 - signature: - type: string - format: byte - description: >- - Vote represents a prevote, precommit, or commit vote from - validators for - - consensus. - vote_b: - type: object - properties: - type: - type: string - enum: - - SIGNED_MSG_TYPE_UNKNOWN - - SIGNED_MSG_TYPE_PREVOTE - - SIGNED_MSG_TYPE_PRECOMMIT - - SIGNED_MSG_TYPE_PROPOSAL - default: SIGNED_MSG_TYPE_UNKNOWN - description: >- - SignedMsgType is a type of signed message in the - consensus. + tally: + description: tally defines the requested tally. + type: object + properties: + 'yes': + type: string + abstain: + type: string + 'no': + type: string + no_with_veto: + type: string + description: >- + QueryTallyResultResponse is the response type for the Query/Tally RPC + method. + cosmos.gov.v1beta1.QueryVoteResponse: + type: object + properties: + vote: + description: vote defined the queried vote. + type: object + properties: + proposal_id: + type: string + format: uint64 + voter: + type: string + option: + description: >- + Deprecated: Prefer to use `options` instead. This field is set in + queries - - SIGNED_MSG_TYPE_PREVOTE: Votes - - SIGNED_MSG_TYPE_PROPOSAL: Proposals - height: - type: string - format: int64 - round: - type: integer - format: int32 - block_id: - type: object - properties: - hash: - type: string - format: byte - part_set_header: - type: object - properties: - total: - type: integer - format: int64 - hash: - type: string - format: byte - title: PartsetHeader - title: BlockID - timestamp: - type: string - format: date-time - validator_address: - type: string - format: byte - validator_index: - type: integer - format: int32 - signature: - type: string - format: byte - description: >- - Vote represents a prevote, precommit, or commit vote from - validators for + if and only if `len(options) == 1` and that option has weight 1. + In all - consensus. - total_voting_power: - type: string - format: int64 - validator_power: - type: string - format: int64 - timestamp: - type: string - format: date-time - description: >- - DuplicateVoteEvidence contains evidence of a validator signed - two conflicting votes. - light_client_attack_evidence: + other cases, this field will default to VOTE_OPTION_UNSPECIFIED. + type: string + enum: + - VOTE_OPTION_UNSPECIFIED + - VOTE_OPTION_YES + - VOTE_OPTION_ABSTAIN + - VOTE_OPTION_NO + - VOTE_OPTION_NO_WITH_VETO + default: VOTE_OPTION_UNSPECIFIED + options: + type: array + items: type: object properties: - conflicting_block: - type: object - properties: - signed_header: - type: object - properties: - header: - type: object - properties: - version: - title: basic block info - type: object - properties: - block: - type: string - format: uint64 - app: - type: string - format: uint64 - description: >- - Consensus captures the consensus rules for - processing a block in the blockchain, - - including all blockchain data structures and the - rules of the application's - - state transition machine. - chain_id: - type: string - height: - type: string - format: int64 - time: - type: string - format: date-time - last_block_id: - type: object - properties: - hash: - type: string - format: byte - part_set_header: - type: object - properties: - total: - type: integer - format: int64 - hash: - type: string - format: byte - title: PartsetHeader - title: BlockID - last_commit_hash: - type: string - format: byte - title: hashes of block data - data_hash: - type: string - format: byte - validators_hash: - type: string - format: byte - title: hashes from the app output from the prev block - next_validators_hash: - type: string - format: byte - consensus_hash: - type: string - format: byte - app_hash: - type: string - format: byte - last_results_hash: - type: string - format: byte - evidence_hash: - type: string - format: byte - title: consensus info - proposer_address: - type: string - format: byte - description: >- - Header defines the structure of a Tendermint block - header. - commit: - type: object - properties: - height: - type: string - format: int64 - round: - type: integer - format: int32 - block_id: - type: object - properties: - hash: - type: string - format: byte - part_set_header: - type: object - properties: - total: - type: integer - format: int64 - hash: - type: string - format: byte - title: PartsetHeader - title: BlockID - signatures: - type: array - items: - type: object - properties: - block_id_flag: - type: string - enum: - - BLOCK_ID_FLAG_UNKNOWN - - BLOCK_ID_FLAG_ABSENT - - BLOCK_ID_FLAG_COMMIT - - BLOCK_ID_FLAG_NIL - default: BLOCK_ID_FLAG_UNKNOWN - title: >- - BlockIdFlag indicates which BlcokID the - signature is for - validator_address: - type: string - format: byte - timestamp: - type: string - format: date-time - signature: - type: string - format: byte - description: >- - CommitSig is a part of the Vote included in a - Commit. - description: >- - Commit contains the evidence that a block was - committed by a set of validators. - validator_set: - type: object - properties: - validators: - type: array - items: - type: object - properties: - address: - type: string - format: byte - pub_key: - type: object - properties: - ed25519: - type: string - format: byte - secp256k1: - type: string - format: byte - title: >- - PublicKey defines the keys available for use - with Tendermint Validators - voting_power: - type: string - format: int64 - proposer_priority: - type: string - format: int64 - proposer: - type: object - properties: - address: - type: string - format: byte - pub_key: - type: object - properties: - ed25519: - type: string - format: byte - secp256k1: - type: string - format: byte - title: >- - PublicKey defines the keys available for use - with Tendermint Validators - voting_power: - type: string - format: int64 - proposer_priority: - type: string - format: int64 - total_voting_power: - type: string - format: int64 - common_height: - type: string - format: int64 - byzantine_validators: - type: array - items: - type: object - properties: - address: - type: string - format: byte - pub_key: - type: object - properties: - ed25519: - type: string - format: byte - secp256k1: - type: string - format: byte - title: >- - PublicKey defines the keys available for use with - Tendermint Validators - voting_power: - type: string - format: int64 - proposer_priority: - type: string - format: int64 - total_voting_power: + option: type: string - format: int64 - timestamp: + enum: + - VOTE_OPTION_UNSPECIFIED + - VOTE_OPTION_YES + - VOTE_OPTION_ABSTAIN + - VOTE_OPTION_NO + - VOTE_OPTION_NO_WITH_VETO + default: VOTE_OPTION_UNSPECIFIED + description: >- + VoteOption enumerates the valid vote options for a given + governance proposal. + + - VOTE_OPTION_UNSPECIFIED: VOTE_OPTION_UNSPECIFIED defines a no-op vote option. + - VOTE_OPTION_YES: VOTE_OPTION_YES defines a yes vote option. + - VOTE_OPTION_ABSTAIN: VOTE_OPTION_ABSTAIN defines an abstain vote option. + - VOTE_OPTION_NO: VOTE_OPTION_NO defines a no vote option. + - VOTE_OPTION_NO_WITH_VETO: VOTE_OPTION_NO_WITH_VETO defines a no with veto vote option. + weight: type: string - format: date-time - description: >- - LightClientAttackEvidence contains evidence of a set of - validators attempting to mislead a light client. - tendermint.types.Header: + description: |- + WeightedVoteOption defines a unit of vote for vote split. + + Since: cosmos-sdk 0.43 + title: 'Since: cosmos-sdk 0.43' + description: QueryVoteResponse is the response type for the Query/Vote RPC method. + cosmos.gov.v1beta1.QueryVotesResponse: type: object properties: - version: - title: basic block info - type: object - properties: - block: - type: string - format: uint64 - app: - type: string - format: uint64 - description: >- - Consensus captures the consensus rules for processing a block in the - blockchain, + votes: + type: array + items: + type: object + properties: + proposal_id: + type: string + format: uint64 + voter: + type: string + option: + description: >- + Deprecated: Prefer to use `options` instead. This field is set + in queries - including all blockchain data structures and the rules of the - application's + if and only if `len(options) == 1` and that option has weight 1. + In all - state transition machine. - chain_id: - type: string - height: - type: string - format: int64 - time: - type: string - format: date-time - last_block_id: + other cases, this field will default to VOTE_OPTION_UNSPECIFIED. + type: string + enum: + - VOTE_OPTION_UNSPECIFIED + - VOTE_OPTION_YES + - VOTE_OPTION_ABSTAIN + - VOTE_OPTION_NO + - VOTE_OPTION_NO_WITH_VETO + default: VOTE_OPTION_UNSPECIFIED + options: + type: array + items: + type: object + properties: + option: + type: string + enum: + - VOTE_OPTION_UNSPECIFIED + - VOTE_OPTION_YES + - VOTE_OPTION_ABSTAIN + - VOTE_OPTION_NO + - VOTE_OPTION_NO_WITH_VETO + default: VOTE_OPTION_UNSPECIFIED + description: >- + VoteOption enumerates the valid vote options for a given + governance proposal. + + - VOTE_OPTION_UNSPECIFIED: VOTE_OPTION_UNSPECIFIED defines a no-op vote option. + - VOTE_OPTION_YES: VOTE_OPTION_YES defines a yes vote option. + - VOTE_OPTION_ABSTAIN: VOTE_OPTION_ABSTAIN defines an abstain vote option. + - VOTE_OPTION_NO: VOTE_OPTION_NO defines a no vote option. + - VOTE_OPTION_NO_WITH_VETO: VOTE_OPTION_NO_WITH_VETO defines a no with veto vote option. + weight: + type: string + description: |- + WeightedVoteOption defines a unit of vote for vote split. + + Since: cosmos-sdk 0.43 + title: 'Since: cosmos-sdk 0.43' + description: |- + Vote defines a vote on a governance proposal. + A Vote consists of a proposal ID, the voter, and the vote option. + description: votes defined the queried votes. + pagination: + description: pagination defines the pagination in the response. type: object properties: - hash: + next_key: type: string format: byte - part_set_header: - type: object - properties: - total: - type: integer - format: int64 - hash: - type: string - format: byte - title: PartsetHeader - title: BlockID - last_commit_hash: + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + total: + type: string + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total + + was set, its value is undefined otherwise + description: QueryVotesResponse is the response type for the Query/Votes RPC method. + cosmos.gov.v1beta1.TallyParams: + type: object + properties: + quorum: type: string format: byte - title: hashes of block data - data_hash: + description: |- + Minimum percentage of total stake needed to vote for a result to be + considered valid. + threshold: type: string format: byte - validators_hash: + description: >- + Minimum proportion of Yes votes for proposal to pass. Default value: + 0.5. + veto_threshold: type: string format: byte - title: hashes from the app output from the prev block - next_validators_hash: + description: |- + Minimum value of Veto votes to Total votes ratio for proposal to be + vetoed. Default value: 1/3. + description: TallyParams defines the params for tallying votes on governance proposals. + cosmos.gov.v1beta1.TallyResult: + type: object + properties: + 'yes': type: string - format: byte - consensus_hash: + abstain: type: string - format: byte - app_hash: + 'no': type: string - format: byte - last_results_hash: + no_with_veto: type: string - format: byte - evidence_hash: + description: TallyResult defines a standard tally for a governance proposal. + cosmos.gov.v1beta1.Vote: + type: object + properties: + proposal_id: type: string - format: byte - title: consensus info - proposer_address: + format: uint64 + voter: type: string - format: byte - description: Header defines the structure of a Tendermint block header. - tendermint.types.LightBlock: + option: + description: >- + Deprecated: Prefer to use `options` instead. This field is set in + queries + + if and only if `len(options) == 1` and that option has weight 1. In + all + + other cases, this field will default to VOTE_OPTION_UNSPECIFIED. + type: string + enum: + - VOTE_OPTION_UNSPECIFIED + - VOTE_OPTION_YES + - VOTE_OPTION_ABSTAIN + - VOTE_OPTION_NO + - VOTE_OPTION_NO_WITH_VETO + default: VOTE_OPTION_UNSPECIFIED + options: + type: array + items: + type: object + properties: + option: + type: string + enum: + - VOTE_OPTION_UNSPECIFIED + - VOTE_OPTION_YES + - VOTE_OPTION_ABSTAIN + - VOTE_OPTION_NO + - VOTE_OPTION_NO_WITH_VETO + default: VOTE_OPTION_UNSPECIFIED + description: >- + VoteOption enumerates the valid vote options for a given + governance proposal. + + - VOTE_OPTION_UNSPECIFIED: VOTE_OPTION_UNSPECIFIED defines a no-op vote option. + - VOTE_OPTION_YES: VOTE_OPTION_YES defines a yes vote option. + - VOTE_OPTION_ABSTAIN: VOTE_OPTION_ABSTAIN defines an abstain vote option. + - VOTE_OPTION_NO: VOTE_OPTION_NO defines a no vote option. + - VOTE_OPTION_NO_WITH_VETO: VOTE_OPTION_NO_WITH_VETO defines a no with veto vote option. + weight: + type: string + description: |- + WeightedVoteOption defines a unit of vote for vote split. + + Since: cosmos-sdk 0.43 + title: 'Since: cosmos-sdk 0.43' + description: |- + Vote defines a vote on a governance proposal. + A Vote consists of a proposal ID, the voter, and the vote option. + cosmos.gov.v1beta1.VoteOption: + type: string + enum: + - VOTE_OPTION_UNSPECIFIED + - VOTE_OPTION_YES + - VOTE_OPTION_ABSTAIN + - VOTE_OPTION_NO + - VOTE_OPTION_NO_WITH_VETO + default: VOTE_OPTION_UNSPECIFIED + description: >- + VoteOption enumerates the valid vote options for a given governance + proposal. + + - VOTE_OPTION_UNSPECIFIED: VOTE_OPTION_UNSPECIFIED defines a no-op vote option. + - VOTE_OPTION_YES: VOTE_OPTION_YES defines a yes vote option. + - VOTE_OPTION_ABSTAIN: VOTE_OPTION_ABSTAIN defines an abstain vote option. + - VOTE_OPTION_NO: VOTE_OPTION_NO defines a no vote option. + - VOTE_OPTION_NO_WITH_VETO: VOTE_OPTION_NO_WITH_VETO defines a no with veto vote option. + cosmos.gov.v1beta1.VotingParams: type: object properties: - signed_header: - type: object - properties: - header: - type: object - properties: - version: - title: basic block info - type: object - properties: - block: - type: string - format: uint64 - app: - type: string - format: uint64 - description: >- - Consensus captures the consensus rules for processing a block - in the blockchain, + voting_period: + type: string + description: Length of the voting period. + description: VotingParams defines the params for voting on governance proposals. + cosmos.gov.v1beta1.WeightedVoteOption: + type: object + properties: + option: + type: string + enum: + - VOTE_OPTION_UNSPECIFIED + - VOTE_OPTION_YES + - VOTE_OPTION_ABSTAIN + - VOTE_OPTION_NO + - VOTE_OPTION_NO_WITH_VETO + default: VOTE_OPTION_UNSPECIFIED + description: >- + VoteOption enumerates the valid vote options for a given governance + proposal. - including all blockchain data structures and the rules of the - application's + - VOTE_OPTION_UNSPECIFIED: VOTE_OPTION_UNSPECIFIED defines a no-op vote option. + - VOTE_OPTION_YES: VOTE_OPTION_YES defines a yes vote option. + - VOTE_OPTION_ABSTAIN: VOTE_OPTION_ABSTAIN defines an abstain vote option. + - VOTE_OPTION_NO: VOTE_OPTION_NO defines a no vote option. + - VOTE_OPTION_NO_WITH_VETO: VOTE_OPTION_NO_WITH_VETO defines a no with veto vote option. + weight: + type: string + description: |- + WeightedVoteOption defines a unit of vote for vote split. - state transition machine. - chain_id: - type: string - height: - type: string - format: int64 - time: - type: string - format: date-time - last_block_id: - type: object - properties: - hash: - type: string - format: byte - part_set_header: - type: object - properties: - total: - type: integer - format: int64 - hash: - type: string - format: byte - title: PartsetHeader - title: BlockID - last_commit_hash: - type: string - format: byte - title: hashes of block data - data_hash: - type: string - format: byte - validators_hash: - type: string - format: byte - title: hashes from the app output from the prev block - next_validators_hash: - type: string - format: byte - consensus_hash: - type: string - format: byte - app_hash: - type: string - format: byte - last_results_hash: - type: string - format: byte - evidence_hash: - type: string - format: byte - title: consensus info - proposer_address: - type: string - format: byte - description: Header defines the structure of a Tendermint block header. - commit: - type: object - properties: - height: - type: string - format: int64 - round: - type: integer - format: int32 - block_id: - type: object - properties: - hash: - type: string - format: byte - part_set_header: - type: object - properties: - total: - type: integer - format: int64 - hash: - type: string - format: byte - title: PartsetHeader - title: BlockID - signatures: - type: array - items: - type: object - properties: - block_id_flag: - type: string - enum: - - BLOCK_ID_FLAG_UNKNOWN - - BLOCK_ID_FLAG_ABSENT - - BLOCK_ID_FLAG_COMMIT - - BLOCK_ID_FLAG_NIL - default: BLOCK_ID_FLAG_UNKNOWN - title: BlockIdFlag indicates which BlcokID the signature is for - validator_address: - type: string - format: byte - timestamp: - type: string - format: date-time - signature: - type: string - format: byte - description: CommitSig is a part of the Vote included in a Commit. + Since: cosmos-sdk 0.43 + cosmos.group.v1.Exec: + type: string + enum: + - EXEC_UNSPECIFIED + - EXEC_TRY + default: EXEC_UNSPECIFIED + description: |- + Exec defines modes of execution of a proposal on creation or on new vote. + + - EXEC_UNSPECIFIED: An empty value means that there should be a separate + MsgExec request for the proposal to execute. + - EXEC_TRY: Try to execute the proposal immediately. + If the proposal is not allowed per the DecisionPolicy, + the proposal will still be open and could + be executed at a later point. + cosmos.group.v1.GroupInfo: + type: object + properties: + id: + type: string + format: uint64 + description: id is the unique ID of the group. + admin: + type: string + description: admin is the account address of the group's admin. + metadata: + type: string + description: metadata is any arbitrary metadata to attached to the group. + version: + type: string + format: uint64 + title: >- + version is used to track changes to a group's membership structure + that + + would break existing proposals. Whenever any members weight is + changed, + + or any member is added or removed this version is incremented and will + + cause proposals based on older versions of this group to fail + total_weight: + type: string + description: total_weight is the sum of the group members' weights. + created_at: + type: string + format: date-time + description: created_at is a timestamp specifying when a group was created. + description: GroupInfo represents the high-level on-chain information for a group. + cosmos.group.v1.GroupMember: + type: object + properties: + group_id: + type: string + format: uint64 + description: group_id is the unique ID of the group. + member: + description: member is the member data. + type: object + properties: + address: + type: string + description: address is the member's account address. + weight: + type: string description: >- - Commit contains the evidence that a block was committed by a set - of validators. - validator_set: + weight is the member's voting weight that should be greater than + 0. + metadata: + type: string + description: metadata is any arbitrary metadata attached to the member. + added_at: + type: string + format: date-time + description: added_at is a timestamp specifying when a member was added. + description: GroupMember represents the relationship between a group and a member. + cosmos.group.v1.GroupPolicyInfo: + type: object + properties: + address: + type: string + description: address is the account address of group policy. + group_id: + type: string + format: uint64 + description: group_id is the unique ID of the group. + admin: + type: string + description: admin is the account address of the group admin. + metadata: + type: string + description: metadata is any arbitrary metadata to attached to the group policy. + version: + type: string + format: uint64 + description: >- + version is used to track changes to a group's GroupPolicyInfo + structure that + + would create a different result on a running proposal. + decision_policy: + description: decision_policy specifies the group policy's decision policy. type: object properties: - validators: - type: array - items: - type: object - properties: - address: - type: string - format: byte - pub_key: - type: object - properties: - ed25519: - type: string - format: byte - secp256k1: - type: string - format: byte - title: >- - PublicKey defines the keys available for use with Tendermint - Validators - voting_power: - type: string - format: int64 - proposer_priority: - type: string - format: int64 - proposer: - type: object - properties: - address: - type: string - format: byte - pub_key: - type: object - properties: - ed25519: - type: string - format: byte - secp256k1: - type: string - format: byte - title: >- - PublicKey defines the keys available for use with Tendermint - Validators - voting_power: - type: string - format: int64 - proposer_priority: - type: string - format: int64 - total_voting_power: + '@type': type: string - format: int64 - tendermint.types.LightClientAttackEvidence: + description: >- + A URL/resource name that uniquely identifies the type of the + serialized + + protocol buffer message. This string must contain at least + + one "/" character. The last segment of the URL's path must + represent + + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name should be in a + canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the binary all types + that they + + expect it to use in the context of Any. However, for URLs which + use the + + scheme `http`, `https`, or no scheme, one can optionally set up a + type + + server that maps type URLs to message definitions as follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available in the + official + + protobuf release, and it is not used for type URLs beginning with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty scheme) might be + + used with implementation specific semantics. + additionalProperties: {} + created_at: + type: string + format: date-time + description: created_at is a timestamp specifying when a group policy was created. + description: >- + GroupPolicyInfo represents the high-level on-chain information for a group + policy. + cosmos.group.v1.Member: type: object properties: - conflicting_block: + address: + type: string + description: address is the member's account address. + weight: + type: string + description: weight is the member's voting weight that should be greater than 0. + metadata: + type: string + description: metadata is any arbitrary metadata attached to the member. + added_at: + type: string + format: date-time + description: added_at is a timestamp specifying when a member was added. + description: |- + Member represents a group member with an account address, + non-zero weight, metadata and added_at timestamp. + cosmos.group.v1.MemberRequest: + type: object + properties: + address: + type: string + description: address is the member's account address. + weight: + type: string + description: weight is the member's voting weight that should be greater than 0. + metadata: + type: string + description: metadata is any arbitrary metadata attached to the member. + description: |- + MemberRequest represents a group member to be used in Msg server requests. + Contrary to `Member`, it doesn't have any `added_at` field + since this field cannot be set as part of requests. + cosmos.group.v1.MsgCreateGroupPolicyResponse: + type: object + properties: + address: + type: string + description: address is the account address of the newly created group policy. + description: MsgCreateGroupPolicyResponse is the Msg/CreateGroupPolicy response type. + cosmos.group.v1.MsgCreateGroupResponse: + type: object + properties: + group_id: + type: string + format: uint64 + description: group_id is the unique ID of the newly created group. + description: MsgCreateGroupResponse is the Msg/CreateGroup response type. + cosmos.group.v1.MsgCreateGroupWithPolicyResponse: + type: object + properties: + group_id: + type: string + format: uint64 + description: group_id is the unique ID of the newly created group with policy. + group_policy_address: + type: string + description: >- + group_policy_address is the account address of the newly created group + policy. + description: >- + MsgCreateGroupWithPolicyResponse is the Msg/CreateGroupWithPolicy response + type. + cosmos.group.v1.MsgExecResponse: + type: object + properties: + result: + description: result is the final result of the proposal execution. + type: string + enum: + - PROPOSAL_EXECUTOR_RESULT_UNSPECIFIED + - PROPOSAL_EXECUTOR_RESULT_NOT_RUN + - PROPOSAL_EXECUTOR_RESULT_SUCCESS + - PROPOSAL_EXECUTOR_RESULT_FAILURE + default: PROPOSAL_EXECUTOR_RESULT_UNSPECIFIED + description: MsgExecResponse is the Msg/Exec request type. + cosmos.group.v1.MsgLeaveGroupResponse: + type: object + description: MsgLeaveGroupResponse is the Msg/LeaveGroup response type. + cosmos.group.v1.MsgSubmitProposalResponse: + type: object + properties: + proposal_id: + type: string + format: uint64 + description: proposal is the unique ID of the proposal. + description: MsgSubmitProposalResponse is the Msg/SubmitProposal response type. + cosmos.group.v1.MsgUpdateGroupAdminResponse: + type: object + description: MsgUpdateGroupAdminResponse is the Msg/UpdateGroupAdmin response type. + cosmos.group.v1.MsgUpdateGroupMembersResponse: + type: object + description: MsgUpdateGroupMembersResponse is the Msg/UpdateGroupMembers response type. + cosmos.group.v1.MsgUpdateGroupMetadataResponse: + type: object + description: >- + MsgUpdateGroupMetadataResponse is the Msg/UpdateGroupMetadata response + type. + cosmos.group.v1.MsgUpdateGroupPolicyAdminResponse: + type: object + description: >- + MsgUpdateGroupPolicyAdminResponse is the Msg/UpdateGroupPolicyAdmin + response type. + cosmos.group.v1.MsgUpdateGroupPolicyDecisionPolicyResponse: + type: object + description: >- + MsgUpdateGroupPolicyDecisionPolicyResponse is the + Msg/UpdateGroupPolicyDecisionPolicy response type. + cosmos.group.v1.MsgUpdateGroupPolicyMetadataResponse: + type: object + description: >- + MsgUpdateGroupPolicyMetadataResponse is the Msg/UpdateGroupPolicyMetadata + response type. + cosmos.group.v1.MsgVoteResponse: + type: object + description: MsgVoteResponse is the Msg/Vote response type. + cosmos.group.v1.MsgWithdrawProposalResponse: + type: object + description: MsgWithdrawProposalResponse is the Msg/WithdrawProposal response type. + cosmos.group.v1.Proposal: + type: object + properties: + id: + type: string + format: uint64 + description: id is the unique id of the proposal. + group_policy_address: + type: string + description: group_policy_address is the account address of group policy. + metadata: + type: string + description: metadata is any arbitrary metadata to attached to the proposal. + proposers: + type: array + items: + type: string + description: proposers are the account addresses of the proposers. + submit_time: + type: string + format: date-time + description: submit_time is a timestamp specifying when a proposal was submitted. + group_version: + type: string + format: uint64 + description: |- + group_version tracks the version of the group at proposal submission. + This field is here for informational purposes only. + group_policy_version: + type: string + format: uint64 + description: >- + group_policy_version tracks the version of the group policy at + proposal submission. + + When a decision policy is changed, existing proposals from previous + policy + + versions will become invalid with the `ABORTED` status. + + This field is here for informational purposes only. + status: + description: >- + status represents the high level position in the life cycle of the + proposal. Initial value is Submitted. + type: string + enum: + - PROPOSAL_STATUS_UNSPECIFIED + - PROPOSAL_STATUS_SUBMITTED + - PROPOSAL_STATUS_ACCEPTED + - PROPOSAL_STATUS_REJECTED + - PROPOSAL_STATUS_ABORTED + - PROPOSAL_STATUS_WITHDRAWN + default: PROPOSAL_STATUS_UNSPECIFIED + final_tally_result: + description: >- + final_tally_result contains the sums of all weighted votes for this + + proposal for each vote option. It is empty at submission, and only + + populated after tallying, at voting period end or at proposal + execution, + + whichever happens first. type: object properties: - signed_header: - type: object - properties: - header: - type: object - properties: - version: - title: basic block info - type: object - properties: - block: - type: string - format: uint64 - app: - type: string - format: uint64 - description: >- - Consensus captures the consensus rules for processing a - block in the blockchain, + yes_count: + type: string + description: yes_count is the weighted sum of yes votes. + abstain_count: + type: string + description: abstain_count is the weighted sum of abstainers. + no_count: + type: string + description: no_count is the weighted sum of no votes. + no_with_veto_count: + type: string + description: no_with_veto_count is the weighted sum of veto. + voting_period_end: + type: string + format: date-time + description: >- + voting_period_end is the timestamp before which voting must be done. - including all blockchain data structures and the rules of - the application's + Unless a successfull MsgExec is called before (to execute a proposal + whose - state transition machine. - chain_id: - type: string - height: - type: string - format: int64 - time: - type: string - format: date-time - last_block_id: - type: object - properties: - hash: - type: string - format: byte - part_set_header: - type: object - properties: - total: - type: integer - format: int64 - hash: - type: string - format: byte - title: PartsetHeader - title: BlockID - last_commit_hash: - type: string - format: byte - title: hashes of block data - data_hash: - type: string - format: byte - validators_hash: - type: string - format: byte - title: hashes from the app output from the prev block - next_validators_hash: - type: string - format: byte - consensus_hash: - type: string - format: byte - app_hash: - type: string - format: byte - last_results_hash: - type: string - format: byte - evidence_hash: - type: string - format: byte - title: consensus info - proposer_address: - type: string - format: byte - description: Header defines the structure of a Tendermint block header. - commit: - type: object - properties: - height: - type: string - format: int64 - round: - type: integer - format: int32 - block_id: - type: object - properties: - hash: - type: string - format: byte - part_set_header: - type: object - properties: - total: - type: integer - format: int64 - hash: - type: string - format: byte - title: PartsetHeader - title: BlockID - signatures: - type: array - items: - type: object - properties: - block_id_flag: - type: string - enum: - - BLOCK_ID_FLAG_UNKNOWN - - BLOCK_ID_FLAG_ABSENT - - BLOCK_ID_FLAG_COMMIT - - BLOCK_ID_FLAG_NIL - default: BLOCK_ID_FLAG_UNKNOWN - title: >- - BlockIdFlag indicates which BlcokID the signature is - for - validator_address: - type: string - format: byte - timestamp: - type: string - format: date-time - signature: - type: string - format: byte - description: CommitSig is a part of the Vote included in a Commit. - description: >- - Commit contains the evidence that a block was committed by a - set of validators. - validator_set: - type: object - properties: - validators: - type: array - items: - type: object - properties: - address: - type: string - format: byte - pub_key: - type: object - properties: - ed25519: - type: string - format: byte - secp256k1: - type: string - format: byte - title: >- - PublicKey defines the keys available for use with - Tendermint Validators - voting_power: - type: string - format: int64 - proposer_priority: - type: string - format: int64 - proposer: - type: object - properties: - address: - type: string - format: byte - pub_key: - type: object - properties: - ed25519: - type: string - format: byte - secp256k1: - type: string - format: byte - title: >- - PublicKey defines the keys available for use with - Tendermint Validators - voting_power: - type: string - format: int64 - proposer_priority: - type: string - format: int64 - total_voting_power: - type: string - format: int64 - common_height: + tally is successful before the voting period ends), tallying will be + done + + at this point, and the `final_tally_result`and `status` fields will be + + accordingly updated. + executor_result: + description: >- + executor_result is the final result of the proposal execution. Initial + value is NotRun. type: string - format: int64 - byzantine_validators: + enum: + - PROPOSAL_EXECUTOR_RESULT_UNSPECIFIED + - PROPOSAL_EXECUTOR_RESULT_NOT_RUN + - PROPOSAL_EXECUTOR_RESULT_SUCCESS + - PROPOSAL_EXECUTOR_RESULT_FAILURE + default: PROPOSAL_EXECUTOR_RESULT_UNSPECIFIED + messages: type: array items: type: object properties: - address: - type: string - format: byte - pub_key: - type: object - properties: - ed25519: - type: string - format: byte - secp256k1: - type: string - format: byte - title: >- - PublicKey defines the keys available for use with Tendermint - Validators - voting_power: - type: string - format: int64 - proposer_priority: + '@type': type: string - format: int64 - total_voting_power: - type: string - format: int64 - timestamp: - type: string - format: date-time + description: >- + A URL/resource name that uniquely identifies the type of the + serialized + + protocol buffer message. This string must contain at least + + one "/" character. The last segment of the URL's path must + represent + + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name should be in a + canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the binary all types + that they + + expect it to use in the context of Any. However, for URLs which + use the + + scheme `http`, `https`, or no scheme, one can optionally set up + a type + + server that maps type URLs to message definitions as follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available in the + official + + protobuf release, and it is not used for type URLs beginning + with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty scheme) might + be + + used with implementation specific semantics. + additionalProperties: {} + description: >- + `Any` contains an arbitrary serialized protocol buffer message along + with a + + URL that describes the type of the serialized message. + + + Protobuf library provides support to pack/unpack Any values in the + form + + of utility functions or additional generated methods of the Any + type. + + + Example 1: Pack and unpack a message in C++. + + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } + + Example 2: Pack and unpack a message in Java. + + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + + Example 3: Pack and unpack a message in Python. + + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + + Example 4: Pack and unpack a message in Go + + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } + + The pack methods provided by protobuf library will by default use + + 'type.googleapis.com/full.type.name' as the type URL and the unpack + + methods only use the fully qualified type name after the last '/' + + in the type URL, for example "foo.bar.com/x/y.z" will yield type + + name "y.z". + + + + JSON + + ==== + + The JSON representation of an `Any` value uses the regular + + representation of the deserialized, embedded message, with an + + additional field `@type` which contains the type URL. Example: + + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } + + If the embedded message type is well-known and has a custom JSON + + representation, that representation will be embedded adding a field + + `value` which holds the custom JSON in addition to the `@type` + + field. Example (for message [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + description: >- + messages is a list of `sdk.Msg`s that will be executed if the proposal + passes. description: >- - LightClientAttackEvidence contains evidence of a set of validators - attempting to mislead a light client. - tendermint.types.PartSetHeader: - type: object - properties: - total: - type: integer - format: int64 - hash: - type: string - format: byte - title: PartsetHeader - tendermint.types.SignedHeader: + Proposal defines a group proposal. Any member of a group can submit a + proposal + + for a group policy to decide upon. + + A proposal consists of a set of `sdk.Msg`s that will be executed if the + proposal + + passes as well as some optional metadata associated with the proposal. + cosmos.group.v1.ProposalExecutorResult: + type: string + enum: + - PROPOSAL_EXECUTOR_RESULT_UNSPECIFIED + - PROPOSAL_EXECUTOR_RESULT_NOT_RUN + - PROPOSAL_EXECUTOR_RESULT_SUCCESS + - PROPOSAL_EXECUTOR_RESULT_FAILURE + default: PROPOSAL_EXECUTOR_RESULT_UNSPECIFIED + description: |- + ProposalExecutorResult defines types of proposal executor results. + + - PROPOSAL_EXECUTOR_RESULT_UNSPECIFIED: An empty value is not allowed. + - PROPOSAL_EXECUTOR_RESULT_NOT_RUN: We have not yet run the executor. + - PROPOSAL_EXECUTOR_RESULT_SUCCESS: The executor was successful and proposed action updated state. + - PROPOSAL_EXECUTOR_RESULT_FAILURE: The executor returned an error and proposed action didn't update state. + cosmos.group.v1.ProposalStatus: + type: string + enum: + - PROPOSAL_STATUS_UNSPECIFIED + - PROPOSAL_STATUS_SUBMITTED + - PROPOSAL_STATUS_ACCEPTED + - PROPOSAL_STATUS_REJECTED + - PROPOSAL_STATUS_ABORTED + - PROPOSAL_STATUS_WITHDRAWN + default: PROPOSAL_STATUS_UNSPECIFIED + description: |- + ProposalStatus defines proposal statuses. + + - PROPOSAL_STATUS_UNSPECIFIED: An empty value is invalid and not allowed. + - PROPOSAL_STATUS_SUBMITTED: Initial status of a proposal when submitted. + - PROPOSAL_STATUS_ACCEPTED: Final status of a proposal when the final tally is done and the outcome + passes the group policy's decision policy. + - PROPOSAL_STATUS_REJECTED: Final status of a proposal when the final tally is done and the outcome + is rejected by the group policy's decision policy. + - PROPOSAL_STATUS_ABORTED: Final status of a proposal when the group policy is modified before the + final tally. + - PROPOSAL_STATUS_WITHDRAWN: A proposal can be withdrawn before the voting start time by the owner. + When this happens the final status is Withdrawn. + cosmos.group.v1.QueryGroupInfoResponse: type: object properties: - header: + info: + description: info is the GroupInfo for the group. type: object properties: - version: - title: basic block info - type: object - properties: - block: - type: string - format: uint64 - app: - type: string - format: uint64 - description: >- - Consensus captures the consensus rules for processing a block in - the blockchain, - - including all blockchain data structures and the rules of the - application's - - state transition machine. - chain_id: + id: type: string - height: - type: string - format: int64 - time: - type: string - format: date-time - last_block_id: - type: object - properties: - hash: - type: string - format: byte - part_set_header: - type: object - properties: - total: - type: integer - format: int64 - hash: - type: string - format: byte - title: PartsetHeader - title: BlockID - last_commit_hash: - type: string - format: byte - title: hashes of block data - data_hash: - type: string - format: byte - validators_hash: - type: string - format: byte - title: hashes from the app output from the prev block - next_validators_hash: - type: string - format: byte - consensus_hash: - type: string - format: byte - app_hash: + format: uint64 + description: id is the unique ID of the group. + admin: type: string - format: byte - last_results_hash: + description: admin is the account address of the group's admin. + metadata: type: string - format: byte - evidence_hash: + description: metadata is any arbitrary metadata to attached to the group. + version: type: string - format: byte - title: consensus info - proposer_address: + format: uint64 + title: >- + version is used to track changes to a group's membership structure + that + + would break existing proposals. Whenever any members weight is + changed, + + or any member is added or removed this version is incremented and + will + + cause proposals based on older versions of this group to fail + total_weight: type: string - format: byte - description: Header defines the structure of a Tendermint block header. - commit: - type: object - properties: - height: + description: total_weight is the sum of the group members' weights. + created_at: type: string - format: int64 - round: - type: integer - format: int32 - block_id: - type: object - properties: - hash: - type: string - format: byte - part_set_header: - type: object - properties: - total: - type: integer - format: int64 - hash: - type: string - format: byte - title: PartsetHeader - title: BlockID - signatures: - type: array - items: + format: date-time + description: created_at is a timestamp specifying when a group was created. + description: QueryGroupInfoResponse is the Query/GroupInfo response type. + cosmos.group.v1.QueryGroupMembersResponse: + type: object + properties: + members: + type: array + items: + type: object + properties: + group_id: + type: string + format: uint64 + description: group_id is the unique ID of the group. + member: + description: member is the member data. type: object properties: - block_id_flag: + address: type: string - enum: - - BLOCK_ID_FLAG_UNKNOWN - - BLOCK_ID_FLAG_ABSENT - - BLOCK_ID_FLAG_COMMIT - - BLOCK_ID_FLAG_NIL - default: BLOCK_ID_FLAG_UNKNOWN - title: BlockIdFlag indicates which BlcokID the signature is for - validator_address: + description: address is the member's account address. + weight: type: string - format: byte - timestamp: + description: >- + weight is the member's voting weight that should be greater + than 0. + metadata: type: string - format: date-time - signature: + description: metadata is any arbitrary metadata attached to the member. + added_at: type: string - format: byte - description: CommitSig is a part of the Vote included in a Commit. - description: >- - Commit contains the evidence that a block was committed by a set of - validators. - tendermint.types.SignedMsgType: - type: string - enum: - - SIGNED_MSG_TYPE_UNKNOWN - - SIGNED_MSG_TYPE_PREVOTE - - SIGNED_MSG_TYPE_PRECOMMIT - - SIGNED_MSG_TYPE_PROPOSAL - default: SIGNED_MSG_TYPE_UNKNOWN - description: |- - SignedMsgType is a type of signed message in the consensus. + format: date-time + description: added_at is a timestamp specifying when a member was added. + description: >- + GroupMember represents the relationship between a group and a + member. + description: members are the members of the group with given group_id. + pagination: + description: pagination defines the pagination in the response. + type: object + properties: + next_key: + type: string + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + total: + type: string + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total - - SIGNED_MSG_TYPE_PREVOTE: Votes - - SIGNED_MSG_TYPE_PROPOSAL: Proposals - tendermint.types.Validator: + was set, its value is undefined otherwise + description: QueryGroupMembersResponse is the Query/GroupMembersResponse response type. + cosmos.group.v1.QueryGroupPoliciesByAdminResponse: type: object properties: - address: - type: string - format: byte - pub_key: + group_policies: + type: array + items: + type: object + properties: + address: + type: string + description: address is the account address of group policy. + group_id: + type: string + format: uint64 + description: group_id is the unique ID of the group. + admin: + type: string + description: admin is the account address of the group admin. + metadata: + type: string + description: >- + metadata is any arbitrary metadata to attached to the group + policy. + version: + type: string + format: uint64 + description: >- + version is used to track changes to a group's GroupPolicyInfo + structure that + + would create a different result on a running proposal. + decision_policy: + description: decision_policy specifies the group policy's decision policy. + type: object + properties: + '@type': + type: string + description: >- + A URL/resource name that uniquely identifies the type of the + serialized + + protocol buffer message. This string must contain at least + + one "/" character. The last segment of the URL's path must + represent + + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name should be in a + canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the binary all + types that they + + expect it to use in the context of Any. However, for URLs + which use the + + scheme `http`, `https`, or no scheme, one can optionally set + up a type + + server that maps type URLs to message definitions as + follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based on + the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available in the + official + + protobuf release, and it is not used for type URLs beginning + with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty scheme) + might be + + used with implementation specific semantics. + additionalProperties: {} + created_at: + type: string + format: date-time + description: >- + created_at is a timestamp specifying when a group policy was + created. + description: >- + GroupPolicyInfo represents the high-level on-chain information for a + group policy. + description: group_policies are the group policies info with provided admin. + pagination: + description: pagination defines the pagination in the response. type: object properties: - ed25519: + next_key: type: string format: byte - secp256k1: + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + total: type: string - format: byte - title: >- - PublicKey defines the keys available for use with Tendermint - Validators - voting_power: - type: string - format: int64 - proposer_priority: - type: string - format: int64 - tendermint.types.ValidatorSet: + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total + + was set, its value is undefined otherwise + description: >- + QueryGroupPoliciesByAdminResponse is the Query/GroupPoliciesByAdmin + response type. + cosmos.group.v1.QueryGroupPoliciesByGroupResponse: type: object properties: - validators: + group_policies: type: array items: type: object properties: address: type: string - format: byte - pub_key: + description: address is the account address of group policy. + group_id: + type: string + format: uint64 + description: group_id is the unique ID of the group. + admin: + type: string + description: admin is the account address of the group admin. + metadata: + type: string + description: >- + metadata is any arbitrary metadata to attached to the group + policy. + version: + type: string + format: uint64 + description: >- + version is used to track changes to a group's GroupPolicyInfo + structure that + + would create a different result on a running proposal. + decision_policy: + description: decision_policy specifies the group policy's decision policy. type: object properties: - ed25519: - type: string - format: byte - secp256k1: + '@type': type: string - format: byte - title: >- - PublicKey defines the keys available for use with Tendermint - Validators - voting_power: - type: string - format: int64 - proposer_priority: + description: >- + A URL/resource name that uniquely identifies the type of the + serialized + + protocol buffer message. This string must contain at least + + one "/" character. The last segment of the URL's path must + represent + + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name should be in a + canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the binary all + types that they + + expect it to use in the context of Any. However, for URLs + which use the + + scheme `http`, `https`, or no scheme, one can optionally set + up a type + + server that maps type URLs to message definitions as + follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based on + the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available in the + official + + protobuf release, and it is not used for type URLs beginning + with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty scheme) + might be + + used with implementation specific semantics. + additionalProperties: {} + created_at: type: string - format: int64 - proposer: + format: date-time + description: >- + created_at is a timestamp specifying when a group policy was + created. + description: >- + GroupPolicyInfo represents the high-level on-chain information for a + group policy. + description: >- + group_policies are the group policies info associated with the + provided group. + pagination: + description: pagination defines the pagination in the response. type: object properties: - address: + next_key: type: string format: byte - pub_key: - type: object - properties: - ed25519: - type: string - format: byte - secp256k1: - type: string - format: byte - title: >- - PublicKey defines the keys available for use with Tendermint - Validators - voting_power: - type: string - format: int64 - proposer_priority: + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + total: type: string - format: int64 - total_voting_power: - type: string - format: int64 - tendermint.types.Vote: + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total + + was set, its value is undefined otherwise + description: >- + QueryGroupPoliciesByGroupResponse is the Query/GroupPoliciesByGroup + response type. + cosmos.group.v1.QueryGroupPolicyInfoResponse: type: object properties: - type: - type: string - enum: - - SIGNED_MSG_TYPE_UNKNOWN - - SIGNED_MSG_TYPE_PREVOTE - - SIGNED_MSG_TYPE_PRECOMMIT - - SIGNED_MSG_TYPE_PROPOSAL - default: SIGNED_MSG_TYPE_UNKNOWN - description: |- - SignedMsgType is a type of signed message in the consensus. + info: + description: info is the GroupPolicyInfo for the group policy. + type: object + properties: + address: + type: string + description: address is the account address of group policy. + group_id: + type: string + format: uint64 + description: group_id is the unique ID of the group. + admin: + type: string + description: admin is the account address of the group admin. + metadata: + type: string + description: >- + metadata is any arbitrary metadata to attached to the group + policy. + version: + type: string + format: uint64 + description: >- + version is used to track changes to a group's GroupPolicyInfo + structure that + + would create a different result on a running proposal. + decision_policy: + description: decision_policy specifies the group policy's decision policy. + type: object + properties: + '@type': + type: string + description: >- + A URL/resource name that uniquely identifies the type of the + serialized + + protocol buffer message. This string must contain at least + + one "/" character. The last segment of the URL's path must + represent + + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name should be in a + canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the binary all + types that they + + expect it to use in the context of Any. However, for URLs + which use the + + scheme `http`, `https`, or no scheme, one can optionally set + up a type + + server that maps type URLs to message definitions as follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based on + the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available in the + official + + protobuf release, and it is not used for type URLs beginning + with - - SIGNED_MSG_TYPE_PREVOTE: Votes - - SIGNED_MSG_TYPE_PROPOSAL: Proposals - height: - type: string - format: int64 - round: - type: integer - format: int32 - block_id: - type: object - properties: - hash: - type: string - format: byte - part_set_header: - type: object - properties: - total: - type: integer - format: int64 - hash: - type: string - format: byte - title: PartsetHeader - title: BlockID - timestamp: - type: string - format: date-time - validator_address: - type: string - format: byte - validator_index: - type: integer - format: int32 - signature: - type: string - format: byte - description: |- - Vote represents a prevote, precommit, or commit vote from validators for - consensus. - tendermint.version.Consensus: - type: object - properties: - block: - type: string - format: uint64 - app: - type: string - format: uint64 - description: >- - Consensus captures the consensus rules for processing a block in the - blockchain, + type.googleapis.com. - including all blockchain data structures and the rules of the - application's - state transition machine. - cosmos.crisis.v1beta1.MsgVerifyInvariantResponse: - type: object - description: MsgVerifyInvariantResponse defines the Msg/VerifyInvariant response type. - cosmos.base.v1beta1.DecCoin: - type: object - properties: - denom: - type: string - amount: - type: string - description: |- - DecCoin defines a token with a denomination and a decimal amount. + Schemes other than `http`, `https` (or the empty scheme) might + be - NOTE: The amount field is an Dec which implements the custom method - signatures required by gogoproto. - cosmos.distribution.v1beta1.DelegationDelegatorReward: + used with implementation specific semantics. + additionalProperties: {} + created_at: + type: string + format: date-time + description: >- + created_at is a timestamp specifying when a group policy was + created. + description: QueryGroupPolicyInfoResponse is the Query/GroupPolicyInfo response type. + cosmos.group.v1.QueryGroupsByAdminResponse: type: object properties: - validator_address: - type: string - reward: + groups: type: array items: type: object properties: - denom: + id: type: string - amount: + format: uint64 + description: id is the unique ID of the group. + admin: type: string - description: |- - DecCoin defines a token with a denomination and a decimal amount. + description: admin is the account address of the group's admin. + metadata: + type: string + description: metadata is any arbitrary metadata to attached to the group. + version: + type: string + format: uint64 + title: >- + version is used to track changes to a group's membership + structure that - NOTE: The amount field is an Dec which implements the custom method - signatures required by gogoproto. - description: |- - DelegationDelegatorReward represents the properties - of a delegator's delegation reward. - cosmos.distribution.v1beta1.MsgFundCommunityPoolResponse: - type: object - description: >- - MsgFundCommunityPoolResponse defines the Msg/FundCommunityPool response - type. - cosmos.distribution.v1beta1.MsgSetWithdrawAddressResponse: - type: object + would break existing proposals. Whenever any members weight is + changed, + + or any member is added or removed this version is incremented + and will + + cause proposals based on older versions of this group to fail + total_weight: + type: string + description: total_weight is the sum of the group members' weights. + created_at: + type: string + format: date-time + description: created_at is a timestamp specifying when a group was created. + description: >- + GroupInfo represents the high-level on-chain information for a + group. + description: groups are the groups info with the provided admin. + pagination: + description: pagination defines the pagination in the response. + type: object + properties: + next_key: + type: string + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + total: + type: string + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total + + was set, its value is undefined otherwise description: >- - MsgSetWithdrawAddressResponse defines the Msg/SetWithdrawAddress response + QueryGroupsByAdminResponse is the Query/GroupsByAdminResponse response type. - cosmos.distribution.v1beta1.MsgWithdrawDelegatorRewardResponse: - type: object - description: >- - MsgWithdrawDelegatorRewardResponse defines the Msg/WithdrawDelegatorReward - response type. - cosmos.distribution.v1beta1.MsgWithdrawValidatorCommissionResponse: - type: object - description: >- - MsgWithdrawValidatorCommissionResponse defines the - Msg/WithdrawValidatorCommission response type. - cosmos.distribution.v1beta1.Params: - type: object - properties: - community_tax: - type: string - base_proposer_reward: - type: string - bonus_proposer_reward: - type: string - withdraw_addr_enabled: - type: boolean - description: Params defines the set of params for the distribution module. - cosmos.distribution.v1beta1.QueryCommunityPoolResponse: + cosmos.group.v1.QueryGroupsByMemberResponse: type: object properties: - pool: + groups: type: array items: type: object properties: - denom: + id: type: string - amount: + format: uint64 + description: id is the unique ID of the group. + admin: type: string - description: |- - DecCoin defines a token with a denomination and a decimal amount. + description: admin is the account address of the group's admin. + metadata: + type: string + description: metadata is any arbitrary metadata to attached to the group. + version: + type: string + format: uint64 + title: >- + version is used to track changes to a group's membership + structure that - NOTE: The amount field is an Dec which implements the custom method - signatures required by gogoproto. - description: pool defines community pool's coins. - description: >- - QueryCommunityPoolResponse is the response type for the - Query/CommunityPool + would break existing proposals. Whenever any members weight is + changed, - RPC method. - cosmos.distribution.v1beta1.QueryDelegationRewardsResponse: - type: object - properties: - rewards: - type: array - items: - type: object - properties: - denom: + or any member is added or removed this version is incremented + and will + + cause proposals based on older versions of this group to fail + total_weight: type: string - amount: + description: total_weight is the sum of the group members' weights. + created_at: type: string - description: |- - DecCoin defines a token with a denomination and a decimal amount. + format: date-time + description: created_at is a timestamp specifying when a group was created. + description: >- + GroupInfo represents the high-level on-chain information for a + group. + description: groups are the groups info with the provided group member. + pagination: + description: pagination defines the pagination in the response. + type: object + properties: + next_key: + type: string + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + total: + type: string + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total - NOTE: The amount field is an Dec which implements the custom method - signatures required by gogoproto. - description: rewards defines the rewards accrued by a delegation. - description: |- - QueryDelegationRewardsResponse is the response type for the - Query/DelegationRewards RPC method. - cosmos.distribution.v1beta1.QueryDelegationTotalRewardsResponse: + was set, its value is undefined otherwise + description: QueryGroupsByMemberResponse is the Query/GroupsByMember response type. + cosmos.group.v1.QueryGroupsResponse: type: object properties: - rewards: + groups: type: array items: type: object properties: - validator_address: + id: type: string - reward: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - DecCoin defines a token with a denomination and a decimal - amount. + format: uint64 + description: id is the unique ID of the group. + admin: + type: string + description: admin is the account address of the group's admin. + metadata: + type: string + description: metadata is any arbitrary metadata to attached to the group. + version: + type: string + format: uint64 + title: >- + version is used to track changes to a group's membership + structure that + would break existing proposals. Whenever any members weight is + changed, - NOTE: The amount field is an Dec which implements the custom - method + or any member is added or removed this version is incremented + and will - signatures required by gogoproto. - description: |- - DelegationDelegatorReward represents the properties - of a delegator's delegation reward. - description: rewards defines all the rewards accrued by a delegator. - total: - type: array - items: - type: object - properties: - denom: + cause proposals based on older versions of this group to fail + total_weight: type: string - amount: + description: total_weight is the sum of the group members' weights. + created_at: type: string - description: |- - DecCoin defines a token with a denomination and a decimal amount. + format: date-time + description: created_at is a timestamp specifying when a group was created. + description: >- + GroupInfo represents the high-level on-chain information for a + group. + description: '`groups` is all the groups present in state.' + pagination: + description: pagination defines the pagination in the response. + type: object + properties: + next_key: + type: string + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + total: + type: string + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total - NOTE: The amount field is an Dec which implements the custom method - signatures required by gogoproto. - description: total defines the sum of all the rewards. - description: |- - QueryDelegationTotalRewardsResponse is the response type for the - Query/DelegationTotalRewards RPC method. - cosmos.distribution.v1beta1.QueryDelegatorValidatorsResponse: - type: object - properties: - validators: - type: array - items: - type: string - description: validators defines the validators a delegator is delegating for. - description: |- - QueryDelegatorValidatorsResponse is the response type for the - Query/DelegatorValidators RPC method. - cosmos.distribution.v1beta1.QueryDelegatorWithdrawAddressResponse: - type: object - properties: - withdraw_address: - type: string - description: withdraw_address defines the delegator address to query for. + was set, its value is undefined otherwise description: |- - QueryDelegatorWithdrawAddressResponse is the response type for the - Query/DelegatorWithdrawAddress RPC method. - cosmos.distribution.v1beta1.QueryParamsResponse: + QueryGroupsResponse is the Query/Groups response type. + + Since: cosmos-sdk 0.47.1 + cosmos.group.v1.QueryProposalResponse: type: object properties: - params: - description: params defines the parameters of the module. + proposal: + description: proposal is the proposal info. type: object properties: - community_tax: + id: type: string - base_proposer_reward: + format: uint64 + description: id is the unique id of the proposal. + group_policy_address: type: string - bonus_proposer_reward: + description: group_policy_address is the account address of group policy. + metadata: type: string - withdraw_addr_enabled: - type: boolean - description: QueryParamsResponse is the response type for the Query/Params RPC method. - cosmos.distribution.v1beta1.QueryValidatorCommissionResponse: - type: object - properties: - commission: - description: commission defines the commision the validator received. - type: object - properties: - commission: + description: metadata is any arbitrary metadata to attached to the proposal. + proposers: type: array items: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - DecCoin defines a token with a denomination and a decimal - amount. + type: string + description: proposers are the account addresses of the proposers. + submit_time: + type: string + format: date-time + description: >- + submit_time is a timestamp specifying when a proposal was + submitted. + group_version: + type: string + format: uint64 + description: >- + group_version tracks the version of the group at proposal + submission. + This field is here for informational purposes only. + group_policy_version: + type: string + format: uint64 + description: >- + group_policy_version tracks the version of the group policy at + proposal submission. - NOTE: The amount field is an Dec which implements the custom - method + When a decision policy is changed, existing proposals from + previous policy - signatures required by gogoproto. - title: |- - QueryValidatorCommissionResponse is the response type for the - Query/ValidatorCommission RPC method - cosmos.distribution.v1beta1.QueryValidatorOutstandingRewardsResponse: - type: object - properties: - rewards: - type: object - properties: - rewards: + versions will become invalid with the `ABORTED` status. + + This field is here for informational purposes only. + status: + description: >- + status represents the high level position in the life cycle of the + proposal. Initial value is Submitted. + type: string + enum: + - PROPOSAL_STATUS_UNSPECIFIED + - PROPOSAL_STATUS_SUBMITTED + - PROPOSAL_STATUS_ACCEPTED + - PROPOSAL_STATUS_REJECTED + - PROPOSAL_STATUS_ABORTED + - PROPOSAL_STATUS_WITHDRAWN + default: PROPOSAL_STATUS_UNSPECIFIED + final_tally_result: + description: >- + final_tally_result contains the sums of all weighted votes for + this + + proposal for each vote option. It is empty at submission, and only + + populated after tallying, at voting period end or at proposal + execution, + + whichever happens first. + type: object + properties: + yes_count: + type: string + description: yes_count is the weighted sum of yes votes. + abstain_count: + type: string + description: abstain_count is the weighted sum of abstainers. + no_count: + type: string + description: no_count is the weighted sum of no votes. + no_with_veto_count: + type: string + description: no_with_veto_count is the weighted sum of veto. + voting_period_end: + type: string + format: date-time + description: >- + voting_period_end is the timestamp before which voting must be + done. + + Unless a successfull MsgExec is called before (to execute a + proposal whose + + tally is successful before the voting period ends), tallying will + be done + + at this point, and the `final_tally_result`and `status` fields + will be + + accordingly updated. + executor_result: + description: >- + executor_result is the final result of the proposal execution. + Initial value is NotRun. + type: string + enum: + - PROPOSAL_EXECUTOR_RESULT_UNSPECIFIED + - PROPOSAL_EXECUTOR_RESULT_NOT_RUN + - PROPOSAL_EXECUTOR_RESULT_SUCCESS + - PROPOSAL_EXECUTOR_RESULT_FAILURE + default: PROPOSAL_EXECUTOR_RESULT_UNSPECIFIED + messages: type: array items: type: object properties: - denom: - type: string - amount: + '@type': type: string + description: >- + A URL/resource name that uniquely identifies the type of the + serialized + + protocol buffer message. This string must contain at least + + one "/" character. The last segment of the URL's path must + represent + + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name should be in a + canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the binary all + types that they + + expect it to use in the context of Any. However, for URLs + which use the + + scheme `http`, `https`, or no scheme, one can optionally set + up a type + + server that maps type URLs to message definitions as + follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based on + the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available in the + official + + protobuf release, and it is not used for type URLs beginning + with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty scheme) + might be + + used with implementation specific semantics. + additionalProperties: {} description: >- - DecCoin defines a token with a denomination and a decimal - amount. + `Any` contains an arbitrary serialized protocol buffer message + along with a + + URL that describes the type of the serialized message. + + + Protobuf library provides support to pack/unpack Any values in + the form + + of utility functions or additional generated methods of the Any + type. + + + Example 1: Pack and unpack a message in C++. + + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } + + Example 2: Pack and unpack a message in Java. + + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + + Example 3: Pack and unpack a message in Python. + + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + + Example 4: Pack and unpack a message in Go + + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } + + The pack methods provided by protobuf library will by default + use + + 'type.googleapis.com/full.type.name' as the type URL and the + unpack + + methods only use the fully qualified type name after the last + '/' + + in the type URL, for example "foo.bar.com/x/y.z" will yield type + + name "y.z". + + + + JSON + + ==== + + The JSON representation of an `Any` value uses the regular + + representation of the deserialized, embedded message, with an + additional field `@type` which contains the type URL. Example: - NOTE: The amount field is an Dec which implements the custom - method + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } - signatures required by gogoproto. - description: >- - ValidatorOutstandingRewards represents outstanding (un-withdrawn) - rewards + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } - for a validator inexpensive to track, allows simple sanity checks. - description: |- - QueryValidatorOutstandingRewardsResponse is the response type for the - Query/ValidatorOutstandingRewards RPC method. - cosmos.distribution.v1beta1.QueryValidatorSlashesResponse: + If the embedded message type is well-known and has a custom JSON + + representation, that representation will be embedded adding a + field + + `value` which holds the custom JSON in addition to the `@type` + + field. Example (for message [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + description: >- + messages is a list of `sdk.Msg`s that will be executed if the + proposal passes. + description: QueryProposalResponse is the Query/Proposal response type. + cosmos.group.v1.QueryProposalsByGroupPolicyResponse: type: object properties: - slashes: + proposals: type: array items: type: object properties: - validator_period: + id: type: string format: uint64 - fraction: + description: id is the unique id of the proposal. + group_policy_address: type: string - description: |- - ValidatorSlashEvent represents a validator slash event. - Height is implicit within the store key. - This is needed to calculate appropriate amount of staking tokens - for delegations which are withdrawn after a slash has occurred. - description: slashes defines the slashes the validator received. - pagination: - description: pagination defines the pagination in the response. - type: object - properties: - next_key: - type: string - format: byte - title: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently - total: - type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total - - was set, its value is undefined otherwise - description: |- - QueryValidatorSlashesResponse is the response type for the - Query/ValidatorSlashes RPC method. - cosmos.distribution.v1beta1.ValidatorAccumulatedCommission: - type: object - properties: - commission: - type: array - items: - type: object - properties: - denom: + description: group_policy_address is the account address of group policy. + metadata: type: string - amount: + description: metadata is any arbitrary metadata to attached to the proposal. + proposers: + type: array + items: + type: string + description: proposers are the account addresses of the proposers. + submit_time: type: string - description: |- - DecCoin defines a token with a denomination and a decimal amount. + format: date-time + description: >- + submit_time is a timestamp specifying when a proposal was + submitted. + group_version: + type: string + format: uint64 + description: >- + group_version tracks the version of the group at proposal + submission. - NOTE: The amount field is an Dec which implements the custom method - signatures required by gogoproto. - description: |- - ValidatorAccumulatedCommission represents accumulated commission - for a validator kept as a running counter, can be withdrawn at any time. - cosmos.distribution.v1beta1.ValidatorOutstandingRewards: - type: object - properties: - rewards: - type: array - items: - type: object - properties: - denom: + This field is here for informational purposes only. + group_policy_version: type: string - amount: + format: uint64 + description: >- + group_policy_version tracks the version of the group policy at + proposal submission. + + When a decision policy is changed, existing proposals from + previous policy + + versions will become invalid with the `ABORTED` status. + + This field is here for informational purposes only. + status: + description: >- + status represents the high level position in the life cycle of + the proposal. Initial value is Submitted. type: string - description: |- - DecCoin defines a token with a denomination and a decimal amount. + enum: + - PROPOSAL_STATUS_UNSPECIFIED + - PROPOSAL_STATUS_SUBMITTED + - PROPOSAL_STATUS_ACCEPTED + - PROPOSAL_STATUS_REJECTED + - PROPOSAL_STATUS_ABORTED + - PROPOSAL_STATUS_WITHDRAWN + default: PROPOSAL_STATUS_UNSPECIFIED + final_tally_result: + description: >- + final_tally_result contains the sums of all weighted votes for + this - NOTE: The amount field is an Dec which implements the custom method - signatures required by gogoproto. - description: |- - ValidatorOutstandingRewards represents outstanding (un-withdrawn) rewards - for a validator inexpensive to track, allows simple sanity checks. - cosmos.distribution.v1beta1.ValidatorSlashEvent: - type: object - properties: - validator_period: - type: string - format: uint64 - fraction: - type: string - description: |- - ValidatorSlashEvent represents a validator slash event. - Height is implicit within the store key. - This is needed to calculate appropriate amount of staking tokens - for delegations which are withdrawn after a slash has occurred. - cosmos.evidence.v1beta1.MsgSubmitEvidenceResponse: - type: object - properties: - hash: - type: string - format: byte - description: hash defines the hash of the evidence. - description: MsgSubmitEvidenceResponse defines the Msg/SubmitEvidence response type. - cosmos.evidence.v1beta1.QueryAllEvidenceResponse: - type: object - properties: - evidence: - type: array - items: - type: object - properties: - '@type': + proposal for each vote option. It is empty at submission, and + only + + populated after tallying, at voting period end or at proposal + execution, + + whichever happens first. + type: object + properties: + yes_count: + type: string + description: yes_count is the weighted sum of yes votes. + abstain_count: + type: string + description: abstain_count is the weighted sum of abstainers. + no_count: + type: string + description: no_count is the weighted sum of no votes. + no_with_veto_count: + type: string + description: no_with_veto_count is the weighted sum of veto. + voting_period_end: type: string + format: date-time description: >- - A URL/resource name that uniquely identifies the type of the - serialized + voting_period_end is the timestamp before which voting must be + done. - protocol buffer message. This string must contain at least + Unless a successfull MsgExec is called before (to execute a + proposal whose - one "/" character. The last segment of the URL's path must - represent + tally is successful before the voting period ends), tallying + will be done - the fully qualified name of the type (as in + at this point, and the `final_tally_result`and `status` fields + will be - `path/google.protobuf.Duration`). The name should be in a - canonical form + accordingly updated. + executor_result: + description: >- + executor_result is the final result of the proposal execution. + Initial value is NotRun. + type: string + enum: + - PROPOSAL_EXECUTOR_RESULT_UNSPECIFIED + - PROPOSAL_EXECUTOR_RESULT_NOT_RUN + - PROPOSAL_EXECUTOR_RESULT_SUCCESS + - PROPOSAL_EXECUTOR_RESULT_FAILURE + default: PROPOSAL_EXECUTOR_RESULT_UNSPECIFIED + messages: + type: array + items: + type: object + properties: + '@type': + type: string + description: >- + A URL/resource name that uniquely identifies the type of + the serialized - (e.g., leading "." is not accepted). + protocol buffer message. This string must contain at least + one "/" character. The last segment of the URL's path must + represent - In practice, teams usually precompile into the binary all types - that they + the fully qualified name of the type (as in - expect it to use in the context of Any. However, for URLs which - use the + `path/google.protobuf.Duration`). The name should be in a + canonical form - scheme `http`, `https`, or no scheme, one can optionally set up - a type + (e.g., leading "." is not accepted). - server that maps type URLs to message definitions as follows: + In practice, teams usually precompile into the binary all + types that they - * If no scheme is provided, `https` is assumed. + expect it to use in the context of Any. However, for URLs + which use the - * An HTTP GET on the URL must yield a [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) + scheme `http`, `https`, or no scheme, one can optionally + set up a type - Note: this functionality is not currently available in the - official + server that maps type URLs to message definitions as + follows: - protobuf release, and it is not used for type URLs beginning - with - type.googleapis.com. + * If no scheme is provided, `https` is assumed. + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based + on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) - Schemes other than `http`, `https` (or the empty scheme) might - be + Note: this functionality is not currently available in the + official - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer message along - with a + protobuf release, and it is not used for type URLs + beginning with - URL that describes the type of the serialized message. + type.googleapis.com. - Protobuf library provides support to pack/unpack Any values in the - form + Schemes other than `http`, `https` (or the empty scheme) + might be - of utility functions or additional generated methods of the Any - type. + used with implementation specific semantics. + additionalProperties: {} + description: >- + `Any` contains an arbitrary serialized protocol buffer message + along with a + URL that describes the type of the serialized message. - Example 1: Pack and unpack a message in C++. - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } + Protobuf library provides support to pack/unpack Any values in + the form - Example 2: Pack and unpack a message in Java. + of utility functions or additional generated methods of the + Any type. - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - Example 3: Pack and unpack a message in Python. + Example 1: Pack and unpack a message in C++. - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } - Example 4: Pack and unpack a message in Go + Example 2: Pack and unpack a message in Java. - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } - The pack methods provided by protobuf library will by default use + Example 3: Pack and unpack a message in Python. - 'type.googleapis.com/full.type.name' as the type URL and the unpack + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... - methods only use the fully qualified type name after the last '/' + Example 4: Pack and unpack a message in Go - in the type URL, for example "foo.bar.com/x/y.z" will yield type + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } - name "y.z". + The pack methods provided by protobuf library will by default + use + 'type.googleapis.com/full.type.name' as the type URL and the + unpack + methods only use the fully qualified type name after the last + '/' - JSON + in the type URL, for example "foo.bar.com/x/y.z" will yield + type - ==== + name "y.z". - The JSON representation of an `Any` value uses the regular - representation of the deserialized, embedded message, with an - additional field `@type` which contains the type URL. Example: + JSON - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } + ==== - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } + The JSON representation of an `Any` value uses the regular - If the embedded message type is well-known and has a custom JSON + representation of the deserialized, embedded message, with an - representation, that representation will be embedded adding a field + additional field `@type` which contains the type URL. Example: - `value` which holds the custom JSON in addition to the `@type` + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } - field. Example (for message [google.protobuf.Duration][]): + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - description: evidence returns all evidences. + If the embedded message type is well-known and has a custom + JSON + + representation, that representation will be embedded adding a + field + + `value` which holds the custom JSON in addition to the `@type` + + field. Example (for message [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + description: >- + messages is a list of `sdk.Msg`s that will be executed if the + proposal passes. + description: >- + Proposal defines a group proposal. Any member of a group can submit + a proposal + + for a group policy to decide upon. + + A proposal consists of a set of `sdk.Msg`s that will be executed if + the proposal + + passes as well as some optional metadata associated with the + proposal. + description: proposals are the proposals with given group policy. + pagination: + description: pagination defines the pagination in the response. + type: object + properties: + next_key: + type: string + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + total: + type: string + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total + + was set, its value is undefined otherwise + description: >- + QueryProposalsByGroupPolicyResponse is the Query/ProposalByGroupPolicy + response type. + cosmos.group.v1.QueryTallyResultResponse: + type: object + properties: + tally: + description: tally defines the requested tally. + type: object + properties: + yes_count: + type: string + description: yes_count is the weighted sum of yes votes. + abstain_count: + type: string + description: abstain_count is the weighted sum of abstainers. + no_count: + type: string + description: no_count is the weighted sum of no votes. + no_with_veto_count: + type: string + description: no_with_veto_count is the weighted sum of veto. + description: QueryTallyResultResponse is the Query/TallyResult response type. + cosmos.group.v1.QueryVoteByProposalVoterResponse: + type: object + properties: + vote: + description: vote is the vote with given proposal_id and voter. + type: object + properties: + proposal_id: + type: string + format: uint64 + description: proposal is the unique ID of the proposal. + voter: + type: string + description: voter is the account address of the voter. + option: + description: option is the voter's choice on the proposal. + type: string + enum: + - VOTE_OPTION_UNSPECIFIED + - VOTE_OPTION_YES + - VOTE_OPTION_ABSTAIN + - VOTE_OPTION_NO + - VOTE_OPTION_NO_WITH_VETO + default: VOTE_OPTION_UNSPECIFIED + metadata: + type: string + description: metadata is any arbitrary metadata to attached to the vote. + submit_time: + type: string + format: date-time + description: submit_time is the timestamp when the vote was submitted. + description: >- + QueryVoteByProposalVoterResponse is the Query/VoteByProposalVoter response + type. + cosmos.group.v1.QueryVotesByProposalResponse: + type: object + properties: + votes: + type: array + items: + type: object + properties: + proposal_id: + type: string + format: uint64 + description: proposal is the unique ID of the proposal. + voter: + type: string + description: voter is the account address of the voter. + option: + description: option is the voter's choice on the proposal. + type: string + enum: + - VOTE_OPTION_UNSPECIFIED + - VOTE_OPTION_YES + - VOTE_OPTION_ABSTAIN + - VOTE_OPTION_NO + - VOTE_OPTION_NO_WITH_VETO + default: VOTE_OPTION_UNSPECIFIED + metadata: + type: string + description: metadata is any arbitrary metadata to attached to the vote. + submit_time: + type: string + format: date-time + description: submit_time is the timestamp when the vote was submitted. + description: Vote represents a vote for a proposal. + description: votes are the list of votes for given proposal_id. + pagination: + description: pagination defines the pagination in the response. + type: object + properties: + next_key: + type: string + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + total: + type: string + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total + + was set, its value is undefined otherwise + description: QueryVotesByProposalResponse is the Query/VotesByProposal response type. + cosmos.group.v1.QueryVotesByVoterResponse: + type: object + properties: + votes: + type: array + items: + type: object + properties: + proposal_id: + type: string + format: uint64 + description: proposal is the unique ID of the proposal. + voter: + type: string + description: voter is the account address of the voter. + option: + description: option is the voter's choice on the proposal. + type: string + enum: + - VOTE_OPTION_UNSPECIFIED + - VOTE_OPTION_YES + - VOTE_OPTION_ABSTAIN + - VOTE_OPTION_NO + - VOTE_OPTION_NO_WITH_VETO + default: VOTE_OPTION_UNSPECIFIED + metadata: + type: string + description: metadata is any arbitrary metadata to attached to the vote. + submit_time: + type: string + format: date-time + description: submit_time is the timestamp when the vote was submitted. + description: Vote represents a vote for a proposal. + description: votes are the list of votes by given voter. pagination: description: pagination defines the pagination in the response. type: object @@ -35962,9 +60330,10 @@ definitions: next_key: type: string format: byte - title: |- + description: |- next_key is the key to be passed to PageRequest.key to - query the next page most efficiently + query the next page most efficiently. It will be empty if + there are no more results. total: type: string format: uint64 @@ -35973,15 +60342,168 @@ definitions: PageRequest.count_total was set, its value is undefined otherwise - description: >- - QueryAllEvidenceResponse is the response type for the Query/AllEvidence - RPC + description: QueryVotesByVoterResponse is the Query/VotesByVoter response type. + cosmos.group.v1.TallyResult: + type: object + properties: + yes_count: + type: string + description: yes_count is the weighted sum of yes votes. + abstain_count: + type: string + description: abstain_count is the weighted sum of abstainers. + no_count: + type: string + description: no_count is the weighted sum of no votes. + no_with_veto_count: + type: string + description: no_with_veto_count is the weighted sum of veto. + description: TallyResult represents the sum of weighted votes for each vote option. + cosmos.group.v1.Vote: + type: object + properties: + proposal_id: + type: string + format: uint64 + description: proposal is the unique ID of the proposal. + voter: + type: string + description: voter is the account address of the voter. + option: + description: option is the voter's choice on the proposal. + type: string + enum: + - VOTE_OPTION_UNSPECIFIED + - VOTE_OPTION_YES + - VOTE_OPTION_ABSTAIN + - VOTE_OPTION_NO + - VOTE_OPTION_NO_WITH_VETO + default: VOTE_OPTION_UNSPECIFIED + metadata: + type: string + description: metadata is any arbitrary metadata to attached to the vote. + submit_time: + type: string + format: date-time + description: submit_time is the timestamp when the vote was submitted. + description: Vote represents a vote for a proposal. + cosmos.group.v1.VoteOption: + type: string + enum: + - VOTE_OPTION_UNSPECIFIED + - VOTE_OPTION_YES + - VOTE_OPTION_ABSTAIN + - VOTE_OPTION_NO + - VOTE_OPTION_NO_WITH_VETO + default: VOTE_OPTION_UNSPECIFIED + description: |- + VoteOption enumerates the valid vote options for a given proposal. + - VOTE_OPTION_UNSPECIFIED: VOTE_OPTION_UNSPECIFIED defines an unspecified vote option which will + return an error. + - VOTE_OPTION_YES: VOTE_OPTION_YES defines a yes vote option. + - VOTE_OPTION_ABSTAIN: VOTE_OPTION_ABSTAIN defines an abstain vote option. + - VOTE_OPTION_NO: VOTE_OPTION_NO defines a no vote option. + - VOTE_OPTION_NO_WITH_VETO: VOTE_OPTION_NO_WITH_VETO defines a no with veto vote option. + cosmos.mint.v1beta1.Params: + type: object + properties: + mint_denom: + type: string + title: type of coin to mint + inflation_rate_change: + type: string + title: maximum annual change in inflation rate + inflation_max: + type: string + title: maximum inflation rate + inflation_min: + type: string + title: minimum inflation rate + goal_bonded: + type: string + title: goal of percent bonded atoms + blocks_per_year: + type: string + format: uint64 + title: expected blocks per year + description: Params holds parameters for the mint module. + cosmos.mint.v1beta1.QueryAnnualProvisionsResponse: + type: object + properties: + annual_provisions: + type: string + format: byte + description: annual_provisions is the current minting annual provisions value. + description: |- + QueryAnnualProvisionsResponse is the response type for the + Query/AnnualProvisions RPC method. + cosmos.mint.v1beta1.QueryInflationResponse: + type: object + properties: + inflation: + type: string + format: byte + description: inflation is the current minting inflation value. + description: |- + QueryInflationResponse is the response type for the Query/Inflation RPC method. - cosmos.evidence.v1beta1.QueryEvidenceResponse: + cosmos.mint.v1beta1.QueryParamsResponse: type: object properties: - evidence: + params: + description: params defines the parameters of the module. + type: object + properties: + mint_denom: + type: string + title: type of coin to mint + inflation_rate_change: + type: string + title: maximum annual change in inflation rate + inflation_max: + type: string + title: maximum inflation rate + inflation_min: + type: string + title: minimum inflation rate + goal_bonded: + type: string + title: goal of percent bonded atoms + blocks_per_year: + type: string + format: uint64 + title: expected blocks per year + description: QueryParamsResponse is the response type for the Query/Params RPC method. + cosmos.nft.v1beta1.Class: + type: object + properties: + id: + type: string + title: >- + id defines the unique identifier of the NFT classification, similar to + the contract address of ERC721 + name: + type: string + title: >- + name defines the human-readable name of the NFT classification. + Optional + symbol: + type: string + title: symbol is an abbreviated name for nft classification. Optional + description: + type: string + title: description is a brief description of nft classification. Optional + uri: + type: string + title: >- + uri for the class metadata stored off chain. It can define schema for + Class and NFT `Data` attributes. Optional + uri_hash: + type: string + title: uri_hash is a hash of the document pointed by uri. Optional + data: + title: data is the app specific metadata of the NFT class. Optional type: object properties: '@type': @@ -36138,24 +60660,29 @@ definitions: "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" } - description: >- - QueryEvidenceResponse is the response type for the Query/Evidence RPC - method. - cosmos.feegrant.v1beta1.Grant: + description: Class defines the class of the nft type. + cosmos.nft.v1beta1.MsgSendResponse: + type: object + description: MsgSendResponse defines the Msg/Send response type. + cosmos.nft.v1beta1.NFT: type: object properties: - granter: + class_id: type: string - description: >- - granter is the address of the user granting an allowance of their - funds. - grantee: + title: >- + class_id associated with the NFT, similar to the contract address of + ERC721 + id: type: string - description: >- - grantee is the address of the user being granted an allowance of - another user's funds. - allowance: - description: allowance can be any of basic and filtered fee allowance. + title: id is a unique identifier of the NFT + uri: + type: string + title: uri for the NFT metadata stored off chain + uri_hash: + type: string + title: uri_hash is a hash of the document pointed by uri + data: + title: data is an app specific data of the NFT. Optional type: object properties: '@type': @@ -36211,36 +60738,147 @@ definitions: used with implementation specific semantics. additionalProperties: {} - title: Grant is stored in the KVStore to record a grant with full context - cosmos.feegrant.v1beta1.MsgGrantAllowanceResponse: - type: object - description: >- - MsgGrantAllowanceResponse defines the Msg/GrantAllowanceResponse response - type. - cosmos.feegrant.v1beta1.MsgRevokeAllowanceResponse: + description: >- + `Any` contains an arbitrary serialized protocol buffer message along + with a + + URL that describes the type of the serialized message. + + + Protobuf library provides support to pack/unpack Any values in the + form + + of utility functions or additional generated methods of the Any type. + + + Example 1: Pack and unpack a message in C++. + + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } + + Example 2: Pack and unpack a message in Java. + + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + + Example 3: Pack and unpack a message in Python. + + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + + Example 4: Pack and unpack a message in Go + + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } + + The pack methods provided by protobuf library will by default use + + 'type.googleapis.com/full.type.name' as the type URL and the unpack + + methods only use the fully qualified type name after the last '/' + + in the type URL, for example "foo.bar.com/x/y.z" will yield type + + name "y.z". + + + + JSON + + ==== + + The JSON representation of an `Any` value uses the regular + + representation of the deserialized, embedded message, with an + + additional field `@type` which contains the type URL. Example: + + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } + + If the embedded message type is well-known and has a custom JSON + + representation, that representation will be embedded adding a field + + `value` which holds the custom JSON in addition to the `@type` + + field. Example (for message [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + description: NFT defines the NFT. + cosmos.nft.v1beta1.QueryBalanceResponse: type: object - description: >- - MsgRevokeAllowanceResponse defines the Msg/RevokeAllowanceResponse - response type. - cosmos.feegrant.v1beta1.QueryAllowanceResponse: + properties: + amount: + type: string + format: uint64 + title: QueryBalanceResponse is the response type for the Query/Balance RPC method + cosmos.nft.v1beta1.QueryClassResponse: type: object properties: - allowance: - description: allowance is a allowance granted for grantee by granter. + class: type: object properties: - granter: + id: type: string - description: >- - granter is the address of the user granting an allowance of their - funds. - grantee: + title: >- + id defines the unique identifier of the NFT classification, + similar to the contract address of ERC721 + name: type: string - description: >- - grantee is the address of the user being granted an allowance of - another user's funds. - allowance: - description: allowance can be any of basic and filtered fee allowance. + title: >- + name defines the human-readable name of the NFT classification. + Optional + symbol: + type: string + title: symbol is an abbreviated name for nft classification. Optional + description: + type: string + title: description is a brief description of nft classification. Optional + uri: + type: string + title: >- + uri for the class metadata stored off chain. It can define schema + for Class and NFT `Data` attributes. Optional + uri_hash: + type: string + title: uri_hash is a hash of the document pointed by uri. Optional + data: + title: data is the app specific metadata of the NFT class. Optional type: object properties: '@type': @@ -36299,511 +60937,325 @@ definitions: used with implementation specific semantics. additionalProperties: {} - title: Grant is stored in the KVStore to record a grant with full context - description: >- - QueryAllowanceResponse is the response type for the Query/Allowance RPC - method. - cosmos.feegrant.v1beta1.QueryAllowancesResponse: - type: object - properties: - allowances: - type: array - items: - type: object - properties: - granter: - type: string - description: >- - granter is the address of the user granting an allowance of - their funds. - grantee: - type: string - description: >- - grantee is the address of the user being granted an allowance of - another user's funds. - allowance: - description: allowance can be any of basic and filtered fee allowance. - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of the - serialized - - protocol buffer message. This string must contain at least - - one "/" character. The last segment of the URL's path must - represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in a - canonical form - - (e.g., leading "." is not accepted). - + description: >- + `Any` contains an arbitrary serialized protocol buffer message + along with a - In practice, teams usually precompile into the binary all - types that they + URL that describes the type of the serialized message. - expect it to use in the context of Any. However, for URLs - which use the - scheme `http`, `https`, or no scheme, one can optionally set - up a type + Protobuf library provides support to pack/unpack Any values in the + form - server that maps type URLs to message definitions as - follows: + of utility functions or additional generated methods of the Any + type. - * If no scheme is provided, `https` is assumed. + Example 1: Pack and unpack a message in C++. - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based on - the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } - Note: this functionality is not currently available in the - official + Example 2: Pack and unpack a message in Java. - protobuf release, and it is not used for type URLs beginning - with + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } - type.googleapis.com. + Example 3: Pack and unpack a message in Python. + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... - Schemes other than `http`, `https` (or the empty scheme) - might be + Example 4: Pack and unpack a message in Go - used with implementation specific semantics. - additionalProperties: {} - title: Grant is stored in the KVStore to record a grant with full context - description: allowances are allowance's granted for grantee by granter. - pagination: - description: pagination defines an pagination for the response. - type: object - properties: - next_key: - type: string - format: byte - title: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently - total: - type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } - was set, its value is undefined otherwise - description: >- - QueryAllowancesResponse is the response type for the Query/Allowances RPC - method. - cosmos.gov.v1beta1.Deposit: - type: object - properties: - proposal_id: - type: string - format: uint64 - depositor: - type: string - amount: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: |- - Coin defines a token with a denomination and an amount. + The pack methods provided by protobuf library will by default use - NOTE: The amount field is an Int which implements the custom method - signatures required by gogoproto. - description: |- - Deposit defines an amount deposited by an account address to an active - proposal. - cosmos.gov.v1beta1.DepositParams: - type: object - properties: - min_deposit: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: |- - Coin defines a token with a denomination and an amount. + 'type.googleapis.com/full.type.name' as the type URL and the + unpack - NOTE: The amount field is an Int which implements the custom method - signatures required by gogoproto. - description: Minimum deposit for a proposal to enter voting period. - max_deposit_period: - type: string - description: >- - Maximum period for Atom holders to deposit on a proposal. Initial - value: 2 - months. - description: DepositParams defines the params for deposits on governance proposals. - cosmos.gov.v1beta1.MsgDepositResponse: - type: object - description: MsgDepositResponse defines the Msg/Deposit response type. - cosmos.gov.v1beta1.MsgSubmitProposalResponse: - type: object - properties: - proposal_id: - type: string - format: uint64 - description: MsgSubmitProposalResponse defines the Msg/SubmitProposal response type. - cosmos.gov.v1beta1.MsgVoteResponse: - type: object - description: MsgVoteResponse defines the Msg/Vote response type. - cosmos.gov.v1beta1.MsgVoteWeightedResponse: - type: object - description: |- - MsgVoteWeightedResponse defines the Msg/VoteWeighted response type. + methods only use the fully qualified type name after the last '/' - Since: cosmos-sdk 0.43 - cosmos.gov.v1beta1.Proposal: - type: object - properties: - proposal_id: - type: string - format: uint64 - content: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of the - serialized + in the type URL, for example "foo.bar.com/x/y.z" will yield type - protocol buffer message. This string must contain at least + name "y.z". - one "/" character. The last segment of the URL's path must - represent - the fully qualified name of the type (as in - `path/google.protobuf.Duration`). The name should be in a - canonical form + JSON - (e.g., leading "." is not accepted). + ==== + The JSON representation of an `Any` value uses the regular - In practice, teams usually precompile into the binary all types - that they + representation of the deserialized, embedded message, with an - expect it to use in the context of Any. However, for URLs which - use the + additional field `@type` which contains the type URL. Example: - scheme `http`, `https`, or no scheme, one can optionally set up a - type + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } - server that maps type URLs to message definitions as follows: + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } + If the embedded message type is well-known and has a custom JSON - * If no scheme is provided, `https` is assumed. + representation, that representation will be embedded adding a + field - * An HTTP GET on the URL must yield a [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) + `value` which holds the custom JSON in addition to the `@type` - Note: this functionality is not currently available in the - official + field. Example (for message [google.protobuf.Duration][]): - protobuf release, and it is not used for type URLs beginning with + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + description: Class defines the class of the nft type. + title: QueryClassResponse is the response type for the Query/Class RPC method + cosmos.nft.v1beta1.QueryClassesResponse: + type: object + properties: + classes: + type: array + items: + type: object + properties: + id: + type: string + title: >- + id defines the unique identifier of the NFT classification, + similar to the contract address of ERC721 + name: + type: string + title: >- + name defines the human-readable name of the NFT classification. + Optional + symbol: + type: string + title: symbol is an abbreviated name for nft classification. Optional + description: + type: string + title: >- + description is a brief description of nft classification. + Optional + uri: + type: string + title: >- + uri for the class metadata stored off chain. It can define + schema for Class and NFT `Data` attributes. Optional + uri_hash: + type: string + title: uri_hash is a hash of the document pointed by uri. Optional + data: + title: data is the app specific metadata of the NFT class. Optional + type: object + properties: + '@type': + type: string + description: >- + A URL/resource name that uniquely identifies the type of the + serialized - type.googleapis.com. + protocol buffer message. This string must contain at least + one "/" character. The last segment of the URL's path must + represent - Schemes other than `http`, `https` (or the empty scheme) might be + the fully qualified name of the type (as in - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer message along - with a + `path/google.protobuf.Duration`). The name should be in a + canonical form - URL that describes the type of the serialized message. + (e.g., leading "." is not accepted). - Protobuf library provides support to pack/unpack Any values in the - form + In practice, teams usually precompile into the binary all + types that they - of utility functions or additional generated methods of the Any type. + expect it to use in the context of Any. However, for URLs + which use the + scheme `http`, `https`, or no scheme, one can optionally set + up a type - Example 1: Pack and unpack a message in C++. + server that maps type URLs to message definitions as + follows: - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - Example 2: Pack and unpack a message in Java. + * If no scheme is provided, `https` is assumed. - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based on + the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) - Example 3: Pack and unpack a message in Python. + Note: this functionality is not currently available in the + official - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... + protobuf release, and it is not used for type URLs beginning + with - Example 4: Pack and unpack a message in Go + type.googleapis.com. - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - The pack methods provided by protobuf library will by default use + Schemes other than `http`, `https` (or the empty scheme) + might be - 'type.googleapis.com/full.type.name' as the type URL and the unpack + used with implementation specific semantics. + additionalProperties: {} + description: >- + `Any` contains an arbitrary serialized protocol buffer message + along with a - methods only use the fully qualified type name after the last '/' + URL that describes the type of the serialized message. - in the type URL, for example "foo.bar.com/x/y.z" will yield type - name "y.z". + Protobuf library provides support to pack/unpack Any values in + the form + of utility functions or additional generated methods of the Any + type. - JSON + Example 1: Pack and unpack a message in C++. - ==== + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } - The JSON representation of an `Any` value uses the regular + Example 2: Pack and unpack a message in Java. - representation of the deserialized, embedded message, with an + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } - additional field `@type` which contains the type URL. Example: + Example 3: Pack and unpack a message in Python. - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } + Example 4: Pack and unpack a message in Go - If the embedded message type is well-known and has a custom JSON + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } - representation, that representation will be embedded adding a field + The pack methods provided by protobuf library will by default + use - `value` which holds the custom JSON in addition to the `@type` + 'type.googleapis.com/full.type.name' as the type URL and the + unpack - field. Example (for message [google.protobuf.Duration][]): + methods only use the fully qualified type name after the last + '/' - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - status: - type: string - enum: - - PROPOSAL_STATUS_UNSPECIFIED - - PROPOSAL_STATUS_DEPOSIT_PERIOD - - PROPOSAL_STATUS_VOTING_PERIOD - - PROPOSAL_STATUS_PASSED - - PROPOSAL_STATUS_REJECTED - - PROPOSAL_STATUS_FAILED - default: PROPOSAL_STATUS_UNSPECIFIED - description: |- - ProposalStatus enumerates the valid statuses of a proposal. + in the type URL, for example "foo.bar.com/x/y.z" will yield type - - PROPOSAL_STATUS_UNSPECIFIED: PROPOSAL_STATUS_UNSPECIFIED defines the default propopsal status. - - PROPOSAL_STATUS_DEPOSIT_PERIOD: PROPOSAL_STATUS_DEPOSIT_PERIOD defines a proposal status during the deposit - period. - - PROPOSAL_STATUS_VOTING_PERIOD: PROPOSAL_STATUS_VOTING_PERIOD defines a proposal status during the voting - period. - - PROPOSAL_STATUS_PASSED: PROPOSAL_STATUS_PASSED defines a proposal status of a proposal that has - passed. - - PROPOSAL_STATUS_REJECTED: PROPOSAL_STATUS_REJECTED defines a proposal status of a proposal that has - been rejected. - - PROPOSAL_STATUS_FAILED: PROPOSAL_STATUS_FAILED defines a proposal status of a proposal that has - failed. - final_tally_result: - type: object - properties: - 'yes': - type: string - abstain: - type: string - 'no': - type: string - no_with_veto: - type: string - description: TallyResult defines a standard tally for a governance proposal. - submit_time: - type: string - format: date-time - deposit_end_time: - type: string - format: date-time - total_deposit: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: |- - Coin defines a token with a denomination and an amount. + name "y.z". - NOTE: The amount field is an Int which implements the custom method - signatures required by gogoproto. - voting_start_time: - type: string - format: date-time - voting_end_time: - type: string - format: date-time - description: Proposal defines the core field members of a governance proposal. - cosmos.gov.v1beta1.ProposalStatus: - type: string - enum: - - PROPOSAL_STATUS_UNSPECIFIED - - PROPOSAL_STATUS_DEPOSIT_PERIOD - - PROPOSAL_STATUS_VOTING_PERIOD - - PROPOSAL_STATUS_PASSED - - PROPOSAL_STATUS_REJECTED - - PROPOSAL_STATUS_FAILED - default: PROPOSAL_STATUS_UNSPECIFIED - description: |- - ProposalStatus enumerates the valid statuses of a proposal. - - PROPOSAL_STATUS_UNSPECIFIED: PROPOSAL_STATUS_UNSPECIFIED defines the default propopsal status. - - PROPOSAL_STATUS_DEPOSIT_PERIOD: PROPOSAL_STATUS_DEPOSIT_PERIOD defines a proposal status during the deposit - period. - - PROPOSAL_STATUS_VOTING_PERIOD: PROPOSAL_STATUS_VOTING_PERIOD defines a proposal status during the voting - period. - - PROPOSAL_STATUS_PASSED: PROPOSAL_STATUS_PASSED defines a proposal status of a proposal that has - passed. - - PROPOSAL_STATUS_REJECTED: PROPOSAL_STATUS_REJECTED defines a proposal status of a proposal that has - been rejected. - - PROPOSAL_STATUS_FAILED: PROPOSAL_STATUS_FAILED defines a proposal status of a proposal that has - failed. - cosmos.gov.v1beta1.QueryDepositResponse: - type: object - properties: - deposit: - type: object - properties: - proposal_id: - type: string - format: uint64 - depositor: - type: string - amount: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. + JSON - NOTE: The amount field is an Int which implements the custom - method + ==== - signatures required by gogoproto. - description: |- - Deposit defines an amount deposited by an account address to an active - proposal. - description: >- - QueryDepositResponse is the response type for the Query/Deposit RPC - method. - cosmos.gov.v1beta1.QueryDepositsResponse: - type: object - properties: - deposits: - type: array - items: - type: object - properties: - proposal_id: - type: string - format: uint64 - depositor: - type: string - amount: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. + The JSON representation of an `Any` value uses the regular + representation of the deserialized, embedded message, with an - NOTE: The amount field is an Int which implements the custom - method + additional field `@type` which contains the type URL. Example: - signatures required by gogoproto. - description: >- - Deposit defines an amount deposited by an account address to an - active + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } - proposal. + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } + + If the embedded message type is well-known and has a custom JSON + + representation, that representation will be embedded adding a + field + + `value` which holds the custom JSON in addition to the `@type` + + field. Example (for message [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + description: Class defines the class of the nft type. pagination: - description: pagination defines the pagination in the response. type: object properties: next_key: type: string format: byte - title: |- + description: |- next_key is the key to be passed to PageRequest.key to - query the next page most efficiently + query the next page most efficiently. It will be empty if + there are no more results. total: type: string format: uint64 @@ -36812,82 +61264,37 @@ definitions: PageRequest.count_total was set, its value is undefined otherwise - description: >- - QueryDepositsResponse is the response type for the Query/Deposits RPC - method. - cosmos.gov.v1beta1.QueryParamsResponse: + description: |- + PageResponse is to be embedded in gRPC response messages where the + corresponding request message has used PageRequest. + + message SomeResponse { + repeated Bar results = 1; + PageResponse page = 2; + } + title: QueryClassesResponse is the response type for the Query/Classes RPC method + cosmos.nft.v1beta1.QueryNFTResponse: type: object properties: - voting_params: - description: voting_params defines the parameters related to voting. - type: object - properties: - voting_period: - type: string - description: Length of the voting period. - deposit_params: - description: deposit_params defines the parameters related to deposit. - type: object - properties: - min_deposit: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the custom - method - - signatures required by gogoproto. - description: Minimum deposit for a proposal to enter voting period. - max_deposit_period: - type: string - description: >- - Maximum period for Atom holders to deposit on a proposal. Initial - value: 2 - months. - tally_params: - description: tally_params defines the parameters related to tally. + nft: type: object properties: - quorum: + class_id: type: string - format: byte - description: >- - Minimum percentage of total stake needed to vote for a result to - be - considered valid. - threshold: + title: >- + class_id associated with the NFT, similar to the contract address + of ERC721 + id: type: string - format: byte - description: >- - Minimum proportion of Yes votes for proposal to pass. Default - value: 0.5. - veto_threshold: + title: id is a unique identifier of the NFT + uri: type: string - format: byte - description: >- - Minimum value of Veto votes to Total votes ratio for proposal to - be - vetoed. Default value: 1/3. - description: QueryParamsResponse is the response type for the Query/Params RPC method. - cosmos.gov.v1beta1.QueryProposalResponse: - type: object - properties: - proposal: - type: object - properties: - proposal_id: + title: uri for the NFT metadata stored off chain + uri_hash: type: string - format: uint64 - content: + title: uri_hash is a hash of the document pointed by uri + data: + title: data is an app specific data of the NFT. Optional type: object properties: '@type': @@ -37039,98 +61446,43 @@ definitions: If the embedded message type is well-known and has a custom JSON - representation, that representation will be embedded adding a - field - - `value` which holds the custom JSON in addition to the `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - status: - type: string - enum: - - PROPOSAL_STATUS_UNSPECIFIED - - PROPOSAL_STATUS_DEPOSIT_PERIOD - - PROPOSAL_STATUS_VOTING_PERIOD - - PROPOSAL_STATUS_PASSED - - PROPOSAL_STATUS_REJECTED - - PROPOSAL_STATUS_FAILED - default: PROPOSAL_STATUS_UNSPECIFIED - description: |- - ProposalStatus enumerates the valid statuses of a proposal. - - - PROPOSAL_STATUS_UNSPECIFIED: PROPOSAL_STATUS_UNSPECIFIED defines the default propopsal status. - - PROPOSAL_STATUS_DEPOSIT_PERIOD: PROPOSAL_STATUS_DEPOSIT_PERIOD defines a proposal status during the deposit - period. - - PROPOSAL_STATUS_VOTING_PERIOD: PROPOSAL_STATUS_VOTING_PERIOD defines a proposal status during the voting - period. - - PROPOSAL_STATUS_PASSED: PROPOSAL_STATUS_PASSED defines a proposal status of a proposal that has - passed. - - PROPOSAL_STATUS_REJECTED: PROPOSAL_STATUS_REJECTED defines a proposal status of a proposal that has - been rejected. - - PROPOSAL_STATUS_FAILED: PROPOSAL_STATUS_FAILED defines a proposal status of a proposal that has - failed. - final_tally_result: - type: object - properties: - 'yes': - type: string - abstain: - type: string - 'no': - type: string - no_with_veto: - type: string - description: TallyResult defines a standard tally for a governance proposal. - submit_time: - type: string - format: date-time - deposit_end_time: - type: string - format: date-time - total_deposit: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. + representation, that representation will be embedded adding a + field + `value` which holds the custom JSON in addition to the `@type` - NOTE: The amount field is an Int which implements the custom - method + field. Example (for message [google.protobuf.Duration][]): - signatures required by gogoproto. - voting_start_time: - type: string - format: date-time - voting_end_time: - type: string - format: date-time - description: Proposal defines the core field members of a governance proposal. - description: >- - QueryProposalResponse is the response type for the Query/Proposal RPC - method. - cosmos.gov.v1beta1.QueryProposalsResponse: + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + description: NFT defines the NFT. + title: QueryNFTResponse is the response type for the Query/NFT RPC method + cosmos.nft.v1beta1.QueryNFTsResponse: type: object properties: - proposals: + nfts: type: array items: type: object properties: - proposal_id: + class_id: type: string - format: uint64 - content: + title: >- + class_id associated with the NFT, similar to the contract + address of ERC721 + id: + type: string + title: id is a unique identifier of the NFT + uri: + type: string + title: uri for the NFT metadata stored off chain + uri_hash: + type: string + title: uri_hash is a hash of the document pointed by uri + data: + title: data is an app specific data of the NFT. Optional type: object properties: '@type': @@ -37297,247 +61649,17 @@ definitions: "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" } - status: - type: string - enum: - - PROPOSAL_STATUS_UNSPECIFIED - - PROPOSAL_STATUS_DEPOSIT_PERIOD - - PROPOSAL_STATUS_VOTING_PERIOD - - PROPOSAL_STATUS_PASSED - - PROPOSAL_STATUS_REJECTED - - PROPOSAL_STATUS_FAILED - default: PROPOSAL_STATUS_UNSPECIFIED - description: |- - ProposalStatus enumerates the valid statuses of a proposal. - - - PROPOSAL_STATUS_UNSPECIFIED: PROPOSAL_STATUS_UNSPECIFIED defines the default propopsal status. - - PROPOSAL_STATUS_DEPOSIT_PERIOD: PROPOSAL_STATUS_DEPOSIT_PERIOD defines a proposal status during the deposit - period. - - PROPOSAL_STATUS_VOTING_PERIOD: PROPOSAL_STATUS_VOTING_PERIOD defines a proposal status during the voting - period. - - PROPOSAL_STATUS_PASSED: PROPOSAL_STATUS_PASSED defines a proposal status of a proposal that has - passed. - - PROPOSAL_STATUS_REJECTED: PROPOSAL_STATUS_REJECTED defines a proposal status of a proposal that has - been rejected. - - PROPOSAL_STATUS_FAILED: PROPOSAL_STATUS_FAILED defines a proposal status of a proposal that has - failed. - final_tally_result: - type: object - properties: - 'yes': - type: string - abstain: - type: string - 'no': - type: string - no_with_veto: - type: string - description: TallyResult defines a standard tally for a governance proposal. - submit_time: - type: string - format: date-time - deposit_end_time: - type: string - format: date-time - total_deposit: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the custom - method - - signatures required by gogoproto. - voting_start_time: - type: string - format: date-time - voting_end_time: - type: string - format: date-time - description: Proposal defines the core field members of a governance proposal. - pagination: - description: pagination defines the pagination in the response. - type: object - properties: - next_key: - type: string - format: byte - title: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently - total: - type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total - - was set, its value is undefined otherwise - description: |- - QueryProposalsResponse is the response type for the Query/Proposals RPC - method. - cosmos.gov.v1beta1.QueryTallyResultResponse: - type: object - properties: - tally: - type: object - properties: - 'yes': - type: string - abstain: - type: string - 'no': - type: string - no_with_veto: - type: string - description: TallyResult defines a standard tally for a governance proposal. - description: >- - QueryTallyResultResponse is the response type for the Query/Tally RPC - method. - cosmos.gov.v1beta1.QueryVoteResponse: - type: object - properties: - vote: - type: object - properties: - proposal_id: - type: string - format: uint64 - voter: - type: string - option: - description: >- - Deprecated: Prefer to use `options` instead. This field is set in - queries - - if and only if `len(options) == 1` and that option has weight 1. - In all - - other cases, this field will default to VOTE_OPTION_UNSPECIFIED. - type: string - enum: - - VOTE_OPTION_UNSPECIFIED - - VOTE_OPTION_YES - - VOTE_OPTION_ABSTAIN - - VOTE_OPTION_NO - - VOTE_OPTION_NO_WITH_VETO - default: VOTE_OPTION_UNSPECIFIED - options: - type: array - items: - type: object - properties: - option: - type: string - enum: - - VOTE_OPTION_UNSPECIFIED - - VOTE_OPTION_YES - - VOTE_OPTION_ABSTAIN - - VOTE_OPTION_NO - - VOTE_OPTION_NO_WITH_VETO - default: VOTE_OPTION_UNSPECIFIED - description: >- - VoteOption enumerates the valid vote options for a given - governance proposal. - - - VOTE_OPTION_UNSPECIFIED: VOTE_OPTION_UNSPECIFIED defines a no-op vote option. - - VOTE_OPTION_YES: VOTE_OPTION_YES defines a yes vote option. - - VOTE_OPTION_ABSTAIN: VOTE_OPTION_ABSTAIN defines an abstain vote option. - - VOTE_OPTION_NO: VOTE_OPTION_NO defines a no vote option. - - VOTE_OPTION_NO_WITH_VETO: VOTE_OPTION_NO_WITH_VETO defines a no with veto vote option. - weight: - type: string - description: |- - WeightedVoteOption defines a unit of vote for vote split. - - Since: cosmos-sdk 0.43 - title: 'Since: cosmos-sdk 0.43' - description: |- - Vote defines a vote on a governance proposal. - A Vote consists of a proposal ID, the voter, and the vote option. - description: QueryVoteResponse is the response type for the Query/Vote RPC method. - cosmos.gov.v1beta1.QueryVotesResponse: - type: object - properties: - votes: - type: array - items: - type: object - properties: - proposal_id: - type: string - format: uint64 - voter: - type: string - option: - description: >- - Deprecated: Prefer to use `options` instead. This field is set - in queries - - if and only if `len(options) == 1` and that option has weight 1. - In all - - other cases, this field will default to VOTE_OPTION_UNSPECIFIED. - type: string - enum: - - VOTE_OPTION_UNSPECIFIED - - VOTE_OPTION_YES - - VOTE_OPTION_ABSTAIN - - VOTE_OPTION_NO - - VOTE_OPTION_NO_WITH_VETO - default: VOTE_OPTION_UNSPECIFIED - options: - type: array - items: - type: object - properties: - option: - type: string - enum: - - VOTE_OPTION_UNSPECIFIED - - VOTE_OPTION_YES - - VOTE_OPTION_ABSTAIN - - VOTE_OPTION_NO - - VOTE_OPTION_NO_WITH_VETO - default: VOTE_OPTION_UNSPECIFIED - description: >- - VoteOption enumerates the valid vote options for a given - governance proposal. - - - VOTE_OPTION_UNSPECIFIED: VOTE_OPTION_UNSPECIFIED defines a no-op vote option. - - VOTE_OPTION_YES: VOTE_OPTION_YES defines a yes vote option. - - VOTE_OPTION_ABSTAIN: VOTE_OPTION_ABSTAIN defines an abstain vote option. - - VOTE_OPTION_NO: VOTE_OPTION_NO defines a no vote option. - - VOTE_OPTION_NO_WITH_VETO: VOTE_OPTION_NO_WITH_VETO defines a no with veto vote option. - weight: - type: string - description: |- - WeightedVoteOption defines a unit of vote for vote split. - - Since: cosmos-sdk 0.43 - title: 'Since: cosmos-sdk 0.43' - description: |- - Vote defines a vote on a governance proposal. - A Vote consists of a proposal ID, the voter, and the vote option. - description: votes defined the queried votes. + description: NFT defines the NFT. pagination: - description: pagination defines the pagination in the response. type: object properties: next_key: type: string format: byte - title: |- + description: |- next_key is the key to be passed to PageRequest.key to - query the next page most efficiently + query the next page most efficiently. It will be empty if + there are no more results. total: type: string format: uint64 @@ -37546,221 +61668,28 @@ definitions: PageRequest.count_total was set, its value is undefined otherwise - description: QueryVotesResponse is the response type for the Query/Votes RPC method. - cosmos.gov.v1beta1.TallyParams: - type: object - properties: - quorum: - type: string - format: byte - description: |- - Minimum percentage of total stake needed to vote for a result to be - considered valid. - threshold: - type: string - format: byte - description: >- - Minimum proportion of Yes votes for proposal to pass. Default value: - 0.5. - veto_threshold: - type: string - format: byte description: |- - Minimum value of Veto votes to Total votes ratio for proposal to be - vetoed. Default value: 1/3. - description: TallyParams defines the params for tallying votes on governance proposals. - cosmos.gov.v1beta1.TallyResult: - type: object - properties: - 'yes': - type: string - abstain: - type: string - 'no': - type: string - no_with_veto: - type: string - description: TallyResult defines a standard tally for a governance proposal. - cosmos.gov.v1beta1.Vote: - type: object - properties: - proposal_id: - type: string - format: uint64 - voter: - type: string - option: - description: >- - Deprecated: Prefer to use `options` instead. This field is set in - queries - - if and only if `len(options) == 1` and that option has weight 1. In - all - - other cases, this field will default to VOTE_OPTION_UNSPECIFIED. - type: string - enum: - - VOTE_OPTION_UNSPECIFIED - - VOTE_OPTION_YES - - VOTE_OPTION_ABSTAIN - - VOTE_OPTION_NO - - VOTE_OPTION_NO_WITH_VETO - default: VOTE_OPTION_UNSPECIFIED - options: - type: array - items: - type: object - properties: - option: - type: string - enum: - - VOTE_OPTION_UNSPECIFIED - - VOTE_OPTION_YES - - VOTE_OPTION_ABSTAIN - - VOTE_OPTION_NO - - VOTE_OPTION_NO_WITH_VETO - default: VOTE_OPTION_UNSPECIFIED - description: >- - VoteOption enumerates the valid vote options for a given - governance proposal. - - - VOTE_OPTION_UNSPECIFIED: VOTE_OPTION_UNSPECIFIED defines a no-op vote option. - - VOTE_OPTION_YES: VOTE_OPTION_YES defines a yes vote option. - - VOTE_OPTION_ABSTAIN: VOTE_OPTION_ABSTAIN defines an abstain vote option. - - VOTE_OPTION_NO: VOTE_OPTION_NO defines a no vote option. - - VOTE_OPTION_NO_WITH_VETO: VOTE_OPTION_NO_WITH_VETO defines a no with veto vote option. - weight: - type: string - description: |- - WeightedVoteOption defines a unit of vote for vote split. - - Since: cosmos-sdk 0.43 - title: 'Since: cosmos-sdk 0.43' - description: |- - Vote defines a vote on a governance proposal. - A Vote consists of a proposal ID, the voter, and the vote option. - cosmos.gov.v1beta1.VoteOption: - type: string - enum: - - VOTE_OPTION_UNSPECIFIED - - VOTE_OPTION_YES - - VOTE_OPTION_ABSTAIN - - VOTE_OPTION_NO - - VOTE_OPTION_NO_WITH_VETO - default: VOTE_OPTION_UNSPECIFIED - description: >- - VoteOption enumerates the valid vote options for a given governance - proposal. + PageResponse is to be embedded in gRPC response messages where the + corresponding request message has used PageRequest. - - VOTE_OPTION_UNSPECIFIED: VOTE_OPTION_UNSPECIFIED defines a no-op vote option. - - VOTE_OPTION_YES: VOTE_OPTION_YES defines a yes vote option. - - VOTE_OPTION_ABSTAIN: VOTE_OPTION_ABSTAIN defines an abstain vote option. - - VOTE_OPTION_NO: VOTE_OPTION_NO defines a no vote option. - - VOTE_OPTION_NO_WITH_VETO: VOTE_OPTION_NO_WITH_VETO defines a no with veto vote option. - cosmos.gov.v1beta1.VotingParams: - type: object - properties: - voting_period: - type: string - description: Length of the voting period. - description: VotingParams defines the params for voting on governance proposals. - cosmos.gov.v1beta1.WeightedVoteOption: + message SomeResponse { + repeated Bar results = 1; + PageResponse page = 2; + } + title: QueryNFTsResponse is the response type for the Query/NFTs RPC methods + cosmos.nft.v1beta1.QueryOwnerResponse: type: object properties: - option: - type: string - enum: - - VOTE_OPTION_UNSPECIFIED - - VOTE_OPTION_YES - - VOTE_OPTION_ABSTAIN - - VOTE_OPTION_NO - - VOTE_OPTION_NO_WITH_VETO - default: VOTE_OPTION_UNSPECIFIED - description: >- - VoteOption enumerates the valid vote options for a given governance - proposal. - - - VOTE_OPTION_UNSPECIFIED: VOTE_OPTION_UNSPECIFIED defines a no-op vote option. - - VOTE_OPTION_YES: VOTE_OPTION_YES defines a yes vote option. - - VOTE_OPTION_ABSTAIN: VOTE_OPTION_ABSTAIN defines an abstain vote option. - - VOTE_OPTION_NO: VOTE_OPTION_NO defines a no vote option. - - VOTE_OPTION_NO_WITH_VETO: VOTE_OPTION_NO_WITH_VETO defines a no with veto vote option. - weight: + owner: type: string - description: |- - WeightedVoteOption defines a unit of vote for vote split. - - Since: cosmos-sdk 0.43 - cosmos.mint.v1beta1.Params: + title: QueryOwnerResponse is the response type for the Query/Owner RPC method + cosmos.nft.v1beta1.QuerySupplyResponse: type: object properties: - mint_denom: - type: string - title: type of coin to mint - inflation_rate_change: - type: string - title: maximum annual change in inflation rate - inflation_max: - type: string - title: maximum inflation rate - inflation_min: - type: string - title: minimum inflation rate - goal_bonded: - type: string - title: goal of percent bonded atoms - blocks_per_year: + amount: type: string format: uint64 - title: expected blocks per year - description: Params holds parameters for the mint module. - cosmos.mint.v1beta1.QueryAnnualProvisionsResponse: - type: object - properties: - annual_provisions: - type: string - format: byte - description: annual_provisions is the current minting annual provisions value. - description: |- - QueryAnnualProvisionsResponse is the response type for the - Query/AnnualProvisions RPC method. - cosmos.mint.v1beta1.QueryInflationResponse: - type: object - properties: - inflation: - type: string - format: byte - description: inflation is the current minting inflation value. - description: |- - QueryInflationResponse is the response type for the Query/Inflation RPC - method. - cosmos.mint.v1beta1.QueryParamsResponse: - type: object - properties: - params: - description: params defines the parameters of the module. - type: object - properties: - mint_denom: - type: string - title: type of coin to mint - inflation_rate_change: - type: string - title: maximum annual change in inflation rate - inflation_max: - type: string - title: maximum inflation rate - inflation_min: - type: string - title: minimum inflation rate - goal_bonded: - type: string - title: goal of percent bonded atoms - blocks_per_year: - type: string - format: uint64 - title: expected blocks per year - description: QueryParamsResponse is the response type for the Query/Params RPC method. + title: QuerySupplyResponse is the response type for the Query/Supply RPC method cosmos.params.v1beta1.ParamChange: type: object properties: @@ -37787,6 +61716,47 @@ definitions: value: type: string description: QueryParamsResponse is response type for the Query/Params RPC method. + cosmos.params.v1beta1.QuerySubspacesResponse: + type: object + properties: + subspaces: + type: array + items: + type: object + properties: + subspace: + type: string + keys: + type: array + items: + type: string + description: >- + Subspace defines a parameter subspace name and all the keys that + exist for + + the subspace. + + + Since: cosmos-sdk 0.46 + description: |- + QuerySubspacesResponse defines the response types for querying for all + registered subspaces and all keys for a subspace. + + Since: cosmos-sdk 0.46 + cosmos.params.v1beta1.Subspace: + type: object + properties: + subspace: + type: string + keys: + type: array + items: + type: string + description: |- + Subspace defines a parameter subspace name and all the keys that exist for + the subspace. + + Since: cosmos-sdk 0.46 cosmos.slashing.v1beta1.MsgUnjailResponse: type: object title: MsgUnjailResponse defines the Msg/Unjail response type @@ -37834,6 +61804,7 @@ definitions: type: object properties: val_signing_info: + title: val_signing_info is the signing info of requested val cons address type: object properties: address: @@ -37880,7 +61851,6 @@ definitions: their liveness activity. - title: val_signing_info is the signing info of requested val cons address title: >- QuerySigningInfoResponse is the response type for the Query/SigningInfo RPC @@ -37945,9 +61915,10 @@ definitions: next_key: type: string format: byte - title: |- + description: |- next_key is the key to be passed to PageRequest.key to - query the next page most efficiently + query the next page most efficiently. It will be empty if + there are no more results. total: type: string format: uint64 @@ -38202,34 +62173,43 @@ definitions: last_commit_hash: type: string format: byte + description: commit from validators from the last block title: hashes of block data data_hash: type: string format: byte + title: transactions validators_hash: type: string format: byte + description: validators for the current block title: hashes from the app output from the prev block next_validators_hash: type: string format: byte + title: validators for the next block consensus_hash: type: string format: byte + title: consensus params for current block app_hash: type: string format: byte + title: state after txs from the previous block last_results_hash: type: string format: byte + title: root hash of all results from the txs from the previous block evidence_hash: type: string format: byte + description: evidence included in the block title: consensus info proposer_address: type: string format: byte - description: Header defines the structure of a Tendermint block header. + title: original proposer of the block + description: Header defines the structure of a block header. valset: type: array items: @@ -38241,6 +62221,9 @@ definitions: operator_address defines the address of the validator's operator; bech encoded in JSON. consensus_pubkey: + description: >- + consensus_pubkey is the consensus public key of the validator, + as a Protobuf Any. type: object properties: '@type': @@ -38301,112 +62284,6 @@ definitions: used with implementation specific semantics. additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer message - along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values in - the form - - of utility functions or additional generated methods of the Any - type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by default - use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the last - '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield type - - name "y.z". - - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with an - - additional field `@type` which contains the type URL. Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom JSON - - representation, that representation will be embedded adding a - field - - `value` which holds the custom JSON in addition to the `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } jailed: type: boolean description: >- @@ -38500,6 +62377,9 @@ definitions: description: >- min_self_delegation is the validator's self declared minimum self delegation. + + + Since: cosmos-sdk 0.46 description: >- Validator defines a validator, together with the total amount of the @@ -38538,6 +62418,10 @@ definitions: type: string format: date-time description: MsgBeginRedelegateResponse defines the Msg/BeginRedelegate response type. + cosmos.staking.v1beta1.MsgCancelUnbondingDelegationResponse: + type: object + description: 'Since: cosmos-sdk 0.46' + title: MsgCancelUnbondingDelegationResponse cosmos.staking.v1beta1.MsgCreateValidatorResponse: type: object description: MsgCreateValidatorResponse defines the Msg/CreateValidator response type. @@ -38577,6 +62461,11 @@ definitions: bond_denom: type: string description: bond_denom defines the bondable coin denomination. + min_commission_rate: + type: string + title: >- + min_commission_rate is the chain-wide minimum commission rate that a + validator can charge their delegators description: Params defines the parameters for the staking module. cosmos.staking.v1beta1.Pool: type: object @@ -38592,6 +62481,7 @@ definitions: type: object properties: delegation_response: + description: delegation_responses defines the delegation info of a delegation. type: object properties: delegation: @@ -38633,12 +62523,6 @@ definitions: method signatures required by gogoproto. - description: >- - DelegationResponse is equivalent to Delegation except that it contains - a - - balance in addition to shares which is more suitable for client - responses. description: >- QueryDelegationResponse is response type for the Query/Delegation RPC method. @@ -38703,9 +62587,10 @@ definitions: next_key: type: string format: byte - title: |- + description: |- next_key is the key to be passed to PageRequest.key to - query the next page most efficiently + query the next page most efficiently. It will be empty if + there are no more results. total: type: string format: uint64 @@ -38761,7 +62646,10 @@ definitions: description: >- UnbondingDelegationEntry defines an unbonding object with relevant metadata. - description: entries are the unbonding delegation entries. + description: |- + entries are the unbonding delegation entries. + + unbonding delegation entries description: >- UnbondingDelegation stores all of a single delegator's unbonding bonds @@ -38774,9 +62662,10 @@ definitions: next_key: type: string format: byte - title: |- + description: |- next_key is the key to be passed to PageRequest.key to - query the next page most efficiently + query the next page most efficiently. It will be empty if + there are no more results. total: type: string format: uint64 @@ -38792,6 +62681,7 @@ definitions: type: object properties: validator: + description: validator defines the validator info. type: object properties: operator_address: @@ -38800,6 +62690,9 @@ definitions: operator_address defines the address of the validator's operator; bech encoded in JSON. consensus_pubkey: + description: >- + consensus_pubkey is the consensus public key of the validator, as + a Protobuf Any. type: object properties: '@type': @@ -38858,110 +62751,6 @@ definitions: used with implementation specific semantics. additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer message - along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values in the - form - - of utility functions or additional generated methods of the Any - type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield type - - name "y.z". - - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with an - - additional field `@type` which contains the type URL. Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom JSON - - representation, that representation will be embedded adding a - field - - `value` which holds the custom JSON in addition to the `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } jailed: type: boolean description: >- @@ -39053,27 +62842,9 @@ definitions: description: >- min_self_delegation is the validator's self declared minimum self delegation. - description: >- - Validator defines a validator, together with the total amount of the - - Validator's bond shares and their exchange rate to coins. Slashing - results in - - a decrease in the exchange rate, allowing correct calculation of - future - undelegations without iterating over delegators. When coins are - delegated to - this validator, the validator is credited with a delegation whose - number of - - bond shares is based on the amount of coins delegated divided by the - current - - exchange rate. Voting power can be calculated as total bonded shares - - multiplied by exchange rate. + Since: cosmos-sdk 0.46 description: |- QueryDelegatorValidatorResponse response type for the Query/DelegatorValidator RPC method. @@ -39091,6 +62862,9 @@ definitions: operator_address defines the address of the validator's operator; bech encoded in JSON. consensus_pubkey: + description: >- + consensus_pubkey is the consensus public key of the validator, + as a Protobuf Any. type: object properties: '@type': @@ -39151,112 +62925,6 @@ definitions: used with implementation specific semantics. additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer message - along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values in - the form - - of utility functions or additional generated methods of the Any - type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by default - use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the last - '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield type - - name "y.z". - - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with an - - additional field `@type` which contains the type URL. Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom JSON - - representation, that representation will be embedded adding a - field - - `value` which holds the custom JSON in addition to the `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } jailed: type: boolean description: >- @@ -39350,6 +63018,9 @@ definitions: description: >- min_self_delegation is the validator's self declared minimum self delegation. + + + Since: cosmos-sdk 0.46 description: >- Validator defines a validator, together with the total amount of the @@ -39371,7 +63042,7 @@ definitions: exchange rate. Voting power can be calculated as total bonded shares multiplied by exchange rate. - description: validators defines the the validators' info of a delegator. + description: validators defines the validators' info of a delegator. pagination: description: pagination defines the pagination in the response. type: object @@ -39379,9 +63050,10 @@ definitions: next_key: type: string format: byte - title: |- + description: |- next_key is the key to be passed to PageRequest.key to - query the next page most efficiently + query the next page most efficiently. It will be empty if + there are no more results. total: type: string format: uint64 @@ -39449,34 +63121,43 @@ definitions: last_commit_hash: type: string format: byte + description: commit from validators from the last block title: hashes of block data data_hash: type: string format: byte + title: transactions validators_hash: type: string format: byte + description: validators for the current block title: hashes from the app output from the prev block next_validators_hash: type: string format: byte + title: validators for the next block consensus_hash: type: string format: byte + title: consensus params for current block app_hash: type: string format: byte + title: state after txs from the previous block last_results_hash: type: string format: byte + title: root hash of all results from the txs from the previous block evidence_hash: type: string format: byte + description: evidence included in the block title: consensus info proposer_address: type: string format: byte - description: Header defines the structure of a Tendermint block header. + title: original proposer of the block + description: Header defines the structure of a block header. valset: type: array items: @@ -39488,6 +63169,9 @@ definitions: operator_address defines the address of the validator's operator; bech encoded in JSON. consensus_pubkey: + description: >- + consensus_pubkey is the consensus public key of the + validator, as a Protobuf Any. type: object properties: '@type': @@ -39549,117 +63233,6 @@ definitions: used with implementation specific semantics. additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } jailed: type: boolean description: >- @@ -39753,6 +63326,9 @@ definitions: description: >- min_self_delegation is the validator's self declared minimum self delegation. + + + Since: cosmos-sdk 0.46 description: >- Validator defines a validator, together with the total amount of the @@ -39808,6 +63384,11 @@ definitions: bond_denom: type: string description: bond_denom defines the bondable coin denomination. + min_commission_rate: + type: string + title: >- + min_commission_rate is the chain-wide minimum commission rate that + a validator can charge their delegators description: QueryParamsResponse is response type for the Query/Params RPC method. cosmos.staking.v1beta1.QueryPoolResponse: type: object @@ -39877,7 +63458,10 @@ definitions: description: >- RedelegationEntry defines a redelegation object with relevant metadata. - description: entries are the redelegation entries. + description: |- + entries are the redelegation entries. + + redelegation entries description: >- Redelegation contains the list of a particular delegator's redelegating bonds @@ -39942,9 +63526,10 @@ definitions: next_key: type: string format: byte - title: |- + description: |- next_key is the key to be passed to PageRequest.key to - query the next page most efficiently + query the next page most efficiently. It will be empty if + there are no more results. total: type: string format: uint64 @@ -39962,6 +63547,7 @@ definitions: type: object properties: unbond: + description: unbond defines the unbonding information of a delegation. type: object properties: delegator_address: @@ -39996,10 +63582,10 @@ definitions: description: >- UnbondingDelegationEntry defines an unbonding object with relevant metadata. - description: entries are the unbonding delegation entries. - description: |- - UnbondingDelegation stores all of a single delegator's unbonding bonds - for a single validator in an time-ordered list. + description: |- + entries are the unbonding delegation entries. + + unbonding delegation entries description: |- QueryDelegationResponse is response type for the Query/UnbondingDelegation RPC method. @@ -40063,9 +63649,10 @@ definitions: next_key: type: string format: byte - title: |- + description: |- next_key is the key to be passed to PageRequest.key to - query the next page most efficiently + query the next page most efficiently. It will be empty if + there are no more results. total: type: string format: uint64 @@ -40081,6 +63668,7 @@ definitions: type: object properties: validator: + description: validator defines the validator info. type: object properties: operator_address: @@ -40089,6 +63677,9 @@ definitions: operator_address defines the address of the validator's operator; bech encoded in JSON. consensus_pubkey: + description: >- + consensus_pubkey is the consensus public key of the validator, as + a Protobuf Any. type: object properties: '@type': @@ -40147,110 +63738,6 @@ definitions: used with implementation specific semantics. additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer message - along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values in the - form - - of utility functions or additional generated methods of the Any - type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield type - - name "y.z". - - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with an - - additional field `@type` which contains the type URL. Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom JSON - - representation, that representation will be embedded adding a - field - - `value` which holds the custom JSON in addition to the `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } jailed: type: boolean description: >- @@ -40342,27 +63829,9 @@ definitions: description: >- min_self_delegation is the validator's self declared minimum self delegation. - description: >- - Validator defines a validator, together with the total amount of the - - Validator's bond shares and their exchange rate to coins. Slashing - results in - - a decrease in the exchange rate, allowing correct calculation of - future - - undelegations without iterating over delegators. When coins are - delegated to - this validator, the validator is credited with a delegation whose - number of - bond shares is based on the amount of coins delegated divided by the - current - - exchange rate. Voting power can be calculated as total bonded shares - - multiplied by exchange rate. + Since: cosmos-sdk 0.46 title: QueryValidatorResponse is response type for the Query/Validator RPC method cosmos.staking.v1beta1.QueryValidatorUnbondingDelegationsResponse: type: object @@ -40408,7 +63877,10 @@ definitions: description: >- UnbondingDelegationEntry defines an unbonding object with relevant metadata. - description: entries are the unbonding delegation entries. + description: |- + entries are the unbonding delegation entries. + + unbonding delegation entries description: >- UnbondingDelegation stores all of a single delegator's unbonding bonds @@ -40421,9 +63893,10 @@ definitions: next_key: type: string format: byte - title: |- + description: |- next_key is the key to be passed to PageRequest.key to - query the next page most efficiently + query the next page most efficiently. It will be empty if + there are no more results. total: type: string format: uint64 @@ -40449,6 +63922,9 @@ definitions: operator_address defines the address of the validator's operator; bech encoded in JSON. consensus_pubkey: + description: >- + consensus_pubkey is the consensus public key of the validator, + as a Protobuf Any. type: object properties: '@type': @@ -40509,112 +63985,6 @@ definitions: used with implementation specific semantics. additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer message - along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values in - the form - - of utility functions or additional generated methods of the Any - type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by default - use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the last - '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield type - - name "y.z". - - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with an - - additional field `@type` which contains the type URL. Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom JSON - - representation, that representation will be embedded adding a - field - - `value` which holds the custom JSON in addition to the `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } jailed: type: boolean description: >- @@ -40708,6 +64078,9 @@ definitions: description: >- min_self_delegation is the validator's self declared minimum self delegation. + + + Since: cosmos-sdk 0.46 description: >- Validator defines a validator, together with the total amount of the @@ -40737,9 +64110,10 @@ definitions: next_key: type: string format: byte - title: |- + description: |- next_key is the key to be passed to PageRequest.key to - query the next page most efficiently + query the next page most efficiently. It will be empty if + there are no more results. total: type: string format: uint64 @@ -40797,7 +64171,10 @@ definitions: description: >- RedelegationEntry defines a redelegation object with relevant metadata. - description: entries are the redelegation entries. + description: |- + entries are the redelegation entries. + + redelegation entries description: >- Redelegation contains the list of a particular delegator's redelegating bonds @@ -40910,7 +64287,10 @@ definitions: description: >- RedelegationEntry defines a redelegation object with relevant metadata. - description: entries are the redelegation entries. + description: |- + entries are the redelegation entries. + + redelegation entries description: >- Redelegation contains the list of a particular delegator's redelegating bonds @@ -41000,7 +64380,10 @@ definitions: description: >- UnbondingDelegationEntry defines an unbonding object with relevant metadata. - description: entries are the unbonding delegation entries. + description: |- + entries are the unbonding delegation entries. + + unbonding delegation entries description: |- UnbondingDelegation stores all of a single delegator's unbonding bonds for a single validator in an time-ordered list. @@ -41035,6 +64418,9 @@ definitions: operator_address defines the address of the validator's operator; bech encoded in JSON. consensus_pubkey: + description: >- + consensus_pubkey is the consensus public key of the validator, as a + Protobuf Any. type: object properties: '@type': @@ -41090,107 +64476,6 @@ definitions: used with implementation specific semantics. additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer message along - with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values in the - form - - of utility functions or additional generated methods of the Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by default use - - 'type.googleapis.com/full.type.name' as the type URL and the unpack - - methods only use the fully qualified type name after the last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield type - - name "y.z". - - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with an - - additional field `@type` which contains the type URL. Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom JSON - - representation, that representation will be embedded adding a field - - `value` which holds the custom JSON in addition to the `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } jailed: type: boolean description: >- @@ -41280,6 +64565,9 @@ definitions: description: >- min_self_delegation is the validator's self declared minimum self delegation. + + + Since: cosmos-sdk 0.46 description: >- Validator defines a validator, together with the total amount of the @@ -41291,126 +64579,298 @@ definitions: undelegations without iterating over delegators. When coins are delegated to - this validator, the validator is credited with a delegation whose number - of + this validator, the validator is credited with a delegation whose number + of + + bond shares is based on the amount of coins delegated divided by the + current + + exchange rate. Voting power can be calculated as total bonded shares + + multiplied by exchange rate. + cosmos.base.abci.v1beta1.ABCIMessageLog: + type: object + properties: + msg_index: + type: integer + format: int64 + log: + type: string + events: + type: array + items: + type: object + properties: + type: + type: string + attributes: + type: array + items: + type: object + properties: + key: + type: string + value: + type: string + description: >- + Attribute defines an attribute wrapper where the key and value + are + + strings instead of raw bytes. + description: |- + StringEvent defines en Event object wrapper where all the attributes + contain key/value pairs that are strings instead of raw bytes. + description: |- + Events contains a slice of Event objects that were emitted during some + execution. + description: >- + ABCIMessageLog defines a structure containing an indexed tx ABCI message + log. + cosmos.base.abci.v1beta1.Attribute: + type: object + properties: + key: + type: string + value: + type: string + description: |- + Attribute defines an attribute wrapper where the key and value are + strings instead of raw bytes. + cosmos.base.abci.v1beta1.GasInfo: + type: object + properties: + gas_wanted: + type: string + format: uint64 + description: GasWanted is the maximum units of work we allow this tx to perform. + gas_used: + type: string + format: uint64 + description: GasUsed is the amount of gas actually consumed. + description: GasInfo defines tx execution gas context. + cosmos.base.abci.v1beta1.Result: + type: object + properties: + data: + type: string + format: byte + description: >- + Data is any data returned from message or handler execution. It MUST + be + + length prefixed in order to separate data from multiple message + executions. + + Deprecated. This field is still populated, but prefer msg_response + instead + + because it also contains the Msg response typeURL. + log: + type: string + description: Log contains the log information from message or handler execution. + events: + type: array + items: + type: object + properties: + type: + type: string + attributes: + type: array + items: + type: object + properties: + key: + type: string + format: byte + value: + type: string + format: byte + index: + type: boolean + title: nondeterministic + description: >- + EventAttribute is a single key-value pair, associated with an + event. + description: >- + Event allows application developers to attach additional information + to + + ResponseBeginBlock, ResponseEndBlock, ResponseCheckTx and + ResponseDeliverTx. + + Later, transactions may be queried using these events. + description: >- + Events contains a slice of Event objects that were emitted during + message + + or handler execution. + msg_responses: + type: array + items: + type: object + properties: + '@type': + type: string + description: >- + A URL/resource name that uniquely identifies the type of the + serialized + + protocol buffer message. This string must contain at least + + one "/" character. The last segment of the URL's path must + represent + + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name should be in a + canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the binary all types + that they + + expect it to use in the context of Any. However, for URLs which + use the + + scheme `http`, `https`, or no scheme, one can optionally set up + a type + + server that maps type URLs to message definitions as follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based on the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available in the + official + + protobuf release, and it is not used for type URLs beginning + with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty scheme) might + be + + used with implementation specific semantics. + additionalProperties: {} + description: >- + `Any` contains an arbitrary serialized protocol buffer message along + with a + + URL that describes the type of the serialized message. + + + Protobuf library provides support to pack/unpack Any values in the + form + + of utility functions or additional generated methods of the Any + type. + + + Example 1: Pack and unpack a message in C++. + + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } + + Example 2: Pack and unpack a message in Java. + + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + + Example 3: Pack and unpack a message in Python. + + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + + Example 4: Pack and unpack a message in Go + + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } + + The pack methods provided by protobuf library will by default use + + 'type.googleapis.com/full.type.name' as the type URL and the unpack + + methods only use the fully qualified type name after the last '/' + + in the type URL, for example "foo.bar.com/x/y.z" will yield type + + name "y.z". + + + + JSON + + ==== + + The JSON representation of an `Any` value uses the regular + + representation of the deserialized, embedded message, with an + + additional field `@type` which contains the type URL. Example: - bond shares is based on the amount of coins delegated divided by the - current + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } - exchange rate. Voting power can be calculated as total bonded shares + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } - multiplied by exchange rate. - cosmos.base.abci.v1beta1.ABCIMessageLog: - type: object - properties: - msg_index: - type: integer - format: int64 - log: - type: string - events: - type: array - items: - type: object - properties: - type: - type: string - attributes: - type: array - items: - type: object - properties: - key: - type: string - value: - type: string - description: >- - Attribute defines an attribute wrapper where the key and value - are + If the embedded message type is well-known and has a custom JSON - strings instead of raw bytes. - description: |- - StringEvent defines en Event object wrapper where all the attributes - contain key/value pairs that are strings instead of raw bytes. - description: |- - Events contains a slice of Event objects that were emitted during some - execution. - description: >- - ABCIMessageLog defines a structure containing an indexed tx ABCI message - log. - cosmos.base.abci.v1beta1.Attribute: - type: object - properties: - key: - type: string - value: - type: string - description: |- - Attribute defines an attribute wrapper where the key and value are - strings instead of raw bytes. - cosmos.base.abci.v1beta1.GasInfo: - type: object - properties: - gas_wanted: - type: string - format: uint64 - description: GasWanted is the maximum units of work we allow this tx to perform. - gas_used: - type: string - format: uint64 - description: GasUsed is the amount of gas actually consumed. - description: GasInfo defines tx execution gas context. - cosmos.base.abci.v1beta1.Result: - type: object - properties: - data: - type: string - format: byte - description: >- - Data is any data returned from message or handler execution. It MUST - be + representation, that representation will be embedded adding a field - length prefixed in order to separate data from multiple message - executions. - log: - type: string - description: Log contains the log information from message or handler execution. - events: - type: array - items: - type: object - properties: - type: - type: string - attributes: - type: array - items: - type: object - properties: - key: - type: string - format: byte - value: - type: string - format: byte - index: - type: boolean - description: >- - EventAttribute is a single key-value pair, associated with an - event. - description: >- - Event allows application developers to attach additional information - to + `value` which holds the custom JSON in addition to the `@type` - ResponseBeginBlock, ResponseEndBlock, ResponseCheckTx and - ResponseDeliverTx. + field. Example (for message [google.protobuf.Duration][]): - Later, transactions may be queried using these events. - description: >- - Events contains a slice of Event objects that were emitted during - message + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + description: |- + msg_responses contains the Msg handler responses type packed in Anys. - or handler execution. + Since: cosmos-sdk 0.46 description: Result is the union of ResponseFormat and ResponseCheckTx. cosmos.base.abci.v1beta1.StringEvent: type: object @@ -41516,6 +64976,7 @@ definitions: format: int64 description: Amount of gas consumed by transaction. tx: + description: The request transaction bytes. type: object properties: '@type': @@ -41571,107 +65032,6 @@ definitions: used with implementation specific semantics. additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer message along - with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values in the - form - - of utility functions or additional generated methods of the Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by default use - - 'type.googleapis.com/full.type.name' as the type URL and the unpack - - methods only use the fully qualified type name after the last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield type - - name "y.z". - - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with an - - additional field `@type` which contains the type URL. Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom JSON - - representation, that representation will be embedded adding a field - - `value` which holds the custom JSON in addition to the `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } timestamp: type: string description: >- @@ -41702,6 +65062,7 @@ definitions: format: byte index: type: boolean + title: nondeterministic description: >- EventAttribute is a single key-value pair, associated with an event. @@ -41720,7 +65081,7 @@ definitions: these events include those emitted by processing all the messages and those - emitted from the ante handler. Whereas Logs contains the events, with + emitted from the ante. Whereas Logs contains the events, with additional metadata, emitted only by processing the messages. @@ -41751,26 +65112,52 @@ definitions: - SIGN_MODE_UNSPECIFIED - SIGN_MODE_DIRECT - SIGN_MODE_TEXTUAL + - SIGN_MODE_DIRECT_AUX - SIGN_MODE_LEGACY_AMINO_JSON + - SIGN_MODE_EIP_191 default: SIGN_MODE_UNSPECIFIED description: |- SignMode represents a signing mode with its own security guarantees. + This enum should be considered a registry of all known sign modes + in the Cosmos ecosystem. Apps are not expected to support all known + sign modes. Apps that would like to support custom sign modes are + encouraged to open a small PR against this file to add a new case + to this SignMode enum describing their sign mode so that different + apps have a consistent version of this enum. + - SIGN_MODE_UNSPECIFIED: SIGN_MODE_UNSPECIFIED specifies an unknown signing mode and will be - rejected + rejected. - SIGN_MODE_DIRECT: SIGN_MODE_DIRECT specifies a signing mode which uses SignDoc and is - verified with raw bytes from Tx + verified with raw bytes from Tx. - SIGN_MODE_TEXTUAL: SIGN_MODE_TEXTUAL is a future signing mode that will verify some human-readable textual representation on top of the binary representation - from SIGN_MODE_DIRECT + from SIGN_MODE_DIRECT. It is currently not supported. + - SIGN_MODE_DIRECT_AUX: SIGN_MODE_DIRECT_AUX specifies a signing mode which uses + SignDocDirectAux. As opposed to SIGN_MODE_DIRECT, this sign mode does not + require signers signing over other signers' `signer_info`. It also allows + for adding Tips in transactions. + + Since: cosmos-sdk 0.46 - SIGN_MODE_LEGACY_AMINO_JSON: SIGN_MODE_LEGACY_AMINO_JSON is a backwards compatibility mode which uses - Amino JSON and will be removed in the future + Amino JSON and will be removed in the future. + - SIGN_MODE_EIP_191: SIGN_MODE_EIP_191 specifies the sign mode for EIP 191 signing on the Cosmos + SDK. Ref: https://eips.ethereum.org/EIPS/eip-191 + + Currently, SIGN_MODE_EIP_191 is registered as a SignMode enum variant, + but is not implemented on the SDK by default. To enable EIP-191, you need + to pass a custom `TxConfig` that has an implementation of + `SignModeHandler` for EIP-191. The SDK may decide to fully support + EIP-191 in the future. + + Since: cosmos-sdk 0.45.2 cosmos.tx.v1beta1.AuthInfo: type: object properties: signer_infos: type: array items: + type: object $ref: '#/definitions/cosmos.tx.v1beta1.SignerInfo' description: >- signer_infos defines the signing modes for the required signers. The @@ -41843,6 +65230,42 @@ definitions: appropriate fee grant does not exist or the chain does not support fee grants, this will fail + tip: + description: >- + Tip is the optional tip used for transactions fees paid in another + denom. + + + This field is ignored if the chain didn't enable tips, i.e. didn't add + the + + `TipDecorator` in its posthandler. + + + Since: cosmos-sdk 0.46 + type: object + properties: + amount: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. + + + NOTE: The amount field is an Int which implements the custom + method + + signatures required by gogoproto. + title: amount is the amount of the tip + tipper: + type: string + title: tipper is the address of the account paying for the tip description: |- AuthInfo describes the fee and signer modes that are used to sign a transaction. @@ -41874,393 +65297,889 @@ definitions: description: tx_bytes is the raw transaction. mode: type: string - enum: - - BROADCAST_MODE_UNSPECIFIED - - BROADCAST_MODE_BLOCK - - BROADCAST_MODE_SYNC - - BROADCAST_MODE_ASYNC - default: BROADCAST_MODE_UNSPECIFIED + enum: + - BROADCAST_MODE_UNSPECIFIED + - BROADCAST_MODE_BLOCK + - BROADCAST_MODE_SYNC + - BROADCAST_MODE_ASYNC + default: BROADCAST_MODE_UNSPECIFIED + description: >- + BroadcastMode specifies the broadcast mode for the TxService.Broadcast + RPC method. + + - BROADCAST_MODE_UNSPECIFIED: zero-value for mode ordering + - BROADCAST_MODE_BLOCK: BROADCAST_MODE_BLOCK defines a tx broadcasting mode where the client waits for + the tx to be committed in a block. + - BROADCAST_MODE_SYNC: BROADCAST_MODE_SYNC defines a tx broadcasting mode where the client waits for + a CheckTx execution response only. + - BROADCAST_MODE_ASYNC: BROADCAST_MODE_ASYNC defines a tx broadcasting mode where the client returns + immediately. + description: |- + BroadcastTxRequest is the request type for the Service.BroadcastTxRequest + RPC method. + cosmos.tx.v1beta1.BroadcastTxResponse: + type: object + properties: + tx_response: + description: tx_response is the queried TxResponses. + type: object + properties: + height: + type: string + format: int64 + title: The block height + txhash: + type: string + description: The transaction hash. + codespace: + type: string + title: Namespace for the Code + code: + type: integer + format: int64 + description: Response code. + data: + type: string + description: Result bytes, if any. + raw_log: + type: string + description: |- + The output of the application's logger (raw string). May be + non-deterministic. + logs: + type: array + items: + type: object + properties: + msg_index: + type: integer + format: int64 + log: + type: string + events: + type: array + items: + type: object + properties: + type: + type: string + attributes: + type: array + items: + type: object + properties: + key: + type: string + value: + type: string + description: >- + Attribute defines an attribute wrapper where the key + and value are + + strings instead of raw bytes. + description: >- + StringEvent defines en Event object wrapper where all the + attributes + + contain key/value pairs that are strings instead of raw + bytes. + description: >- + Events contains a slice of Event objects that were emitted + during some + + execution. + description: >- + ABCIMessageLog defines a structure containing an indexed tx ABCI + message log. + description: >- + The output of the application's logger (typed). May be + non-deterministic. + info: + type: string + description: Additional information. May be non-deterministic. + gas_wanted: + type: string + format: int64 + description: Amount of gas requested for transaction. + gas_used: + type: string + format: int64 + description: Amount of gas consumed by transaction. + tx: + description: The request transaction bytes. + type: object + properties: + '@type': + type: string + description: >- + A URL/resource name that uniquely identifies the type of the + serialized + + protocol buffer message. This string must contain at least + + one "/" character. The last segment of the URL's path must + represent + + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name should be in a + canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the binary all + types that they + + expect it to use in the context of Any. However, for URLs + which use the + + scheme `http`, `https`, or no scheme, one can optionally set + up a type + + server that maps type URLs to message definitions as follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based on + the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available in the + official + + protobuf release, and it is not used for type URLs beginning + with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty scheme) might + be + + used with implementation specific semantics. + additionalProperties: {} + timestamp: + type: string + description: >- + Time of the previous block. For heights > 1, it's the weighted + median of + + the timestamps of the valid votes in the block.LastCommit. For + height == 1, + + it's genesis time. + events: + type: array + items: + type: object + properties: + type: + type: string + attributes: + type: array + items: + type: object + properties: + key: + type: string + format: byte + value: + type: string + format: byte + index: + type: boolean + title: nondeterministic + description: >- + EventAttribute is a single key-value pair, associated with + an event. + description: >- + Event allows application developers to attach additional + information to + + ResponseBeginBlock, ResponseEndBlock, ResponseCheckTx and + ResponseDeliverTx. + + Later, transactions may be queried using these events. + description: >- + Events defines all the events emitted by processing a transaction. + Note, + + these events include those emitted by processing all the messages + and those + + emitted from the ante. Whereas Logs contains the events, with + + additional metadata, emitted only by processing the messages. + + + Since: cosmos-sdk 0.42.11, 0.44.5, 0.45 + description: |- + BroadcastTxResponse is the response type for the + Service.BroadcastTx method. + cosmos.tx.v1beta1.Fee: + type: object + properties: + amount: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string + description: |- + Coin defines a token with a denomination and an amount. + + NOTE: The amount field is an Int which implements the custom method + signatures required by gogoproto. + title: amount is the amount of coins to be paid as a fee + gas_limit: + type: string + format: uint64 + title: >- + gas_limit is the maximum gas that can be used in transaction + processing + + before an out of gas error occurs + payer: + type: string description: >- - BroadcastMode specifies the broadcast mode for the TxService.Broadcast - RPC method. + if unset, the first signer is responsible for paying the fees. If set, + the specified account must pay the fees. - - BROADCAST_MODE_UNSPECIFIED: zero-value for mode ordering - - BROADCAST_MODE_BLOCK: BROADCAST_MODE_BLOCK defines a tx broadcasting mode where the client waits for - the tx to be committed in a block. - - BROADCAST_MODE_SYNC: BROADCAST_MODE_SYNC defines a tx broadcasting mode where the client waits for - a CheckTx execution response only. - - BROADCAST_MODE_ASYNC: BROADCAST_MODE_ASYNC defines a tx broadcasting mode where the client returns - immediately. - description: |- - BroadcastTxRequest is the request type for the Service.BroadcastTxRequest - RPC method. - cosmos.tx.v1beta1.BroadcastTxResponse: + the payer must be a tx signer (and thus have signed this field in + AuthInfo). + + setting this field does *not* change the ordering of required signers + for the transaction. + granter: + type: string + title: >- + if set, the fee payer (either the first signer or the value of the + payer field) requests that a fee grant be used + + to pay fees instead of the fee payer's own balance. If an appropriate + fee grant does not exist or the chain does + + not support fee grants, this will fail + description: >- + Fee includes the amount of coins paid in fees and the maximum + + gas to be used by the transaction. The ratio yields an effective + "gasprice", + + which must be above some miminum to be accepted into the mempool. + cosmos.tx.v1beta1.GetBlockWithTxsResponse: type: object properties: - tx_response: + txs: + type: array + items: + type: object + $ref: '#/definitions/cosmos.tx.v1beta1.Tx' + description: txs are the transactions in the block. + block_id: type: object properties: - height: - type: string - format: int64 - title: The block height - txhash: - type: string - description: The transaction hash. - codespace: - type: string - title: Namespace for the Code - code: - type: integer - format: int64 - description: Response code. - data: - type: string - description: Result bytes, if any. - raw_log: + hash: type: string - description: |- - The output of the application's logger (raw string). May be - non-deterministic. - logs: - type: array - items: - type: object - properties: - msg_index: - type: integer - format: int64 - log: - type: string - events: - type: array - items: + format: byte + part_set_header: + type: object + properties: + total: + type: integer + format: int64 + hash: + type: string + format: byte + title: PartsetHeader + title: BlockID + block: + type: object + properties: + header: + type: object + properties: + version: + title: basic block info + type: object + properties: + block: + type: string + format: uint64 + app: + type: string + format: uint64 + description: >- + Consensus captures the consensus rules for processing a block + in the blockchain, + + including all blockchain data structures and the rules of the + application's + + state transition machine. + chain_id: + type: string + height: + type: string + format: int64 + time: + type: string + format: date-time + last_block_id: + type: object + properties: + hash: + type: string + format: byte + part_set_header: type: object properties: - type: + total: + type: integer + format: int64 + hash: type: string - attributes: - type: array - items: + format: byte + title: PartsetHeader + title: BlockID + last_commit_hash: + type: string + format: byte + description: commit from validators from the last block + title: hashes of block data + data_hash: + type: string + format: byte + title: transactions + validators_hash: + type: string + format: byte + description: validators for the current block + title: hashes from the app output from the prev block + next_validators_hash: + type: string + format: byte + title: validators for the next block + consensus_hash: + type: string + format: byte + title: consensus params for current block + app_hash: + type: string + format: byte + title: state after txs from the previous block + last_results_hash: + type: string + format: byte + title: root hash of all results from the txs from the previous block + evidence_hash: + type: string + format: byte + description: evidence included in the block + title: consensus info + proposer_address: + type: string + format: byte + title: original proposer of the block + description: Header defines the structure of a block header. + data: + type: object + properties: + txs: + type: array + items: + type: string + format: byte + description: >- + Txs that will be applied by state @ block.Height+1. + + NOTE: not all txs here are valid. We're just agreeing on the + order first. + + This means that block.AppHash does not include these txs. + title: Data contains the set of transactions included in the block + evidence: + type: object + properties: + evidence: + type: array + items: + type: object + properties: + duplicate_vote_evidence: + type: object + properties: + vote_a: type: object properties: - key: + type: type: string - value: + enum: + - SIGNED_MSG_TYPE_UNKNOWN + - SIGNED_MSG_TYPE_PREVOTE + - SIGNED_MSG_TYPE_PRECOMMIT + - SIGNED_MSG_TYPE_PROPOSAL + default: SIGNED_MSG_TYPE_UNKNOWN + description: >- + SignedMsgType is a type of signed message in the + consensus. + + - SIGNED_MSG_TYPE_PREVOTE: Votes + - SIGNED_MSG_TYPE_PROPOSAL: Proposals + height: + type: string + format: int64 + round: + type: integer + format: int32 + block_id: + type: object + properties: + hash: + type: string + format: byte + part_set_header: + type: object + properties: + total: + type: integer + format: int64 + hash: + type: string + format: byte + title: PartsetHeader + title: BlockID + description: zero if vote is nil. + timestamp: + type: string + format: date-time + validator_address: + type: string + format: byte + validator_index: + type: integer + format: int32 + signature: type: string + format: byte description: >- - Attribute defines an attribute wrapper where the key - and value are + Vote represents a prevote, precommit, or commit vote + from validators for - strings instead of raw bytes. - description: >- - StringEvent defines en Event object wrapper where all the - attributes + consensus. + vote_b: + type: object + properties: + type: + type: string + enum: + - SIGNED_MSG_TYPE_UNKNOWN + - SIGNED_MSG_TYPE_PREVOTE + - SIGNED_MSG_TYPE_PRECOMMIT + - SIGNED_MSG_TYPE_PROPOSAL + default: SIGNED_MSG_TYPE_UNKNOWN + description: >- + SignedMsgType is a type of signed message in the + consensus. - contain key/value pairs that are strings instead of raw - bytes. - description: >- - Events contains a slice of Event objects that were emitted - during some + - SIGNED_MSG_TYPE_PREVOTE: Votes + - SIGNED_MSG_TYPE_PROPOSAL: Proposals + height: + type: string + format: int64 + round: + type: integer + format: int32 + block_id: + type: object + properties: + hash: + type: string + format: byte + part_set_header: + type: object + properties: + total: + type: integer + format: int64 + hash: + type: string + format: byte + title: PartsetHeader + title: BlockID + description: zero if vote is nil. + timestamp: + type: string + format: date-time + validator_address: + type: string + format: byte + validator_index: + type: integer + format: int32 + signature: + type: string + format: byte + description: >- + Vote represents a prevote, precommit, or commit vote + from validators for - execution. - description: >- - ABCIMessageLog defines a structure containing an indexed tx ABCI - message log. - description: >- - The output of the application's logger (typed). May be - non-deterministic. - info: - type: string - description: Additional information. May be non-deterministic. - gas_wanted: - type: string - format: int64 - description: Amount of gas requested for transaction. - gas_used: - type: string - format: int64 - description: Amount of gas consumed by transaction. - tx: + consensus. + total_voting_power: + type: string + format: int64 + validator_power: + type: string + format: int64 + timestamp: + type: string + format: date-time + description: >- + DuplicateVoteEvidence contains evidence of a validator + signed two conflicting votes. + light_client_attack_evidence: + type: object + properties: + conflicting_block: + type: object + properties: + signed_header: + type: object + properties: + header: + type: object + properties: + version: + title: basic block info + type: object + properties: + block: + type: string + format: uint64 + app: + type: string + format: uint64 + description: >- + Consensus captures the consensus rules + for processing a block in the + blockchain, + + including all blockchain data structures + and the rules of the application's + + state transition machine. + chain_id: + type: string + height: + type: string + format: int64 + time: + type: string + format: date-time + last_block_id: + type: object + properties: + hash: + type: string + format: byte + part_set_header: + type: object + properties: + total: + type: integer + format: int64 + hash: + type: string + format: byte + title: PartsetHeader + title: BlockID + last_commit_hash: + type: string + format: byte + description: >- + commit from validators from the last + block + title: hashes of block data + data_hash: + type: string + format: byte + title: transactions + validators_hash: + type: string + format: byte + description: validators for the current block + title: >- + hashes from the app output from the prev + block + next_validators_hash: + type: string + format: byte + title: validators for the next block + consensus_hash: + type: string + format: byte + title: consensus params for current block + app_hash: + type: string + format: byte + title: state after txs from the previous block + last_results_hash: + type: string + format: byte + title: >- + root hash of all results from the txs + from the previous block + evidence_hash: + type: string + format: byte + description: evidence included in the block + title: consensus info + proposer_address: + type: string + format: byte + title: original proposer of the block + description: >- + Header defines the structure of a block + header. + commit: + type: object + properties: + height: + type: string + format: int64 + round: + type: integer + format: int32 + block_id: + type: object + properties: + hash: + type: string + format: byte + part_set_header: + type: object + properties: + total: + type: integer + format: int64 + hash: + type: string + format: byte + title: PartsetHeader + title: BlockID + signatures: + type: array + items: + type: object + properties: + block_id_flag: + type: string + enum: + - BLOCK_ID_FLAG_UNKNOWN + - BLOCK_ID_FLAG_ABSENT + - BLOCK_ID_FLAG_COMMIT + - BLOCK_ID_FLAG_NIL + default: BLOCK_ID_FLAG_UNKNOWN + title: >- + BlockIdFlag indicates which BlcokID the + signature is for + validator_address: + type: string + format: byte + timestamp: + type: string + format: date-time + signature: + type: string + format: byte + description: >- + CommitSig is a part of the Vote included + in a Commit. + description: >- + Commit contains the evidence that a block + was committed by a set of validators. + validator_set: + type: object + properties: + validators: + type: array + items: + type: object + properties: + address: + type: string + format: byte + pub_key: + type: object + properties: + ed25519: + type: string + format: byte + secp256k1: + type: string + format: byte + title: >- + PublicKey defines the keys available for + use with Validators + voting_power: + type: string + format: int64 + proposer_priority: + type: string + format: int64 + proposer: + type: object + properties: + address: + type: string + format: byte + pub_key: + type: object + properties: + ed25519: + type: string + format: byte + secp256k1: + type: string + format: byte + title: >- + PublicKey defines the keys available for + use with Validators + voting_power: + type: string + format: int64 + proposer_priority: + type: string + format: int64 + total_voting_power: + type: string + format: int64 + common_height: + type: string + format: int64 + byzantine_validators: + type: array + items: + type: object + properties: + address: + type: string + format: byte + pub_key: + type: object + properties: + ed25519: + type: string + format: byte + secp256k1: + type: string + format: byte + title: >- + PublicKey defines the keys available for use + with Validators + voting_power: + type: string + format: int64 + proposer_priority: + type: string + format: int64 + total_voting_power: + type: string + format: int64 + timestamp: + type: string + format: date-time + description: >- + LightClientAttackEvidence contains evidence of a set of + validators attempting to mislead a light client. + last_commit: type: object properties: - '@type': + height: type: string - description: >- - A URL/resource name that uniquely identifies the type of the - serialized - - protocol buffer message. This string must contain at least - - one "/" character. The last segment of the URL's path must - represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in a - canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary all - types that they - - expect it to use in the context of Any. However, for URLs - which use the - - scheme `http`, `https`, or no scheme, one can optionally set - up a type - - server that maps type URLs to message definitions as follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based on - the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in the - official - - protobuf release, and it is not used for type URLs beginning - with - - type.googleapis.com. - - - Schemes other than `http`, `https` (or the empty scheme) might - be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer message - along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values in the - form - - of utility functions or additional generated methods of the Any - type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield type - - name "y.z". - - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with an - - additional field `@type` which contains the type URL. Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom JSON - - representation, that representation will be embedded adding a - field - - `value` which holds the custom JSON in addition to the `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - timestamp: - type: string - description: >- - Time of the previous block. For heights > 1, it's the weighted - median of - - the timestamps of the valid votes in the block.LastCommit. For - height == 1, - - it's genesis time. - events: - type: array - items: - type: object - properties: - type: - type: string - attributes: - type: array - items: + format: int64 + round: + type: integer + format: int32 + block_id: + type: object + properties: + hash: + type: string + format: byte + part_set_header: type: object properties: - key: - type: string - format: byte - value: + total: + type: integer + format: int64 + hash: type: string format: byte - index: - type: boolean - description: >- - EventAttribute is a single key-value pair, associated with - an event. - description: >- - Event allows application developers to attach additional - information to - - ResponseBeginBlock, ResponseEndBlock, ResponseCheckTx and - ResponseDeliverTx. - - Later, transactions may be queried using these events. + title: PartsetHeader + title: BlockID + signatures: + type: array + items: + type: object + properties: + block_id_flag: + type: string + enum: + - BLOCK_ID_FLAG_UNKNOWN + - BLOCK_ID_FLAG_ABSENT + - BLOCK_ID_FLAG_COMMIT + - BLOCK_ID_FLAG_NIL + default: BLOCK_ID_FLAG_UNKNOWN + title: BlockIdFlag indicates which BlcokID the signature is for + validator_address: + type: string + format: byte + timestamp: + type: string + format: date-time + signature: + type: string + format: byte + description: CommitSig is a part of the Vote included in a Commit. description: >- - Events defines all the events emitted by processing a transaction. - Note, - - these events include those emitted by processing all the messages - and those - - emitted from the ante handler. Whereas Logs contains the events, - with - - additional metadata, emitted only by processing the messages. - - - Since: cosmos-sdk 0.42.11, 0.44.5, 0.45 - description: >- - TxResponse defines a structure containing relevant tx data and - metadata. The - - tags are stringified and the log is JSON decoded. - description: |- - BroadcastTxResponse is the response type for the - Service.BroadcastTx method. - cosmos.tx.v1beta1.Fee: - type: object - properties: - amount: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: |- - Coin defines a token with a denomination and an amount. - - NOTE: The amount field is an Int which implements the custom method - signatures required by gogoproto. - title: amount is the amount of coins to be paid as a fee - gas_limit: - type: string - format: uint64 - title: >- - gas_limit is the maximum gas that can be used in transaction - processing - - before an out of gas error occurs - payer: - type: string - description: >- - if unset, the first signer is responsible for paying the fees. If set, - the specified account must pay the fees. - - the payer must be a tx signer (and thus have signed this field in - AuthInfo). - - setting this field does *not* change the ordering of required signers - for the transaction. - granter: - type: string - title: >- - if set, the fee payer (either the first signer or the value of the - payer field) requests that a fee grant be used - - to pay fees instead of the fee payer's own balance. If an appropriate - fee grant does not exist or the chain does + Commit contains the evidence that a block was committed by a set + of validators. + pagination: + description: pagination defines a pagination for the response. + type: object + properties: + next_key: + type: string + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + total: + type: string + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total - not support fee grants, this will fail + was set, its value is undefined otherwise description: >- - Fee includes the amount of coins paid in fees and the maximum + GetBlockWithTxsResponse is the response type for the + Service.GetBlockWithTxs method. - gas to be used by the transaction. The ratio yields an effective - "gasprice", - which must be above some miminum to be accepted into the mempool. + Since: cosmos-sdk 0.45.2 cosmos.tx.v1beta1.GetTxResponse: type: object properties: @@ -42268,6 +66187,7 @@ definitions: $ref: '#/definitions/cosmos.tx.v1beta1.Tx' description: tx is the queried transaction. tx_response: + description: tx_response is the queried TxResponses. type: object properties: height: @@ -42352,6 +66272,7 @@ definitions: format: int64 description: Amount of gas consumed by transaction. tx: + description: The request transaction bytes. type: object properties: '@type': @@ -42410,110 +66331,6 @@ definitions: used with implementation specific semantics. additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer message - along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values in the - form - - of utility functions or additional generated methods of the Any - type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield type - - name "y.z". - - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with an - - additional field `@type` which contains the type URL. Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom JSON - - representation, that representation will be embedded adding a - field - - `value` which holds the custom JSON in addition to the `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } timestamp: type: string description: >- @@ -42544,6 +66361,7 @@ definitions: format: byte index: type: boolean + title: nondeterministic description: >- EventAttribute is a single key-value pair, associated with an event. @@ -42562,18 +66380,12 @@ definitions: these events include those emitted by processing all the messages and those - emitted from the ante handler. Whereas Logs contains the events, - with + emitted from the ante. Whereas Logs contains the events, with additional metadata, emitted only by processing the messages. Since: cosmos-sdk 0.42.11, 0.44.5, 0.45 - description: >- - TxResponse defines a structure containing relevant tx data and - metadata. The - - tags are stringified and the log is JSON decoded. description: GetTxResponse is the response type for the Service.GetTx method. cosmos.tx.v1beta1.GetTxsEventResponse: type: object @@ -42581,6 +66393,7 @@ definitions: txs: type: array items: + type: object $ref: '#/definitions/cosmos.tx.v1beta1.Tx' description: txs is the list of queried transactions. tx_responses: @@ -42670,6 +66483,7 @@ definitions: format: int64 description: Amount of gas consumed by transaction. tx: + description: The request transaction bytes. type: object properties: '@type': @@ -42730,112 +66544,6 @@ definitions: used with implementation specific semantics. additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer message - along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values in - the form - - of utility functions or additional generated methods of the Any - type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by default - use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the last - '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield type - - name "y.z". - - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with an - - additional field `@type` which contains the type URL. Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom JSON - - representation, that representation will be embedded adding a - field - - `value` which holds the custom JSON in addition to the `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } timestamp: type: string description: >- @@ -42866,6 +66574,7 @@ definitions: format: byte index: type: boolean + title: nondeterministic description: >- EventAttribute is a single key-value pair, associated with an event. @@ -42884,8 +66593,7 @@ definitions: these events include those emitted by processing all the messages and those - emitted from the ante handler. Whereas Logs contains the events, - with + emitted from the ante. Whereas Logs contains the events, with additional metadata, emitted only by processing the messages. @@ -42898,15 +66606,18 @@ definitions: tags are stringified and the log is JSON decoded. description: tx_responses is the list of queried TxResponses. pagination: - description: pagination defines an pagination for the response. + description: |- + pagination defines a pagination for the response. + Deprecated post v0.46.x: use total instead. type: object properties: next_key: type: string format: byte - title: |- + description: |- next_key is the key to be passed to PageRequest.key to - query the next page most efficiently + query the next page most efficiently. It will be empty if + there are no more results. total: type: string format: uint64 @@ -42915,6 +66626,10 @@ definitions: PageRequest.count_total was set, its value is undefined otherwise + total: + type: string + format: uint64 + title: total is total number of results available description: |- GetTxsEventResponse is the response type for the Service.TxsByEvents RPC method. @@ -42932,23 +66647,68 @@ definitions: - SIGN_MODE_UNSPECIFIED - SIGN_MODE_DIRECT - SIGN_MODE_TEXTUAL + - SIGN_MODE_DIRECT_AUX - SIGN_MODE_LEGACY_AMINO_JSON + - SIGN_MODE_EIP_191 default: SIGN_MODE_UNSPECIFIED description: >- SignMode represents a signing mode with its own security guarantees. + + This enum should be considered a registry of all known sign modes + + in the Cosmos ecosystem. Apps are not expected to support all + known + + sign modes. Apps that would like to support custom sign modes are + + encouraged to open a small PR against this file to add a new case + + to this SignMode enum describing their sign mode so that different + + apps have a consistent version of this enum. + - SIGN_MODE_UNSPECIFIED: SIGN_MODE_UNSPECIFIED specifies an unknown signing mode and will be - rejected + rejected. - SIGN_MODE_DIRECT: SIGN_MODE_DIRECT specifies a signing mode which uses SignDoc and is - verified with raw bytes from Tx + verified with raw bytes from Tx. - SIGN_MODE_TEXTUAL: SIGN_MODE_TEXTUAL is a future signing mode that will verify some human-readable textual representation on top of the binary representation - from SIGN_MODE_DIRECT + from SIGN_MODE_DIRECT. It is currently not supported. + - SIGN_MODE_DIRECT_AUX: SIGN_MODE_DIRECT_AUX specifies a signing mode which uses + SignDocDirectAux. As opposed to SIGN_MODE_DIRECT, this sign mode + does not + + require signers signing over other signers' `signer_info`. It also + allows + + for adding Tips in transactions. + + + Since: cosmos-sdk 0.46 - SIGN_MODE_LEGACY_AMINO_JSON: SIGN_MODE_LEGACY_AMINO_JSON is a backwards compatibility mode which uses - Amino JSON and will be removed in the future + Amino JSON and will be removed in the future. + - SIGN_MODE_EIP_191: SIGN_MODE_EIP_191 specifies the sign mode for EIP 191 signing on the Cosmos + SDK. Ref: https://eips.ethereum.org/EIPS/eip-191 + + + Currently, SIGN_MODE_EIP_191 is registered as a SignMode enum + variant, + + but is not implemented on the SDK by default. To enable EIP-191, + you need + + to pass a custom `TxConfig` that has an implementation of + + `SignModeHandler` for EIP-191. The SDK may decide to fully support + + EIP-191 in the future. + + + Since: cosmos-sdk 0.45.2 multi: $ref: '#/definitions/cosmos.tx.v1beta1.ModeInfo.Multi' title: multi represents a nested multisig signer @@ -42978,6 +66738,7 @@ definitions: mode_infos: type: array items: + type: object $ref: '#/definitions/cosmos.tx.v1beta1.ModeInfo' title: |- mode_infos is the corresponding modes of the signers of the multisig @@ -42993,22 +66754,65 @@ definitions: - SIGN_MODE_UNSPECIFIED - SIGN_MODE_DIRECT - SIGN_MODE_TEXTUAL + - SIGN_MODE_DIRECT_AUX - SIGN_MODE_LEGACY_AMINO_JSON + - SIGN_MODE_EIP_191 default: SIGN_MODE_UNSPECIFIED description: >- SignMode represents a signing mode with its own security guarantees. + + This enum should be considered a registry of all known sign modes + + in the Cosmos ecosystem. Apps are not expected to support all known + + sign modes. Apps that would like to support custom sign modes are + + encouraged to open a small PR against this file to add a new case + + to this SignMode enum describing their sign mode so that different + + apps have a consistent version of this enum. + - SIGN_MODE_UNSPECIFIED: SIGN_MODE_UNSPECIFIED specifies an unknown signing mode and will be - rejected + rejected. - SIGN_MODE_DIRECT: SIGN_MODE_DIRECT specifies a signing mode which uses SignDoc and is - verified with raw bytes from Tx + verified with raw bytes from Tx. - SIGN_MODE_TEXTUAL: SIGN_MODE_TEXTUAL is a future signing mode that will verify some human-readable textual representation on top of the binary representation - from SIGN_MODE_DIRECT + from SIGN_MODE_DIRECT. It is currently not supported. + - SIGN_MODE_DIRECT_AUX: SIGN_MODE_DIRECT_AUX specifies a signing mode which uses + SignDocDirectAux. As opposed to SIGN_MODE_DIRECT, this sign mode does + not + + require signers signing over other signers' `signer_info`. It also + allows + + for adding Tips in transactions. + + + Since: cosmos-sdk 0.46 - SIGN_MODE_LEGACY_AMINO_JSON: SIGN_MODE_LEGACY_AMINO_JSON is a backwards compatibility mode which uses - Amino JSON and will be removed in the future + Amino JSON and will be removed in the future. + - SIGN_MODE_EIP_191: SIGN_MODE_EIP_191 specifies the sign mode for EIP 191 signing on the Cosmos + SDK. Ref: https://eips.ethereum.org/EIPS/eip-191 + + + Currently, SIGN_MODE_EIP_191 is registered as a SignMode enum variant, + + but is not implemented on the SDK by default. To enable EIP-191, you + need + + to pass a custom `TxConfig` that has an implementation of + + `SignModeHandler` for EIP-191. The SDK may decide to fully support + + EIP-191 in the future. + + + Since: cosmos-sdk 0.45.2 title: |- Single is the mode info for a single signer. It is structured as a message to allow for additional fields such as locale for SIGN_MODE_TEXTUAL in the @@ -43030,6 +66834,14 @@ definitions: type: object properties: public_key: + description: >- + public_key is the public key of the signer. It is optional for + accounts + + that already exist in state. If unset, the verifier can use the + required \ + + signer address for this position and lookup the public key. type: object properties: '@type': @@ -43085,107 +66897,6 @@ definitions: used with implementation specific semantics. additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer message along - with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values in the - form - - of utility functions or additional generated methods of the Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by default use - - 'type.googleapis.com/full.type.name' as the type URL and the unpack - - methods only use the fully qualified type name after the last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield type - - name "y.z". - - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with an - - additional field `@type` which contains the type URL. Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom JSON - - representation, that representation will be embedded adding a field - - `value` which holds the custom JSON in addition to the `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } mode_info: $ref: '#/definitions/cosmos.tx.v1beta1.ModeInfo' title: |- @@ -43252,6 +66963,11 @@ definitions: length prefixed in order to separate data from multiple message executions. + + Deprecated. This field is still populated, but prefer msg_response + instead + + because it also contains the Msg response typeURL. log: type: string description: >- @@ -43277,6 +66993,7 @@ definitions: format: byte index: type: boolean + title: nondeterministic description: >- EventAttribute is a single key-value pair, associated with an event. @@ -43293,9 +67010,209 @@ definitions: message or handler execution. + msg_responses: + type: array + items: + type: object + properties: + '@type': + type: string + description: >- + A URL/resource name that uniquely identifies the type of the + serialized + + protocol buffer message. This string must contain at least + + one "/" character. The last segment of the URL's path must + represent + + the fully qualified name of the type (as in + + `path/google.protobuf.Duration`). The name should be in a + canonical form + + (e.g., leading "." is not accepted). + + + In practice, teams usually precompile into the binary all + types that they + + expect it to use in the context of Any. However, for URLs + which use the + + scheme `http`, `https`, or no scheme, one can optionally set + up a type + + server that maps type URLs to message definitions as + follows: + + + * If no scheme is provided, `https` is assumed. + + * An HTTP GET on the URL must yield a + [google.protobuf.Type][] + value in binary format, or produce an error. + * Applications are allowed to cache lookup results based on + the + URL, or have them precompiled into a binary to avoid any + lookup. Therefore, binary compatibility needs to be preserved + on changes to types. (Use versioned type names to manage + breaking changes.) + + Note: this functionality is not currently available in the + official + + protobuf release, and it is not used for type URLs beginning + with + + type.googleapis.com. + + + Schemes other than `http`, `https` (or the empty scheme) + might be + + used with implementation specific semantics. + additionalProperties: {} + description: >- + `Any` contains an arbitrary serialized protocol buffer message + along with a + + URL that describes the type of the serialized message. + + + Protobuf library provides support to pack/unpack Any values in + the form + + of utility functions or additional generated methods of the Any + type. + + + Example 1: Pack and unpack a message in C++. + + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } + + Example 2: Pack and unpack a message in Java. + + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + + Example 3: Pack and unpack a message in Python. + + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... + + Example 4: Pack and unpack a message in Go + + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } + + The pack methods provided by protobuf library will by default + use + + 'type.googleapis.com/full.type.name' as the type URL and the + unpack + + methods only use the fully qualified type name after the last + '/' + + in the type URL, for example "foo.bar.com/x/y.z" will yield type + + name "y.z". + + + + JSON + + ==== + + The JSON representation of an `Any` value uses the regular + + representation of the deserialized, embedded message, with an + + additional field `@type` which contains the type URL. Example: + + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": , + "lastName": + } + + If the embedded message type is well-known and has a custom JSON + + representation, that representation will be embedded adding a + field + + `value` which holds the custom JSON in addition to the `@type` + + field. Example (for message [google.protobuf.Duration][]): + + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } + description: >- + msg_responses contains the Msg handler responses type packed in + Anys. + + + Since: cosmos-sdk 0.46 description: |- SimulateResponse is the response type for the Service.SimulateRPC method. + cosmos.tx.v1beta1.Tip: + type: object + properties: + amount: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string + description: |- + Coin defines a token with a denomination and an amount. + + NOTE: The amount field is an Int which implements the custom method + signatures required by gogoproto. + title: amount is the amount of the tip + tipper: + type: string + title: tipper is the address of the account paying for the tip + description: |- + Tip is the tip used for meta-transactions. + + Since: cosmos-sdk 0.46 cosmos.tx.v1beta1.Tx: type: object properties: @@ -44435,6 +68352,7 @@ definitions: format: byte index: type: boolean + title: nondeterministic description: EventAttribute is a single key-value pair, associated with an event. description: >- Event allows application developers to attach additional information to @@ -44454,6 +68372,7 @@ definitions: format: byte index: type: boolean + title: nondeterministic description: EventAttribute is a single key-value pair, associated with an event. cosmos.upgrade.v1beta1.ModuleVersion: type: object @@ -44469,6 +68388,18 @@ definitions: ModuleVersion specifies a module and its consensus version. Since: cosmos-sdk 0.43 + cosmos.upgrade.v1beta1.MsgCancelUpgradeResponse: + type: object + description: |- + MsgCancelUpgradeResponse is the Msg/CancelUpgrade response type. + + Since: cosmos-sdk 0.46 + cosmos.upgrade.v1beta1.MsgSoftwareUpgradeResponse: + type: object + description: |- + MsgSoftwareUpgradeResponse is the Msg/SoftwareUpgrade response type. + + Since: cosmos-sdk 0.46 cosmos.upgrade.v1beta1.Plan: type: object properties: @@ -44514,6 +68445,13 @@ definitions: Any application specific upgrade info to be included on-chain such as a git commit that validators could automatically upgrade to upgraded_client_state: + description: >- + Deprecated: UpgradedClientState field has been deprecated. IBC upgrade + logic has been + + moved to the IBC module in the sub module 02-client. + + If this field is not empty, an error will be thrown. type: object properties: '@type': @@ -44569,107 +68507,6 @@ definitions: used with implementation specific semantics. additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer message along - with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values in the - form - - of utility functions or additional generated methods of the Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by default use - - 'type.googleapis.com/full.type.name' as the type URL and the unpack - - methods only use the fully qualified type name after the last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield type - - name "y.z". - - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with an - - additional field `@type` which contains the type URL. Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom JSON - - representation, that representation will be embedded adding a field - - `value` which holds the custom JSON in addition to the `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } description: >- Plan specifies information about a planned upgrade and when it should occur. @@ -44685,6 +68522,13 @@ definitions: RPC method. + cosmos.upgrade.v1beta1.QueryAuthorityResponse: + type: object + properties: + address: + type: string + description: 'Since: cosmos-sdk 0.46' + title: QueryAuthorityResponse is the response type for Query/Authority cosmos.upgrade.v1beta1.QueryCurrentPlanResponse: type: object properties: @@ -44738,6 +68582,13 @@ definitions: such as a git commit that validators could automatically upgrade to upgraded_client_state: + description: >- + Deprecated: UpgradedClientState field has been deprecated. IBC + upgrade logic has been + + moved to the IBC module in the sub module 02-client. + + If this field is not empty, an error will be thrown. type: object properties: '@type': @@ -44796,110 +68647,6 @@ definitions: used with implementation specific semantics. additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer message - along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values in the - form - - of utility functions or additional generated methods of the Any - type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield type - - name "y.z". - - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with an - - additional field `@type` which contains the type URL. Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom JSON - - representation, that representation will be embedded adding a - field - - `value` which holds the custom JSON in addition to the `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } description: >- QueryCurrentPlanResponse is the response type for the Query/CurrentPlan RPC @@ -44947,11 +68694,51 @@ definitions: Query/UpgradedConsensusState RPC method. + cosmos.vesting.v1beta1.MsgCreatePeriodicVestingAccountResponse: + type: object + description: >- + MsgCreateVestingAccountResponse defines the + Msg/CreatePeriodicVestingAccount + + response type. + + + Since: cosmos-sdk 0.46 + cosmos.vesting.v1beta1.MsgCreatePermanentLockedAccountResponse: + type: object + description: >- + MsgCreatePermanentLockedAccountResponse defines the + Msg/CreatePermanentLockedAccount response type. + + + Since: cosmos-sdk 0.46 cosmos.vesting.v1beta1.MsgCreateVestingAccountResponse: type: object description: >- MsgCreateVestingAccountResponse defines the Msg/CreateVestingAccount response type. + cosmos.vesting.v1beta1.Period: + type: object + properties: + length: + type: string + format: int64 + description: Period duration in seconds. + amount: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string + description: |- + Coin defines a token with a denomination and an amount. + + NOTE: The amount field is an Int which implements the custom method + signatures required by gogoproto. + description: Period defines a length of time and amount of coins that will vest. DecentralCardGame.cardchain.cardchain.AirDrops: type: object properties: @@ -44968,7 +68755,7 @@ definitions: DecentralCardGame.cardchain.cardchain.BoosterPack: type: object properties: - collectionId: + setId: type: string format: uint64 timeStamp: @@ -44979,6 +68766,15 @@ definitions: items: type: string format: uint64 + title: How often the different rarities will appear in a BoosterPack + dropRatiosPerPack: + type: array + items: + type: string + format: uint64 + title: >- + The chances of the rare beeing a normal rare, an exceptional or a + unique DecentralCardGame.cardchain.cardchain.CStatus: type: string enum: @@ -44987,6 +68783,15 @@ definitions: - active - archived default: design + DecentralCardGame.cardchain.cardchain.CardRarity: + type: string + enum: + - common + - uncommon + - rare + - exceptional + - unique + default: common DecentralCardGame.cardchain.cardchain.CouncelingStatus: type: string enum: @@ -45118,6 +68923,21 @@ definitions: - Draw - Aborted default: AWon + deck: + type: array + items: + type: string + format: uint64 + votedCards: + type: array + items: + type: object + properties: + cardId: + type: string + format: uint64 + voteType: + type: string playerB: type: object properties: @@ -45138,6 +68958,21 @@ definitions: - Draw - Aborted default: AWon + deck: + type: array + items: + type: string + format: uint64 + votedCards: + type: array + items: + type: object + properties: + cardId: + type: string + format: uint64 + voteType: + type: string outcome: type: string enum: @@ -45148,6 +68983,8 @@ definitions: default: AWon coinsDistributed: type: boolean + serverConfirmed: + type: boolean DecentralCardGame.cardchain.cardchain.MatchPlayer: type: object properties: @@ -45168,52 +69005,85 @@ definitions: - Draw - Aborted default: AWon + deck: + type: array + items: + type: string + format: uint64 + votedCards: + type: array + items: + type: object + properties: + cardId: + type: string + format: uint64 + voteType: + type: string DecentralCardGame.cardchain.cardchain.MsgAddArtworkResponse: type: object - DecentralCardGame.cardchain.cardchain.MsgAddArtworkToCollectionResponse: + DecentralCardGame.cardchain.cardchain.MsgAddArtworkToSetResponse: type: object - DecentralCardGame.cardchain.cardchain.MsgAddCardToCollectionResponse: + DecentralCardGame.cardchain.cardchain.MsgAddCardToSetResponse: type: object - DecentralCardGame.cardchain.cardchain.MsgAddContributorToCollectionResponse: + DecentralCardGame.cardchain.cardchain.MsgAddContributorToSetResponse: type: object - DecentralCardGame.cardchain.cardchain.MsgAddStoryToCollectionResponse: + DecentralCardGame.cardchain.cardchain.MsgAddStoryToSetResponse: type: object DecentralCardGame.cardchain.cardchain.MsgApointMatchReporterResponse: type: object + DecentralCardGame.cardchain.cardchain.MsgBuyBoosterPackResponse: + type: object + properties: + airdropClaimed: + type: boolean DecentralCardGame.cardchain.cardchain.MsgBuyCardResponse: type: object DecentralCardGame.cardchain.cardchain.MsgBuyCardSchemeResponse: type: object - DecentralCardGame.cardchain.cardchain.MsgBuyCollectionResponse: - type: object properties: - airdropClaimed: - type: boolean + cardId: + type: string + format: uint64 DecentralCardGame.cardchain.cardchain.MsgChangeArtistResponse: type: object DecentralCardGame.cardchain.cardchain.MsgCommitCouncilResponseResponse: type: object DecentralCardGame.cardchain.cardchain.MsgConfirmMatchResponse: type: object - DecentralCardGame.cardchain.cardchain.MsgCreateCollectionResponse: - type: object DecentralCardGame.cardchain.cardchain.MsgCreateCouncilResponse: type: object DecentralCardGame.cardchain.cardchain.MsgCreateSellOfferResponse: type: object + DecentralCardGame.cardchain.cardchain.MsgCreateSetResponse: + type: object DecentralCardGame.cardchain.cardchain.MsgCreateuserResponse: type: object DecentralCardGame.cardchain.cardchain.MsgDonateToCardResponse: type: object - DecentralCardGame.cardchain.cardchain.MsgFinalizeCollectionResponse: + DecentralCardGame.cardchain.cardchain.MsgFinalizeSetResponse: + type: object + DecentralCardGame.cardchain.cardchain.MsgMultiVoteCardResponse: type: object DecentralCardGame.cardchain.cardchain.MsgOpenBoosterPackResponse: type: object + properties: + cardIds: + type: array + items: + type: string + format: uint64 + DecentralCardGame.cardchain.cardchain.MsgOpenMatchResponse: + type: object + properties: + matchId: + type: string + format: uint64 DecentralCardGame.cardchain.cardchain.MsgRegisterForCouncilResponse: type: object - DecentralCardGame.cardchain.cardchain.MsgRemoveCardFromCollectionResponse: + DecentralCardGame.cardchain.cardchain.MsgRemoveCardFromSetResponse: type: object - DecentralCardGame.cardchain.cardchain.MsgRemoveContributorFromCollectionResponse: + DecentralCardGame.cardchain.cardchain.MsgRemoveContributorFromSetResponse: type: object DecentralCardGame.cardchain.cardchain.MsgRemoveSellOfferResponse: type: object @@ -45236,21 +69106,17 @@ definitions: type: boolean DecentralCardGame.cardchain.cardchain.MsgSetCardRarityResponse: type: object - DecentralCardGame.cardchain.cardchain.MsgSetCollectionArtistResponse: - type: object - DecentralCardGame.cardchain.cardchain.MsgSetCollectionStoryWriterResponse: - type: object DecentralCardGame.cardchain.cardchain.MsgSetProfileCardResponse: type: object - DecentralCardGame.cardchain.cardchain.MsgSetUserBiographyResponse: + DecentralCardGame.cardchain.cardchain.MsgSetSetArtistResponse: type: object - DecentralCardGame.cardchain.cardchain.MsgSetUserWebsiteResponse: + DecentralCardGame.cardchain.cardchain.MsgSetSetNameResponse: type: object - DecentralCardGame.cardchain.cardchain.MsgSubmitCollectionProposalResponse: + DecentralCardGame.cardchain.cardchain.MsgSetSetStoryWriterResponse: type: object - DecentralCardGame.cardchain.cardchain.MsgSubmitCopyrightProposalResponse: + DecentralCardGame.cardchain.cardchain.MsgSetUserBiographyResponse: type: object - DecentralCardGame.cardchain.cardchain.MsgSubmitMatchReporterProposalResponse: + DecentralCardGame.cardchain.cardchain.MsgSetUserWebsiteResponse: type: object DecentralCardGame.cardchain.cardchain.MsgTransferBoosterPackResponse: type: object @@ -45319,7 +69185,22 @@ definitions: nerflevel: type: string format: int64 - DecentralCardGame.cardchain.cardchain.OutpCollection: + balanceAnchor: + type: boolean + hash: + type: string + starterCard: + type: boolean + rarity: + type: string + enum: + - common + - uncommon + - rare + - exceptional + - unique + default: common + DecentralCardGame.cardchain.cardchain.OutpSet: type: object properties: name: @@ -45358,15 +69239,15 @@ definitions: votingRightsExpirationTime: type: string format: int64 - collectionSize: + setSize: type: string format: uint64 - collectionPrice: + setPrice: type: string - activeCollectionsAmount: + activeSetsAmount: type: string format: uint64 - collectionCreationFee: + setCreationFee: type: string collateralDeposit: type: string @@ -45408,6 +69289,18 @@ definitions: votingRewardCap: type: string format: int64 + matchWorkerDelay: + type: string + format: uint64 + rareDropRatio: + type: string + format: uint64 + exceptionalDropRatio: + type: string + format: uint64 + uniqueDropRatio: + type: string + format: uint64 description: Params defines the parameters for the module. DecentralCardGame.cardchain.cardchain.QueryParamsResponse: type: object @@ -45419,15 +69312,15 @@ definitions: votingRightsExpirationTime: type: string format: int64 - collectionSize: + setSize: type: string format: uint64 - collectionPrice: + setPrice: type: string - activeCollectionsAmount: + activeSetsAmount: type: string format: uint64 - collectionCreationFee: + setCreationFee: type: string collateralDeposit: type: string @@ -45469,6 +69362,18 @@ definitions: votingRewardCap: type: string format: int64 + matchWorkerDelay: + type: string + format: uint64 + rareDropRatio: + type: string + format: uint64 + exceptionalDropRatio: + type: string + format: uint64 + uniqueDropRatio: + type: string + format: uint64 description: QueryParamsResponse is response type for the Query/Params RPC method. DecentralCardGame.cardchain.cardchain.QueryQCardContentResponse: type: object @@ -45482,7 +69387,7 @@ definitions: properties: cardAuctionPrice: type: string - activeCollections: + activeSets: type: array items: type: string @@ -45499,6 +69404,9 @@ definitions: councilsNumber: type: string format: uint64 + lastCardModified: + type: string + format: uint64 DecentralCardGame.cardchain.cardchain.QueryQCardsRequest.Status: type: string enum: @@ -45522,14 +69430,6 @@ definitions: items: type: string format: uint64 - DecentralCardGame.cardchain.cardchain.QueryQCollectionsResponse: - type: object - properties: - collectionIds: - type: array - items: - type: string - format: uint64 DecentralCardGame.cardchain.cardchain.QueryQCouncilsResponse: type: object properties: @@ -45629,6 +69529,21 @@ definitions: - Draw - Aborted default: AWon + deck: + type: array + items: + type: string + format: uint64 + votedCards: + type: array + items: + type: object + properties: + cardId: + type: string + format: uint64 + voteType: + type: string playerB: type: object properties: @@ -45649,6 +69564,21 @@ definitions: - Draw - Aborted default: AWon + deck: + type: array + items: + type: string + format: uint64 + votedCards: + type: array + items: + type: object + properties: + cardId: + type: string + format: uint64 + voteType: + type: string outcome: type: string enum: @@ -45659,6 +69589,8 @@ definitions: default: AWon coinsDistributed: type: boolean + serverConfirmed: + type: boolean DecentralCardGame.cardchain.cardchain.QueryQSellOffersResponse: type: object properties: @@ -45688,6 +69620,14 @@ definitions: - sold - removed default: open + DecentralCardGame.cardchain.cardchain.QueryQSetsResponse: + type: object + properties: + setIds: + type: array + items: + type: string + format: uint64 DecentralCardGame.cardchain.cardchain.QueryQVotableCardsResponse: type: object properties: @@ -45757,13 +69697,13 @@ definitions: current: type: array items: - type: string - format: uint64 + type: integer + format: int64 wanted: type: array items: - type: string - format: uint64 + type: integer + format: int64 DecentralCardGame.cardchain.cardchain.Response: type: string enum: @@ -45808,6 +69748,14 @@ definitions: validReports: type: string format: uint64 + DecentralCardGame.cardchain.cardchain.SingleVote: + type: object + properties: + cardId: + type: string + format: uint64 + voteType: + type: string DecentralCardGame.cardchain.cardchain.Status: type: string enum: @@ -45890,7 +69838,7 @@ definitions: items: type: object properties: - collectionId: + setId: type: string format: uint64 timeStamp: @@ -45901,6 +69849,15 @@ definitions: items: type: string format: uint64 + title: How often the different rarities will appear in a BoosterPack + dropRatiosPerPack: + type: array + items: + type: string + format: uint64 + title: >- + The chances of the rare beeing a normal rare, an exceptional or + a unique website: type: string biography: @@ -45997,6 +69954,167 @@ definitions: type: string hash: type: string + DecentralCardGame.cardchain.featureflag.Flag: + type: object + properties: + Module: + type: string + Name: + type: string + Set: + type: boolean + DecentralCardGame.cardchain.featureflag.Params: + type: object + description: Params defines the parameters for the module. + DecentralCardGame.cardchain.featureflag.QueryParamsResponse: + type: object + properties: + params: + description: params holds all the parameters of this module. + type: object + description: QueryParamsResponse is response type for the Query/Params RPC method. + DecentralCardGame.cardchain.featureflag.QueryQFlagResponse: + type: object + properties: + flag: + type: object + properties: + Module: + type: string + Name: + type: string + Set: + type: boolean + DecentralCardGame.cardchain.featureflag.QueryQFlagsResponse: + type: object + properties: + flags: + type: array + items: + type: object + properties: + Module: + type: string + Name: + type: string + Set: + type: boolean + ibc.applications.interchain_accounts.controller.v1.MsgRegisterInterchainAccountResponse: + type: object + properties: + channel_id: + type: string + title: >- + MsgRegisterInterchainAccountResponse defines the response for + Msg/MsgRegisterInterchainAccountResponse + ibc.applications.interchain_accounts.controller.v1.MsgSendTxResponse: + type: object + properties: + sequence: + type: string + format: uint64 + title: MsgSendTxResponse defines the response for MsgSendTx + ibc.applications.interchain_accounts.controller.v1.Params: + type: object + properties: + controller_enabled: + type: boolean + description: controller_enabled enables or disables the controller submodule. + description: |- + Params defines the set of on-chain interchain accounts parameters. + The following parameters may be used to disable the controller submodule. + ibc.applications.interchain_accounts.controller.v1.QueryInterchainAccountResponse: + type: object + properties: + address: + type: string + description: >- + QueryInterchainAccountResponse the response type for the + Query/InterchainAccount RPC method. + ibc.applications.interchain_accounts.controller.v1.QueryParamsResponse: + type: object + properties: + params: + description: params defines the parameters of the module. + type: object + properties: + controller_enabled: + type: boolean + description: controller_enabled enables or disables the controller submodule. + description: QueryParamsResponse is the response type for the Query/Params RPC method. + ibc.applications.interchain_accounts.v1.InterchainAccountPacketData: + type: object + properties: + type: + type: string + enum: + - TYPE_UNSPECIFIED + - TYPE_EXECUTE_TX + default: TYPE_UNSPECIFIED + description: |- + - TYPE_UNSPECIFIED: Default zero value enumeration + - TYPE_EXECUTE_TX: Execute a transaction on an interchain accounts host chain + title: >- + Type defines a classification of message issued from a controller + chain to its associated interchain accounts + + host + data: + type: string + format: byte + memo: + type: string + description: >- + InterchainAccountPacketData is comprised of a raw transaction, type of + transaction and optional memo field. + ibc.applications.interchain_accounts.v1.Type: + type: string + enum: + - TYPE_UNSPECIFIED + - TYPE_EXECUTE_TX + default: TYPE_UNSPECIFIED + description: |- + - TYPE_UNSPECIFIED: Default zero value enumeration + - TYPE_EXECUTE_TX: Execute a transaction on an interchain accounts host chain + title: >- + Type defines a classification of message issued from a controller chain to + its associated interchain accounts + + host + ibc.applications.interchain_accounts.host.v1.Params: + type: object + properties: + host_enabled: + type: boolean + description: host_enabled enables or disables the host submodule. + allow_messages: + type: array + items: + type: string + description: >- + allow_messages defines a list of sdk message typeURLs allowed to be + executed on a host chain. + description: |- + Params defines the set of on-chain interchain accounts parameters. + The following parameters may be used to disable the host submodule. + ibc.applications.interchain_accounts.host.v1.QueryParamsResponse: + type: object + properties: + params: + description: params defines the parameters of the module. + type: object + properties: + host_enabled: + type: boolean + description: host_enabled enables or disables the host submodule. + allow_messages: + type: array + items: + type: string + description: >- + allow_messages defines a list of sdk message typeURLs allowed to + be executed on a host chain. + description: QueryParamsResponse is the response type for the Query/Params RPC method. ibc.applications.transfer.v1.DenomTrace: type: object properties: @@ -46017,6 +70135,11 @@ definitions: source tracing information path. ibc.applications.transfer.v1.MsgTransferResponse: type: object + properties: + sequence: + type: string + format: uint64 + title: sequence number of the transfer packet sent description: MsgTransferResponse defines the Msg/Transfer response type. ibc.applications.transfer.v1.Params: type: object @@ -46044,10 +70167,20 @@ definitions: SendEnabled parameter for the denomination to false. + ibc.applications.transfer.v1.QueryDenomHashResponse: + type: object + properties: + hash: + type: string + description: hash (in hex format) of the denomination trace information. + description: |- + QueryDenomHashResponse is the response type for the Query/DenomHash RPC + method. ibc.applications.transfer.v1.QueryDenomTraceResponse: type: object properties: denom_trace: + description: denom_trace returns the requested denomination trace information. type: object properties: path: @@ -46060,11 +70193,6 @@ definitions: base_denom: type: string description: base denomination of the relayed fungible token. - description: >- - DenomTrace contains the base denomination for ICS20 fungible tokens - and the - - source tracing information path. description: |- QueryDenomTraceResponse is the response type for the Query/DenomTrace RPC method. @@ -46099,9 +70227,10 @@ definitions: next_key: type: string format: byte - title: |- + description: |- next_key is the key to be passed to PageRequest.key to - query the next page most efficiently + query the next page most efficiently. It will be empty if + there are no more results. total: type: string format: uint64 @@ -46114,6 +70243,15 @@ definitions: QueryConnectionsResponse is the response type for the Query/DenomTraces RPC + method. + ibc.applications.transfer.v1.QueryEscrowAddressResponse: + type: object + properties: + escrow_address: + type: string + title: the escrow account address + description: >- + QueryEscrowAddressResponse is the response type of the EscrowAddress RPC method. ibc.applications.transfer.v1.QueryParamsResponse: type: object @@ -46307,6 +70445,21 @@ definitions: identifier fields. ibc.core.channel.v1.MsgAcknowledgementResponse: type: object + properties: + result: + type: string + enum: + - RESPONSE_RESULT_TYPE_UNSPECIFIED + - RESPONSE_RESULT_TYPE_NOOP + - RESPONSE_RESULT_TYPE_SUCCESS + default: RESPONSE_RESULT_TYPE_UNSPECIFIED + description: |- + - RESPONSE_RESULT_TYPE_UNSPECIFIED: Default zero value enumeration + - RESPONSE_RESULT_TYPE_NOOP: The message did not call the IBC application callbacks (because, for example, the packet had already been relayed) + - RESPONSE_RESULT_TYPE_SUCCESS: The message was executed successfully + title: >- + ResponseResultType defines the possible outcomes of the execution of a + message description: MsgAcknowledgementResponse defines the Msg/Acknowledgement response type. ibc.core.channel.v1.MsgChannelCloseConfirmResponse: type: object @@ -46330,18 +70483,71 @@ definitions: type. ibc.core.channel.v1.MsgChannelOpenInitResponse: type: object + properties: + channel_id: + type: string + version: + type: string description: MsgChannelOpenInitResponse defines the Msg/ChannelOpenInit response type. ibc.core.channel.v1.MsgChannelOpenTryResponse: type: object + properties: + version: + type: string description: MsgChannelOpenTryResponse defines the Msg/ChannelOpenTry response type. ibc.core.channel.v1.MsgRecvPacketResponse: type: object + properties: + result: + type: string + enum: + - RESPONSE_RESULT_TYPE_UNSPECIFIED + - RESPONSE_RESULT_TYPE_NOOP + - RESPONSE_RESULT_TYPE_SUCCESS + default: RESPONSE_RESULT_TYPE_UNSPECIFIED + description: |- + - RESPONSE_RESULT_TYPE_UNSPECIFIED: Default zero value enumeration + - RESPONSE_RESULT_TYPE_NOOP: The message did not call the IBC application callbacks (because, for example, the packet had already been relayed) + - RESPONSE_RESULT_TYPE_SUCCESS: The message was executed successfully + title: >- + ResponseResultType defines the possible outcomes of the execution of a + message description: MsgRecvPacketResponse defines the Msg/RecvPacket response type. ibc.core.channel.v1.MsgTimeoutOnCloseResponse: type: object + properties: + result: + type: string + enum: + - RESPONSE_RESULT_TYPE_UNSPECIFIED + - RESPONSE_RESULT_TYPE_NOOP + - RESPONSE_RESULT_TYPE_SUCCESS + default: RESPONSE_RESULT_TYPE_UNSPECIFIED + description: |- + - RESPONSE_RESULT_TYPE_UNSPECIFIED: Default zero value enumeration + - RESPONSE_RESULT_TYPE_NOOP: The message did not call the IBC application callbacks (because, for example, the packet had already been relayed) + - RESPONSE_RESULT_TYPE_SUCCESS: The message was executed successfully + title: >- + ResponseResultType defines the possible outcomes of the execution of a + message description: MsgTimeoutOnCloseResponse defines the Msg/TimeoutOnClose response type. ibc.core.channel.v1.MsgTimeoutResponse: type: object + properties: + result: + type: string + enum: + - RESPONSE_RESULT_TYPE_UNSPECIFIED + - RESPONSE_RESULT_TYPE_NOOP + - RESPONSE_RESULT_TYPE_SUCCESS + default: RESPONSE_RESULT_TYPE_UNSPECIFIED + description: |- + - RESPONSE_RESULT_TYPE_UNSPECIFIED: Default zero value enumeration + - RESPONSE_RESULT_TYPE_NOOP: The message did not call the IBC application callbacks (because, for example, the packet had already been relayed) + - RESPONSE_RESULT_TYPE_SUCCESS: The message was executed successfully + title: >- + ResponseResultType defines the possible outcomes of the execution of a + message description: MsgTimeoutResponse defines the Msg/Timeout response type. ibc.core.channel.v1.Order: type: string @@ -46453,6 +70659,7 @@ definitions: type: string title: client identifier client_state: + title: client state type: object properties: '@type': @@ -46615,7 +70822,6 @@ definitions: "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" } - title: client state description: |- IdentifiedClientState defines a client state with an additional client identifier field. @@ -46658,6 +70864,7 @@ definitions: type: object properties: consensus_state: + title: consensus state associated with the channel type: object properties: '@type': @@ -46814,7 +71021,6 @@ definitions: "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" } - title: consensus state associated with the channel client_id: type: string title: client ID associated with the consensus state @@ -47049,9 +71255,10 @@ definitions: next_key: type: string format: byte - title: |- + description: |- next_key is the key to be passed to PageRequest.key to - query the next page most efficiently + query the next page most efficiently. It will be empty if + there are no more results. total: type: string format: uint64 @@ -47184,9 +71391,10 @@ definitions: next_key: type: string format: byte - title: |- + description: |- next_key is the key to be passed to PageRequest.key to - query the next page most efficiently + query the next page most efficiently. It will be empty if + there are no more results. total: type: string format: uint64 @@ -47357,9 +71565,10 @@ definitions: next_key: type: string format: byte - title: |- + description: |- next_key is the key to be passed to PageRequest.key to - query the next page most efficiently + query the next page most efficiently. It will be empty if + there are no more results. total: type: string format: uint64 @@ -47491,9 +71700,10 @@ definitions: next_key: type: string format: byte - title: |- + description: |- next_key is the key to be passed to PageRequest.key to - query the next page most efficiently + query the next page most efficiently. It will be empty if + there are no more results. total: type: string format: uint64 @@ -47666,6 +71876,20 @@ definitions: title: |- QueryUnreceivedPacketsResponse is the response type for the Query/UnreceivedPacketCommitments RPC method + ibc.core.channel.v1.ResponseResultType: + type: string + enum: + - RESPONSE_RESULT_TYPE_UNSPECIFIED + - RESPONSE_RESULT_TYPE_NOOP + - RESPONSE_RESULT_TYPE_SUCCESS + default: RESPONSE_RESULT_TYPE_UNSPECIFIED + description: |- + - RESPONSE_RESULT_TYPE_UNSPECIFIED: Default zero value enumeration + - RESPONSE_RESULT_TYPE_NOOP: The message did not call the IBC application callbacks (because, for example, the packet had already been relayed) + - RESPONSE_RESULT_TYPE_SUCCESS: The message was executed successfully + title: >- + ResponseResultType defines the possible outcomes of the execution of a + message ibc.core.channel.v1.State: type: string enum: @@ -47693,6 +71917,7 @@ definitions: type: string title: client identifier client_state: + title: client state type: object properties: '@type': @@ -47849,7 +72074,6 @@ definitions: "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" } - title: client state description: |- IdentifiedClientState defines a client state with an additional client identifier field. @@ -47885,6 +72109,7 @@ definitions: gets reset consensus_state: + title: consensus state type: object properties: '@type': @@ -48041,7 +72266,6 @@ definitions: "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" } - title: consensus state description: >- ConsensusStateWithHeight defines a consensus state with an additional height @@ -48091,6 +72315,7 @@ definitions: type: object properties: client_state: + title: client state associated with the request identifier type: object properties: '@type': @@ -48247,7 +72472,6 @@ definitions: "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" } - title: client state associated with the request identifier proof: type: string format: byte @@ -48299,6 +72523,7 @@ definitions: type: string title: client identifier client_state: + title: client state type: object properties: '@type': @@ -48465,7 +72690,6 @@ definitions: "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" } - title: client state description: >- IdentifiedClientState defines a client state with an additional client @@ -48479,9 +72703,10 @@ definitions: next_key: type: string format: byte - title: |- + description: |- next_key is the key to be passed to PageRequest.key to - query the next page most efficiently + query the next page most efficiently. It will be empty if + there are no more results. total: type: string format: uint64 @@ -48513,10 +72738,84 @@ definitions: RPC method. It returns the current status of the IBC client. + ibc.core.client.v1.QueryConsensusStateHeightsResponse: + type: object + properties: + consensus_state_heights: + type: array + items: + type: object + properties: + revision_number: + type: string + format: uint64 + title: the revision that the client is currently on + revision_height: + type: string + format: uint64 + title: the height within the given revision + description: >- + Normally the RevisionHeight is incremented at each height while + keeping + + RevisionNumber the same. However some consensus algorithms may + choose to + + reset the height in certain conditions e.g. hard forks, + state-machine + + breaking changes In these cases, the RevisionNumber is incremented + so that + + height continues to be monitonically increasing even as the + RevisionHeight + + gets reset + title: >- + Height is a monotonically increasing data type + + that can be compared against another Height for the purposes of + updating and + + freezing clients + title: consensus state heights + pagination: + title: pagination response + type: object + properties: + next_key: + type: string + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + total: + type: string + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total + + was set, its value is undefined otherwise + description: |- + PageResponse is to be embedded in gRPC response messages where the + corresponding request message has used PageRequest. + + message SomeResponse { + repeated Bar results = 1; + PageResponse page = 2; + } + title: |- + QueryConsensusStateHeightsResponse is the response type for the + Query/ConsensusStateHeights RPC method ibc.core.client.v1.QueryConsensusStateResponse: type: object properties: consensus_state: + title: >- + consensus state associated with the client identifier at the given + height type: object properties: '@type': @@ -48673,9 +72972,6 @@ definitions: "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" } - title: >- - consensus state associated with the client identifier at the given - height proof: type: string format: byte @@ -48751,6 +73047,7 @@ definitions: gets reset consensus_state: + title: consensus state type: object properties: '@type': @@ -48917,7 +73214,6 @@ definitions: "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" } - title: consensus state description: >- ConsensusStateWithHeight defines a consensus state with an additional height @@ -48931,9 +73227,10 @@ definitions: next_key: type: string format: byte - title: |- + description: |- next_key is the key to be passed to PageRequest.key to - query the next page most efficiently + query the next page most efficiently. It will be empty if + there are no more results. total: type: string format: uint64 @@ -48957,6 +73254,7 @@ definitions: type: object properties: upgraded_client_state: + title: client state associated with the request identifier type: object properties: '@type': @@ -49113,7 +73411,6 @@ definitions: "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" } - title: client state associated with the request identifier description: |- QueryUpgradedClientStateResponse is the response type for the Query/UpgradedClientState RPC method. @@ -49121,6 +73418,7 @@ definitions: type: object properties: upgraded_consensus_state: + title: Consensus state associated with the request identifier type: object properties: '@type': @@ -49277,7 +73575,6 @@ definitions: "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" } - title: Consensus state associated with the request identifier description: |- QueryUpgradedConsensusStateResponse is the response type for the Query/UpgradedConsensusState RPC method. @@ -49510,6 +73807,21 @@ definitions: description: >- MsgConnectionOpenTryResponse defines the Msg/ConnectionOpenTry response type. + ibc.core.connection.v1.Params: + type: object + properties: + max_expected_time_per_block: + type: string + format: uint64 + description: >- + maximum expected time per block (in nanoseconds), used to enforce + block delay. This parameter should reflect the + + largest amount of time that the chain might reasonably take to produce + the next block under normal operating + + conditions. A safe choice is 3-5x the expected time per block. + description: Params defines the set of Connection parameters. ibc.core.connection.v1.QueryClientConnectionsResponse: type: object properties: @@ -49564,6 +73876,7 @@ definitions: type: string title: client identifier client_state: + title: client state type: object properties: '@type': @@ -49726,7 +74039,6 @@ definitions: "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" } - title: client state description: |- IdentifiedClientState defines a client state with an additional client identifier field. @@ -49769,6 +74081,7 @@ definitions: type: object properties: consensus_state: + title: consensus state associated with the channel type: object properties: '@type': @@ -49925,7 +74238,6 @@ definitions: "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" } - title: consensus state associated with the channel client_id: type: string title: client ID associated with the consensus state @@ -49964,6 +74276,27 @@ definitions: title: |- QueryConnectionConsensusStateResponse is the response type for the Query/ConnectionConsensusState RPC method + ibc.core.connection.v1.QueryConnectionParamsResponse: + type: object + properties: + params: + description: params defines the parameters of the module. + type: object + properties: + max_expected_time_per_block: + type: string + format: uint64 + description: >- + maximum expected time per block (in nanoseconds), used to enforce + block delay. This parameter should reflect the + + largest amount of time that the chain might reasonably take to + produce the next block under normal operating + + conditions. A safe choice is 3-5x the expected time per block. + description: >- + QueryConnectionParamsResponse is the response type for the + Query/ConnectionParams RPC method. ibc.core.connection.v1.QueryConnectionResponse: type: object properties: @@ -50190,9 +74523,10 @@ definitions: next_key: type: string format: byte - title: |- + description: |- next_key is the key to be passed to PageRequest.key to - query the next page most efficiently + query the next page most efficiently. It will be empty if + there are no more results. total: type: string format: uint64 diff --git a/go.mod b/go.mod index df5bf9ab..47a7ffe3 100644 --- a/go.mod +++ b/go.mod @@ -1,130 +1,174 @@ module github.com/DecentralCardGame/Cardchain -go 1.19 +go 1.21 require ( - github.com/DecentralCardGame/cardobject v0.4.13 - github.com/cosmos/cosmos-sdk v0.44.5 - github.com/cosmos/ibc-go v1.2.2 + cosmossdk.io/errors v1.0.0-beta.7 + github.com/DecentralCardGame/cardobject v0.5.0 + github.com/cosmos/cosmos-sdk v0.46.15 + github.com/cosmos/ibc-go/v6 v6.1.0 github.com/gogo/protobuf v1.3.3 - github.com/golang/protobuf v1.5.2 + github.com/golang/protobuf v1.5.3 github.com/gorilla/mux v1.8.0 github.com/grpc-ecosystem/grpc-gateway v1.16.0 - github.com/spf13/cast v1.3.1 - github.com/spf13/cobra v1.2.1 - github.com/stretchr/testify v1.7.0 + github.com/spf13/cast v1.5.0 + github.com/spf13/cobra v1.6.1 + github.com/spf13/pflag v1.0.5 + github.com/stretchr/testify v1.8.4 github.com/tendermint/spm v0.1.9 - github.com/tendermint/tendermint v0.34.14 - github.com/tendermint/tm-db v0.6.4 - golang.org/x/exp v0.0.0-20220314205449-43aec2f8a4e7 - google.golang.org/genproto v0.0.0-20221207170731-23e4bf6bdc37 - google.golang.org/grpc v1.51.0 + github.com/tendermint/tendermint v0.34.29 + github.com/tendermint/tm-db v0.6.7 + golang.org/x/exp v0.0.0-20230310171629-522b1b587ee0 + google.golang.org/genproto/googleapis/api v0.0.0-20230822172742-b8732ec3820d + google.golang.org/grpc v1.58.0 gopkg.in/yaml.v2 v2.4.0 ) require ( - filippo.io/edwards25519 v1.0.0-beta.2 // indirect - github.com/99designs/keyring v1.1.6 // indirect - github.com/ChainSafe/go-schnorrkel v0.0.0-20200405005733-88cbf1b4c40d // indirect - github.com/DataDog/zstd v1.4.5 // indirect - github.com/Workiva/go-datastructures v1.0.52 // indirect - github.com/armon/go-metrics v0.3.9 // indirect + cloud.google.com/go v0.110.6 // indirect + cloud.google.com/go/compute v1.23.0 // indirect + cloud.google.com/go/compute/metadata v0.2.3 // indirect + cloud.google.com/go/iam v1.1.1 // indirect + cloud.google.com/go/storage v1.30.1 // indirect + cosmossdk.io/math v1.0.0-rc.0 // indirect + filippo.io/edwards25519 v1.0.0-rc.1 // indirect + github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 // indirect + github.com/99designs/keyring v1.2.1 // indirect + github.com/ChainSafe/go-schnorrkel v1.0.0 // indirect + github.com/Workiva/go-datastructures v1.0.53 // indirect + github.com/armon/go-metrics v0.4.1 // indirect + github.com/aws/aws-sdk-go v1.44.122 // indirect github.com/beorn7/perks v1.0.1 // indirect + github.com/bgentry/go-netrc v0.0.0-20140422174119-9fd32a8b3d3d // indirect github.com/bgentry/speakeasy v0.1.0 // indirect - github.com/btcsuite/btcd v0.22.0-beta // indirect + github.com/btcsuite/btcd/btcec/v2 v2.3.2 // indirect + github.com/cenkalti/backoff/v4 v4.1.3 // indirect github.com/cespare/xxhash v1.1.0 // indirect - github.com/cespare/xxhash/v2 v2.1.1 // indirect - github.com/coinbase/rosetta-sdk-go v0.6.10 // indirect - github.com/confio/ics23/go v0.6.6 // indirect - github.com/cosmos/btcutil v1.0.4 // indirect + github.com/cespare/xxhash/v2 v2.2.0 // indirect + github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e // indirect + github.com/cockroachdb/apd/v2 v2.0.2 // indirect + github.com/coinbase/rosetta-sdk-go v0.7.9 // indirect + github.com/cometbft/cometbft-db v0.7.0 // indirect + github.com/confio/ics23/go v0.9.0 // indirect + github.com/cosmos/btcutil v1.0.5 // indirect + github.com/cosmos/cosmos-proto v1.0.0-alpha8 // indirect github.com/cosmos/go-bip39 v1.0.0 // indirect - github.com/cosmos/iavl v0.17.3 // indirect - github.com/cosmos/ledger-cosmos-go v0.11.1 // indirect - github.com/cosmos/ledger-go v0.9.2 // indirect - github.com/danieljoos/wincred v1.0.2 // indirect + github.com/cosmos/gorocksdb v1.2.0 // indirect + github.com/cosmos/iavl v0.19.6 // indirect + github.com/cosmos/ledger-cosmos-go v0.12.2 // indirect + github.com/creachadair/taskgroup v0.3.2 // indirect + github.com/danieljoos/wincred v1.1.2 // indirect github.com/davecgh/go-spew v1.1.1 // indirect + github.com/decred/dcrd/dcrec/secp256k1/v4 v4.1.0 // indirect github.com/desertbit/timer v0.0.0-20180107155436-c41aec40b27f // indirect - github.com/dgraph-io/badger/v2 v2.2007.2 // indirect - github.com/dgraph-io/ristretto v0.0.3 // indirect + github.com/dgraph-io/badger/v2 v2.2007.4 // indirect + github.com/dgraph-io/ristretto v0.1.0 // indirect github.com/dgryski/go-farm v0.0.0-20200201041132-a6ae2369ad13 // indirect - github.com/dustin/go-humanize v1.0.0 // indirect - github.com/dvsekhvalnov/jose2go v0.0.0-20200901110807-248326c1351b // indirect + github.com/dustin/go-humanize v1.0.1-0.20200219035652-afde56e7acac // indirect + github.com/dvsekhvalnov/jose2go v1.5.0 // indirect github.com/fatih/camelcase v1.0.0 // indirect - github.com/felixge/httpsnoop v1.0.1 // indirect - github.com/fsnotify/fsnotify v1.4.9 // indirect - github.com/go-kit/kit v0.10.0 // indirect - github.com/go-logfmt/logfmt v0.5.0 // indirect + github.com/felixge/httpsnoop v1.0.2 // indirect + github.com/fsnotify/fsnotify v1.6.0 // indirect + github.com/go-kit/kit v0.12.0 // indirect + github.com/go-kit/log v0.2.1 // indirect + github.com/go-logfmt/logfmt v0.5.1 // indirect + github.com/go-playground/validator/v10 v10.4.1 // indirect github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2 // indirect github.com/gogo/gateway v1.1.0 // indirect - github.com/golang/snappy v0.0.3 // indirect - github.com/google/btree v1.0.0 // indirect + github.com/golang/glog v1.1.2 // indirect + github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect + github.com/golang/snappy v0.0.4 // indirect + github.com/google/btree v1.1.2 // indirect github.com/google/go-cmp v0.5.9 // indirect github.com/google/orderedcode v0.0.1 // indirect + github.com/google/s2a-go v0.1.4 // indirect + github.com/google/uuid v1.3.0 // indirect + github.com/googleapis/enterprise-certificate-proxy v0.2.3 // indirect + github.com/googleapis/gax-go/v2 v2.11.0 // indirect github.com/gorilla/handlers v1.5.1 // indirect - github.com/gorilla/websocket v1.4.2 // indirect + github.com/gorilla/websocket v1.5.0 // indirect github.com/grpc-ecosystem/go-grpc-middleware v1.3.0 // indirect github.com/gsterjov/go-libsecret v0.0.0-20161001094733-a6f4afe4910c // indirect github.com/gtank/merlin v0.1.1 // indirect github.com/gtank/ristretto255 v0.1.2 // indirect - github.com/hashicorp/go-immutable-radix v1.0.0 // indirect - github.com/hashicorp/golang-lru v0.5.4 // indirect + github.com/hashicorp/go-cleanhttp v0.5.2 // indirect + github.com/hashicorp/go-getter v1.7.0 // indirect + github.com/hashicorp/go-immutable-radix v1.3.1 // indirect + github.com/hashicorp/go-safetemp v1.0.0 // indirect + github.com/hashicorp/go-version v1.6.0 // indirect + github.com/hashicorp/golang-lru v0.5.5-0.20210104140557-80c98217689d // indirect github.com/hashicorp/hcl v1.0.0 // indirect - github.com/hdevalence/ed25519consensus v0.0.0-20210204194344-59a8610d2b87 // indirect + github.com/hdevalence/ed25519consensus v0.0.0-20220222234857-c00d1f31bab3 // indirect github.com/iancoleman/orderedmap v0.2.0 // indirect - github.com/improbable-eng/grpc-web v0.14.1 // indirect - github.com/inconshreveable/mousetrap v1.0.0 // indirect + github.com/improbable-eng/grpc-web v0.15.0 // indirect + github.com/inconshreveable/mousetrap v1.0.1 // indirect + github.com/jmespath/go-jmespath v0.4.0 // indirect github.com/jmhodges/levigo v1.0.0 // indirect - github.com/keybase/go-keychain v0.0.0-20190712205309-48d3d31d256d // indirect - github.com/klauspost/compress v1.11.7 // indirect - github.com/lib/pq v1.10.2 // indirect - github.com/libp2p/go-buffer-pool v0.0.2 // indirect - github.com/magiconair/properties v1.8.5 // indirect - github.com/mattn/go-isatty v0.0.14 // indirect - github.com/matttproud/golang_protobuf_extensions v1.0.1 // indirect - github.com/mimoo/StrobeGo v0.0.0-20181016162300-f8f6d4d2b643 // indirect - github.com/minio/highwayhash v1.0.1 // indirect + github.com/klauspost/compress v1.16.0 // indirect + github.com/lib/pq v1.10.7 // indirect + github.com/libp2p/go-buffer-pool v0.1.0 // indirect + github.com/magiconair/properties v1.8.6 // indirect + github.com/manifoldco/promptui v0.9.0 // indirect + github.com/mattn/go-colorable v0.1.13 // indirect + github.com/mattn/go-isatty v0.0.18 // indirect + github.com/matttproud/golang_protobuf_extensions v1.0.4 // indirect + github.com/mimoo/StrobeGo v0.0.0-20210601165009-122bf33a46e0 // indirect + github.com/minio/highwayhash v1.0.2 // indirect github.com/mitchellh/go-homedir v1.1.0 // indirect - github.com/mitchellh/mapstructure v1.4.1 // indirect + github.com/mitchellh/go-testing-interface v1.14.1 // indirect + github.com/mitchellh/mapstructure v1.5.0 // indirect github.com/mtibben/percent v0.2.1 // indirect - github.com/pelletier/go-toml v1.9.3 // indirect - github.com/petermattis/goid v0.0.0-20180202154549-b0b1615b78e5 // indirect + github.com/pelletier/go-toml v1.9.5 // indirect + github.com/pelletier/go-toml/v2 v2.0.7 // indirect + github.com/petermattis/goid v0.0.0-20230317030725-371a4b8eda08 // indirect github.com/pkg/errors v0.9.1 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect - github.com/prometheus/client_golang v1.11.0 // indirect - github.com/prometheus/client_model v0.2.0 // indirect - github.com/prometheus/common v0.29.0 // indirect - github.com/prometheus/procfs v0.6.0 // indirect + github.com/prometheus/client_golang v1.14.0 // indirect + github.com/prometheus/client_model v0.3.0 // indirect + github.com/prometheus/common v0.42.0 // indirect + github.com/prometheus/procfs v0.9.0 // indirect github.com/rakyll/statik v0.1.7 // indirect - github.com/rcrowley/go-metrics v0.0.0-20200313005456-10cdbea86bc0 // indirect + github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // indirect github.com/regen-network/cosmos-proto v0.3.1 // indirect - github.com/rs/cors v1.7.0 // indirect - github.com/rs/zerolog v1.23.0 // indirect - github.com/sasha-s/go-deadlock v0.2.1-0.20190427202633-1595213edefa // indirect - github.com/spf13/afero v1.6.0 // indirect + github.com/rs/cors v1.8.2 // indirect + github.com/rs/zerolog v1.29.1 // indirect + github.com/sasha-s/go-deadlock v0.3.1 // indirect + github.com/spf13/afero v1.9.2 // indirect github.com/spf13/jwalterweatherman v1.1.0 // indirect - github.com/spf13/pflag v1.0.5 // indirect - github.com/spf13/viper v1.8.1 // indirect - github.com/subosito/gotenv v1.2.0 // indirect - github.com/syndtr/goleveldb v1.0.1-0.20200815110645-5c35d600f0ca // indirect + github.com/spf13/viper v1.14.0 // indirect + github.com/subosito/gotenv v1.4.1 // indirect + github.com/syndtr/goleveldb v1.0.1-0.20220721030215-126854af5e6d // indirect github.com/tecbot/gorocksdb v0.0.0-20191217155057-f0fad39f321c // indirect - github.com/tendermint/btcd v0.1.1 // indirect - github.com/tendermint/crypto v0.0.0-20191022145703-50d29ede1e15 // indirect github.com/tendermint/go-amino v0.16.0 // indirect - github.com/zondax/hid v0.9.0 // indirect - go.etcd.io/bbolt v1.3.5 // indirect - golang.org/x/crypto v0.0.0-20210817164053-32db794688a5 // indirect - golang.org/x/net v0.3.0 // indirect - golang.org/x/sys v0.3.0 // indirect - golang.org/x/term v0.3.0 // indirect - golang.org/x/text v0.5.0 // indirect - google.golang.org/protobuf v1.28.1 // indirect - gopkg.in/ini.v1 v1.62.0 // indirect + github.com/tidwall/btree v1.5.0 // indirect + github.com/ulikunitz/xz v0.5.10 // indirect + github.com/zondax/hid v0.9.1 // indirect + github.com/zondax/ledger-go v0.14.1 // indirect + go.etcd.io/bbolt v1.3.6 // indirect + go.opencensus.io v0.24.0 // indirect + golang.org/x/crypto v0.13.0 // indirect + golang.org/x/net v0.15.0 // indirect + golang.org/x/oauth2 v0.12.0 // indirect + golang.org/x/sync v0.3.0 // indirect + golang.org/x/sys v0.12.0 // indirect + golang.org/x/term v0.12.0 // indirect + golang.org/x/text v0.13.0 // indirect + golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect + google.golang.org/api v0.126.0 // indirect + google.golang.org/appengine v1.6.7 // indirect + google.golang.org/genproto v0.0.0-20230803162519-f966b187b2e5 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20230822172742-b8732ec3820d // indirect + google.golang.org/protobuf v1.31.0 // indirect + gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect - nhooyr.io/websocket v1.8.6 // indirect + nhooyr.io/websocket v1.8.7 // indirect + sigs.k8s.io/yaml v1.3.0 // indirect ) -replace ( - github.com/gogo/protobuf => github.com/regen-network/protobuf v1.3.3-alpha.regen.1 - github.com/keybase/go-keychain => github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 - google.golang.org/grpc => google.golang.org/grpc v1.33.2 -) +// replace broken goleveldb +replace github.com/syndtr/goleveldb => github.com/syndtr/goleveldb v1.0.1-0.20210819022825-2ae1ddf74ef7 + +replace github.com/gogo/protobuf => github.com/regen-network/protobuf v1.3.3-alpha.regen.1 + +// use cometbft +replace github.com/tendermint/tendermint => github.com/cometbft/cometbft v0.34.29 diff --git a/go.sum b/go.sum index eaf1611e..defc3952 100644 --- a/go.sum +++ b/go.sum @@ -1,13 +1,24 @@ 4d63.com/gochecknoglobals v0.0.0-20201008074935-acfc0b28355a/go.mod h1:wfdC5ZjKSPr7CybKEcgJhUOgeAQW1+7WcyK8OvUilfo= +4d63.com/gochecknoglobals v0.1.0/go.mod h1:wfdC5ZjKSPr7CybKEcgJhUOgeAQW1+7WcyK8OvUilfo= bazil.org/fuse v0.0.0-20160811212531-371fbbdaa898/go.mod h1:Xbm+BRKSBEpa4q4hTSxohYNQpsxXPbPry4JJWOB3LB8= +bazil.org/fuse v0.0.0-20180421153158-65cc252bf669/go.mod h1:Xbm+BRKSBEpa4q4hTSxohYNQpsxXPbPry4JJWOB3LB8= +bazil.org/fuse v0.0.0-20200407214033-5883e5a4b512/go.mod h1:FbcW6z/2VytnFDhZfumh8Ss8zxHE6qpMP5sHTRe0EaM= bitbucket.org/creachadair/shell v0.0.6/go.mod h1:8Qqi/cYk7vPnsOePHroKXDJYmb5x7ENhtiFtfZq8K+M= +cloud.google.com/go v0.25.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +cloud.google.com/go v0.31.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +cloud.google.com/go v0.37.2/go.mod h1:H8IAquKe2L30IxoupDgqTaQvKSwF/c8prYHynGIWQbA= cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU= +cloud.google.com/go v0.39.0/go.mod h1:rVLT6fkc8chs9sfPtFc1SBH6em7n+ZoXaG+87tDISts= +cloud.google.com/go v0.43.0/go.mod h1:BOSR3VbTLkk6FDC/TcffxP4NF/FFBGA5ku+jvKOP7pg= cloud.google.com/go v0.44.1/go.mod h1:iSa0KzasP4Uvy3f1mN/7PiObzGgflwredwwASm/v6AU= cloud.google.com/go v0.44.2/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= +cloud.google.com/go v0.44.3/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= cloud.google.com/go v0.45.1/go.mod h1:RpBamKRgapWJb87xiFSdk4g1CME7QZg3uwTez+TSTjc= cloud.google.com/go v0.46.3/go.mod h1:a6bKKbmY7er1mI7TEI4lsAkts/mkhTSZK8w33B4RAg0= cloud.google.com/go v0.50.0/go.mod h1:r9sluTvynVuxRIOHXQEHMFffphuXHOMZMycpNR5e6To= +cloud.google.com/go v0.51.0/go.mod h1:hWtGJ6gnXH+KgDv+V0zFGDvpi07n3z8ZNj3T1RW0Gcw= cloud.google.com/go v0.52.0/go.mod h1:pXajvRH/6o3+F9jDHZWQ5PbGhn+o8w9qiu/CffaVdO4= cloud.google.com/go v0.53.0/go.mod h1:fp/UouUEsRkN6ryDKNW/Upv/JBKnv6WDthjR6+vze6M= cloud.google.com/go v0.54.0/go.mod h1:1rq2OEkV3YMf6n/9ZvGWI3GWw0VoqH/1x2nd8Is/bPc= @@ -18,148 +29,811 @@ cloud.google.com/go v0.62.0/go.mod h1:jmCYTdRCQuc1PHIIJ/maLInMho30T/Y0M4hTdTShOY cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHObY= cloud.google.com/go v0.72.0/go.mod h1:M+5Vjvlc2wnp6tjzE102Dw08nGShTscUx2nZMufOKPI= cloud.google.com/go v0.74.0/go.mod h1:VV1xSbzvo+9QJOxLDaJfTjx5e+MePCpCWwvftOeQmWk= +cloud.google.com/go v0.75.0/go.mod h1:VGuuCn7PG0dwsd5XPVm2Mm3wlh3EL55/79EKB6hlPTY= cloud.google.com/go v0.78.0/go.mod h1:QjdrLG0uq+YwhjoVOLsS1t7TW8fs36kLs4XO5R5ECHg= cloud.google.com/go v0.79.0/go.mod h1:3bzgcEeQlzbuEAYu4mrWhKqWjmpprinYgKJLgKHnbb8= cloud.google.com/go v0.81.0/go.mod h1:mk/AM35KwGk/Nm2YSeZbxXdrNK3KZOYHmLkOqC2V6E0= +cloud.google.com/go v0.83.0/go.mod h1:Z7MJUsANfY0pYPdw0lbnivPx4/vhy/e2FEkSkF7vAVY= +cloud.google.com/go v0.84.0/go.mod h1:RazrYuxIK6Kb7YrzzhPoLmCVzl7Sup4NrbKPg8KHSUM= +cloud.google.com/go v0.87.0/go.mod h1:TpDYlFy7vuLzZMMZ+B6iRiELaY7z/gJPaqbMx6mlWcY= +cloud.google.com/go v0.90.0/go.mod h1:kRX0mNRHe0e2rC6oNakvwQqzyDmg57xJ+SZU1eT2aDQ= +cloud.google.com/go v0.93.3/go.mod h1:8utlLll2EF5XMAV15woO4lSbWQlk8rer9aLOfLh7+YI= +cloud.google.com/go v0.94.1/go.mod h1:qAlAugsXlC+JWO+Bke5vCtc9ONxjQT3drlTTnAplMW4= +cloud.google.com/go v0.97.0/go.mod h1:GF7l59pYBVlXQIBLx3a761cZ41F9bBH3JUlihCt2Udc= +cloud.google.com/go v0.98.0/go.mod h1:ua6Ush4NALrHk5QXDWnjvZHN93OuF0HfuEPq9I1X0cM= +cloud.google.com/go v0.99.0/go.mod h1:w0Xx2nLzqWJPuozYQX+hFfCSI8WioryfRDzkoI/Y2ZA= +cloud.google.com/go v0.100.2/go.mod h1:4Xra9TjzAeYHrl5+oeLlzbM2k3mjVhZh4UqTZ//w99A= +cloud.google.com/go v0.102.0/go.mod h1:oWcCzKlqJ5zgHQt9YsaeTY9KzIvjyy0ArmiBUgpQ+nc= +cloud.google.com/go v0.102.1/go.mod h1:XZ77E9qnTEnrgEOvr4xzfdX5TRo7fB4T2F4O6+34hIU= +cloud.google.com/go v0.104.0/go.mod h1:OO6xxXdJyvuJPcEPBLN9BJPD+jep5G1+2U5B5gkRYtA= +cloud.google.com/go v0.105.0/go.mod h1:PrLgOJNe5nfE9UMxKxgXj4mD3voiP+YQ6gdt6KMFOKM= +cloud.google.com/go v0.110.6 h1:8uYAkj3YHTP/1iwReuHPxLSbdcyc+dSBbzFMrVwDR6Q= +cloud.google.com/go v0.110.6/go.mod h1:+EYjdK8e5RME/VY/qLCAtuyALQ9q67dvuum8i+H5xsI= +cloud.google.com/go/accessapproval v1.4.0/go.mod h1:zybIuC3KpDOvotz59lFe5qxRZx6C75OtwbisN56xYB4= +cloud.google.com/go/accessapproval v1.5.0/go.mod h1:HFy3tuiGvMdcd/u+Cu5b9NkO1pEICJ46IR82PoUdplw= +cloud.google.com/go/accessapproval v1.7.1/go.mod h1:JYczztsHRMK7NTXb6Xw+dwbs/WnOJxbo/2mTI+Kgg68= +cloud.google.com/go/accesscontextmanager v1.3.0/go.mod h1:TgCBehyr5gNMz7ZaH9xubp+CE8dkrszb4oK9CWyvD4o= +cloud.google.com/go/accesscontextmanager v1.4.0/go.mod h1:/Kjh7BBu/Gh83sv+K60vN9QE5NJcd80sU33vIe2IFPE= +cloud.google.com/go/accesscontextmanager v1.8.1/go.mod h1:JFJHfvuaTC+++1iL1coPiG1eu5D24db2wXCDWDjIrxo= +cloud.google.com/go/aiplatform v1.22.0/go.mod h1:ig5Nct50bZlzV6NvKaTwmplLLddFx0YReh9WfTO5jKw= +cloud.google.com/go/aiplatform v1.24.0/go.mod h1:67UUvRBKG6GTayHKV8DBv2RtR1t93YRu5B1P3x99mYY= +cloud.google.com/go/aiplatform v1.48.0/go.mod h1:Iu2Q7sC7QGhXUeOhAj/oCK9a+ULz1O4AotZiqjQ8MYA= +cloud.google.com/go/analytics v0.11.0/go.mod h1:DjEWCu41bVbYcKyvlws9Er60YE4a//bK6mnhWvQeFNI= +cloud.google.com/go/analytics v0.12.0/go.mod h1:gkfj9h6XRf9+TS4bmuhPEShsh3hH8PAZzm/41OOhQd4= +cloud.google.com/go/analytics v0.21.3/go.mod h1:U8dcUtmDmjrmUTnnnRnI4m6zKn/yaA5N9RlEkYFHpQo= +cloud.google.com/go/apigateway v1.3.0/go.mod h1:89Z8Bhpmxu6AmUxuVRg/ECRGReEdiP3vQtk4Z1J9rJk= +cloud.google.com/go/apigateway v1.4.0/go.mod h1:pHVY9MKGaH9PQ3pJ4YLzoj6U5FUDeDFBllIz7WmzJoc= +cloud.google.com/go/apigateway v1.6.1/go.mod h1:ufAS3wpbRjqfZrzpvLC2oh0MFlpRJm2E/ts25yyqmXA= +cloud.google.com/go/apigeeconnect v1.3.0/go.mod h1:G/AwXFAKo0gIXkPTVfZDd2qA1TxBXJ3MgMRBQkIi9jc= +cloud.google.com/go/apigeeconnect v1.4.0/go.mod h1:kV4NwOKqjvt2JYR0AoIWo2QGfoRtn/pkS3QlHp0Ni04= +cloud.google.com/go/apigeeconnect v1.6.1/go.mod h1:C4awq7x0JpLtrlQCr8AzVIzAaYgngRqWf9S5Uhg+wWs= +cloud.google.com/go/apigeeregistry v0.7.1/go.mod h1:1XgyjZye4Mqtw7T9TsY4NW10U7BojBvG4RMD+vRDrIw= +cloud.google.com/go/appengine v1.4.0/go.mod h1:CS2NhuBuDXM9f+qscZ6V86m1MIIqPj3WC/UoEuR1Sno= +cloud.google.com/go/appengine v1.5.0/go.mod h1:TfasSozdkFI0zeoxW3PTBLiNqRmzraodCWatWI9Dmak= +cloud.google.com/go/appengine v1.8.1/go.mod h1:6NJXGLVhZCN9aQ/AEDvmfzKEfoYBlfB80/BHiKVputY= +cloud.google.com/go/area120 v0.5.0/go.mod h1:DE/n4mp+iqVyvxHN41Vf1CR602GiHQjFPusMFW6bGR4= +cloud.google.com/go/area120 v0.6.0/go.mod h1:39yFJqWVgm0UZqWTOdqkLhjoC7uFfgXRC8g/ZegeAh0= +cloud.google.com/go/area120 v0.8.1/go.mod h1:BVfZpGpB7KFVNxPiQBuHkX6Ed0rS51xIgmGyjrAfzsg= +cloud.google.com/go/artifactregistry v1.6.0/go.mod h1:IYt0oBPSAGYj/kprzsBjZ/4LnG/zOcHyFHjWPCi6SAQ= +cloud.google.com/go/artifactregistry v1.7.0/go.mod h1:mqTOFOnGZx8EtSqK/ZWcsm/4U8B77rbcLP6ruDU2Ixk= +cloud.google.com/go/artifactregistry v1.8.0/go.mod h1:w3GQXkJX8hiKN0v+at4b0qotwijQbYUqF2GWkZzAhC0= +cloud.google.com/go/artifactregistry v1.9.0/go.mod h1:2K2RqvA2CYvAeARHRkLDhMDJ3OXy26h3XW+3/Jh2uYc= +cloud.google.com/go/artifactregistry v1.14.1/go.mod h1:nxVdG19jTaSTu7yA7+VbWL346r3rIdkZ142BSQqhn5E= +cloud.google.com/go/asset v1.5.0/go.mod h1:5mfs8UvcM5wHhqtSv8J1CtxxaQq3AdBxxQi2jGW/K4o= +cloud.google.com/go/asset v1.7.0/go.mod h1:YbENsRK4+xTiL+Ofoj5Ckf+O17kJtgp3Y3nn4uzZz5s= +cloud.google.com/go/asset v1.8.0/go.mod h1:mUNGKhiqIdbr8X7KNayoYvyc4HbbFO9URsjbytpUaW0= +cloud.google.com/go/asset v1.9.0/go.mod h1:83MOE6jEJBMqFKadM9NLRcs80Gdw76qGuHn8m3h8oHQ= +cloud.google.com/go/asset v1.10.0/go.mod h1:pLz7uokL80qKhzKr4xXGvBQXnzHn5evJAEAtZiIb0wY= +cloud.google.com/go/asset v1.14.1/go.mod h1:4bEJ3dnHCqWCDbWJ/6Vn7GVI9LerSi7Rfdi03hd+WTQ= +cloud.google.com/go/assuredworkloads v1.5.0/go.mod h1:n8HOZ6pff6re5KYfBXcFvSViQjDwxFkAkmUFffJRbbY= +cloud.google.com/go/assuredworkloads v1.6.0/go.mod h1:yo2YOk37Yc89Rsd5QMVECvjaMKymF9OP+QXWlKXUkXw= +cloud.google.com/go/assuredworkloads v1.7.0/go.mod h1:z/736/oNmtGAyU47reJgGN+KVoYoxeLBoj4XkKYscNI= +cloud.google.com/go/assuredworkloads v1.8.0/go.mod h1:AsX2cqyNCOvEQC8RMPnoc0yEarXQk6WEKkxYfL6kGIo= +cloud.google.com/go/assuredworkloads v1.9.0/go.mod h1:kFuI1P78bplYtT77Tb1hi0FMxM0vVpRC7VVoJC3ZoT0= +cloud.google.com/go/assuredworkloads v1.11.1/go.mod h1:+F04I52Pgn5nmPG36CWFtxmav6+7Q+c5QyJoL18Lry0= +cloud.google.com/go/automl v1.5.0/go.mod h1:34EjfoFGMZ5sgJ9EoLsRtdPSNZLcfflJR39VbVNS2M0= +cloud.google.com/go/automl v1.6.0/go.mod h1:ugf8a6Fx+zP0D59WLhqgTDsQI9w07o64uf/Is3Nh5p8= +cloud.google.com/go/automl v1.7.0/go.mod h1:RL9MYCCsJEOmt0Wf3z9uzG0a7adTT1fe+aObgSpkCt8= +cloud.google.com/go/automl v1.8.0/go.mod h1:xWx7G/aPEe/NP+qzYXktoBSDfjO+vnKMGgsApGJJquM= +cloud.google.com/go/automl v1.13.1/go.mod h1:1aowgAHWYZU27MybSCFiukPO7xnyawv7pt3zK4bheQE= +cloud.google.com/go/baremetalsolution v0.3.0/go.mod h1:XOrocE+pvK1xFfleEnShBlNAXf+j5blPPxrhjKgnIFc= +cloud.google.com/go/baremetalsolution v0.4.0/go.mod h1:BymplhAadOO/eBa7KewQ0Ppg4A4Wplbn+PsFKRLo0uI= +cloud.google.com/go/baremetalsolution v1.1.1/go.mod h1:D1AV6xwOksJMV4OSlWHtWuFNZZYujJknMAP4Qa27QIA= +cloud.google.com/go/batch v0.3.0/go.mod h1:TR18ZoAekj1GuirsUsR1ZTKN3FC/4UDnScjT8NXImFE= +cloud.google.com/go/batch v0.4.0/go.mod h1:WZkHnP43R/QCGQsZ+0JyG4i79ranE2u8xvjq/9+STPE= +cloud.google.com/go/batch v1.3.1/go.mod h1:VguXeQKXIYaeeIYbuozUmBR13AfL4SJP7IltNPS+A4A= +cloud.google.com/go/beyondcorp v0.2.0/go.mod h1:TB7Bd+EEtcw9PCPQhCJtJGjk/7TC6ckmnSFS+xwTfm4= +cloud.google.com/go/beyondcorp v0.3.0/go.mod h1:E5U5lcrcXMsCuoDNyGrpyTm/hn7ne941Jz2vmksAxW8= +cloud.google.com/go/beyondcorp v1.0.0/go.mod h1:YhxDWw946SCbmcWo3fAhw3V4XZMSpQ/VYfcKGAEU8/4= cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc= cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg= cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc= cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ= +cloud.google.com/go/bigquery v1.42.0/go.mod h1:8dRTJxhtG+vwBKzE5OseQn/hiydoQN3EedCaOdYmxRA= +cloud.google.com/go/bigquery v1.43.0/go.mod h1:ZMQcXHsl+xmU1z36G2jNGZmKp9zNY5BUua5wDgmNCfw= +cloud.google.com/go/bigquery v1.53.0/go.mod h1:3b/iXjRQGU4nKa87cXeg6/gogLjO8C6PmuM8i5Bi/u4= +cloud.google.com/go/bigtable v1.2.0/go.mod h1:JcVAOl45lrTmQfLj7T6TxyMzIN/3FGGcFm+2xVAli2o= +cloud.google.com/go/billing v1.4.0/go.mod h1:g9IdKBEFlItS8bTtlrZdVLWSSdSyFUZKXNS02zKMOZY= +cloud.google.com/go/billing v1.5.0/go.mod h1:mztb1tBc3QekhjSgmpf/CV4LzWXLzCArwpLmP2Gm88s= +cloud.google.com/go/billing v1.6.0/go.mod h1:WoXzguj+BeHXPbKfNWkqVtDdzORazmCjraY+vrxcyvI= +cloud.google.com/go/billing v1.7.0/go.mod h1:q457N3Hbj9lYwwRbnlD7vUpyjq6u5U1RAOArInEiD5Y= +cloud.google.com/go/billing v1.16.0/go.mod h1:y8vx09JSSJG02k5QxbycNRrN7FGZB6F3CAcgum7jvGA= +cloud.google.com/go/binaryauthorization v1.1.0/go.mod h1:xwnoWu3Y84jbuHa0zd526MJYmtnVXn0syOjaJgy4+dM= +cloud.google.com/go/binaryauthorization v1.2.0/go.mod h1:86WKkJHtRcv5ViNABtYMhhNWRrD1Vpi//uKEy7aYEfI= +cloud.google.com/go/binaryauthorization v1.3.0/go.mod h1:lRZbKgjDIIQvzYQS1p99A7/U1JqvqeZg0wiI5tp6tg0= +cloud.google.com/go/binaryauthorization v1.4.0/go.mod h1:tsSPQrBd77VLplV70GUhBf/Zm3FsKmgSqgm4UmiDItk= +cloud.google.com/go/binaryauthorization v1.6.1/go.mod h1:TKt4pa8xhowwffiBmbrbcxijJRZED4zrqnwZ1lKH51U= +cloud.google.com/go/certificatemanager v1.3.0/go.mod h1:n6twGDvcUBFu9uBgt4eYvvf3sQ6My8jADcOVwHmzadg= +cloud.google.com/go/certificatemanager v1.4.0/go.mod h1:vowpercVFyqs8ABSmrdV+GiFf2H/ch3KyudYQEMM590= +cloud.google.com/go/certificatemanager v1.7.1/go.mod h1:iW8J3nG6SaRYImIa+wXQ0g8IgoofDFRp5UMzaNk1UqI= +cloud.google.com/go/channel v1.8.0/go.mod h1:W5SwCXDJsq/rg3tn3oG0LOxpAo6IMxNa09ngphpSlnk= +cloud.google.com/go/channel v1.9.0/go.mod h1:jcu05W0my9Vx4mt3/rEHpfxc9eKi9XwsdDL8yBMbKUk= +cloud.google.com/go/channel v1.16.0/go.mod h1:eN/q1PFSl5gyu0dYdmxNXscY/4Fi7ABmeHCJNf/oHmc= +cloud.google.com/go/cloudbuild v1.3.0/go.mod h1:WequR4ULxlqvMsjDEEEFnOG5ZSRSgWOywXYDb1vPE6U= +cloud.google.com/go/cloudbuild v1.4.0/go.mod h1:5Qwa40LHiOXmz3386FrjrYM93rM/hdRr7b53sySrTqA= +cloud.google.com/go/cloudbuild v1.13.0/go.mod h1:lyJg7v97SUIPq4RC2sGsz/9tNczhyv2AjML/ci4ulzU= +cloud.google.com/go/clouddms v1.3.0/go.mod h1:oK6XsCDdW4Ib3jCCBugx+gVjevp2TMXFtgxvPSee3OM= +cloud.google.com/go/clouddms v1.4.0/go.mod h1:Eh7sUGCC+aKry14O1NRljhjyrr0NFC0G2cjwX0cByRk= +cloud.google.com/go/clouddms v1.6.1/go.mod h1:Ygo1vL52Ov4TBZQquhz5fiw2CQ58gvu+PlS6PVXCpZI= +cloud.google.com/go/cloudtasks v1.5.0/go.mod h1:fD92REy1x5woxkKEkLdvavGnPJGEn8Uic9nWuLzqCpY= +cloud.google.com/go/cloudtasks v1.6.0/go.mod h1:C6Io+sxuke9/KNRkbQpihnW93SWDU3uXt92nu85HkYI= +cloud.google.com/go/cloudtasks v1.7.0/go.mod h1:ImsfdYWwlWNJbdgPIIGJWC+gemEGTBK/SunNQQNCAb4= +cloud.google.com/go/cloudtasks v1.8.0/go.mod h1:gQXUIwCSOI4yPVK7DgTVFiiP0ZW/eQkydWzwVMdHxrI= +cloud.google.com/go/cloudtasks v1.12.1/go.mod h1:a9udmnou9KO2iulGscKR0qBYjreuX8oHwpmFsKspEvM= +cloud.google.com/go/compute v0.1.0/go.mod h1:GAesmwr110a34z04OlxYkATPBEfVhkymfTBXtfbBFow= +cloud.google.com/go/compute v1.3.0/go.mod h1:cCZiE1NHEtai4wiufUhW8I8S1JKkAnhnQJWM7YD99wM= +cloud.google.com/go/compute v1.5.0/go.mod h1:9SMHyhJlzhlkJqrPAc839t2BZFTSk6Jdj6mkzQJeu0M= +cloud.google.com/go/compute v1.6.0/go.mod h1:T29tfhtVbq1wvAPo0E3+7vhgmkOYeXjhFvz/FMzPu0s= +cloud.google.com/go/compute v1.6.1/go.mod h1:g85FgpzFvNULZ+S8AYq87axRKuf2Kh7deLqV/jJ3thU= +cloud.google.com/go/compute v1.7.0/go.mod h1:435lt8av5oL9P3fv1OEzSbSUe+ybHXGMPQHHZWZxy9U= +cloud.google.com/go/compute v1.10.0/go.mod h1:ER5CLbMxl90o2jtNbGSbtfOpQKR0t15FOtRsugnLrlU= +cloud.google.com/go/compute v1.12.0/go.mod h1:e8yNOBcBONZU1vJKCvCoDw/4JQsA0dpM4x/6PIIOocU= +cloud.google.com/go/compute v1.12.1/go.mod h1:e8yNOBcBONZU1vJKCvCoDw/4JQsA0dpM4x/6PIIOocU= +cloud.google.com/go/compute v1.23.0 h1:tP41Zoavr8ptEqaW6j+LQOnyBBhO7OkOMAGrgLopTwY= +cloud.google.com/go/compute v1.23.0/go.mod h1:4tCnrn48xsqlwSAiLf1HXMQk8CONslYbdiEZc9FEIbM= +cloud.google.com/go/compute/metadata v0.1.0/go.mod h1:Z1VN+bulIf6bt4P/C37K4DyZYZEXYonfTBHHFPO/4UU= +cloud.google.com/go/compute/metadata v0.2.1/go.mod h1:jgHgmJd2RKBGzXqF5LR2EZMGxBkeanZ9wwa75XHJgOM= +cloud.google.com/go/compute/metadata v0.2.3 h1:mg4jlk7mCAj6xXp9UJ4fjI9VUI5rubuGBW5aJ7UnBMY= +cloud.google.com/go/compute/metadata v0.2.3/go.mod h1:VAV5nSsACxMJvgaAuX6Pk2AawlZn8kiOGuCv6gTkwuA= +cloud.google.com/go/contactcenterinsights v1.3.0/go.mod h1:Eu2oemoePuEFc/xKFPjbTuPSj0fYJcPls9TFlPNnHHY= +cloud.google.com/go/contactcenterinsights v1.4.0/go.mod h1:L2YzkGbPsv+vMQMCADxJoT9YiTTnSEd6fEvCeHTYVck= +cloud.google.com/go/contactcenterinsights v1.10.0/go.mod h1:bsg/R7zGLYMVxFFzfh9ooLTruLRCG9fnzhH9KznHhbM= +cloud.google.com/go/container v1.6.0/go.mod h1:Xazp7GjJSeUYo688S+6J5V+n/t+G5sKBTFkKNudGRxg= +cloud.google.com/go/container v1.7.0/go.mod h1:Dp5AHtmothHGX3DwwIHPgq45Y8KmNsgN3amoYfxVkLo= +cloud.google.com/go/container v1.24.0/go.mod h1:lTNExE2R7f+DLbAN+rJiKTisauFCaoDq6NURZ83eVH4= +cloud.google.com/go/containeranalysis v0.5.1/go.mod h1:1D92jd8gRR/c0fGMlymRgxWD3Qw9C1ff6/T7mLgVL8I= +cloud.google.com/go/containeranalysis v0.6.0/go.mod h1:HEJoiEIu+lEXM+k7+qLCci0h33lX3ZqoYFdmPcoO7s4= +cloud.google.com/go/containeranalysis v0.10.1/go.mod h1:Ya2jiILITMY68ZLPaogjmOMNkwsDrWBSTyBubGXO7j0= +cloud.google.com/go/datacatalog v1.3.0/go.mod h1:g9svFY6tuR+j+hrTw3J2dNcmI0dzmSiyOzm8kpLq0a0= +cloud.google.com/go/datacatalog v1.5.0/go.mod h1:M7GPLNQeLfWqeIm3iuiruhPzkt65+Bx8dAKvScX8jvs= +cloud.google.com/go/datacatalog v1.6.0/go.mod h1:+aEyF8JKg+uXcIdAmmaMUmZ3q1b/lKLtXCmXdnc0lbc= +cloud.google.com/go/datacatalog v1.7.0/go.mod h1:9mEl4AuDYWw81UGc41HonIHH7/sn52H0/tc8f8ZbZIE= +cloud.google.com/go/datacatalog v1.8.0/go.mod h1:KYuoVOv9BM8EYz/4eMFxrr4DUKhGIOXxZoKYF5wdISM= +cloud.google.com/go/datacatalog v1.16.0/go.mod h1:d2CevwTG4yedZilwe+v3E3ZBDRMobQfSG/a6cCCN5R4= +cloud.google.com/go/dataflow v0.6.0/go.mod h1:9QwV89cGoxjjSR9/r7eFDqqjtvbKxAK2BaYU6PVk9UM= +cloud.google.com/go/dataflow v0.7.0/go.mod h1:PX526vb4ijFMesO1o202EaUmouZKBpjHsTlCtB4parQ= +cloud.google.com/go/dataflow v0.9.1/go.mod h1:Wp7s32QjYuQDWqJPFFlnBKhkAtiFpMTdg00qGbnIHVw= +cloud.google.com/go/dataform v0.3.0/go.mod h1:cj8uNliRlHpa6L3yVhDOBrUXH+BPAO1+KFMQQNSThKo= +cloud.google.com/go/dataform v0.4.0/go.mod h1:fwV6Y4Ty2yIFL89huYlEkwUPtS7YZinZbzzj5S9FzCE= +cloud.google.com/go/dataform v0.5.0/go.mod h1:GFUYRe8IBa2hcomWplodVmUx/iTL0FrsauObOM3Ipr0= +cloud.google.com/go/dataform v0.8.1/go.mod h1:3BhPSiw8xmppbgzeBbmDvmSWlwouuJkXsXsb8UBih9M= +cloud.google.com/go/datafusion v1.4.0/go.mod h1:1Zb6VN+W6ALo85cXnM1IKiPw+yQMKMhB9TsTSRDo/38= +cloud.google.com/go/datafusion v1.5.0/go.mod h1:Kz+l1FGHB0J+4XF2fud96WMmRiq/wj8N9u007vyXZ2w= +cloud.google.com/go/datafusion v1.7.1/go.mod h1:KpoTBbFmoToDExJUso/fcCiguGDk7MEzOWXUsJo0wsI= +cloud.google.com/go/datalabeling v0.5.0/go.mod h1:TGcJ0G2NzcsXSE/97yWjIZO0bXj0KbVlINXMG9ud42I= +cloud.google.com/go/datalabeling v0.6.0/go.mod h1:WqdISuk/+WIGeMkpw/1q7bK/tFEZxsrFJOJdY2bXvTQ= +cloud.google.com/go/datalabeling v0.8.1/go.mod h1:XS62LBSVPbYR54GfYQsPXZjTW8UxCK2fkDciSrpRFdY= +cloud.google.com/go/dataplex v1.3.0/go.mod h1:hQuRtDg+fCiFgC8j0zV222HvzFQdRd+SVX8gdmFcZzA= +cloud.google.com/go/dataplex v1.4.0/go.mod h1:X51GfLXEMVJ6UN47ESVqvlsRplbLhcsAt0kZCCKsU0A= +cloud.google.com/go/dataplex v1.9.0/go.mod h1:7TyrDT6BCdI8/38Uvp0/ZxBslOslP2X2MPDucliyvSE= +cloud.google.com/go/dataproc v1.7.0/go.mod h1:CKAlMjII9H90RXaMpSxQ8EU6dQx6iAYNPcYPOkSbi8s= +cloud.google.com/go/dataproc v1.8.0/go.mod h1:5OW+zNAH0pMpw14JVrPONsxMQYMBqJuzORhIBfBn9uI= +cloud.google.com/go/dataproc/v2 v2.0.1/go.mod h1:7Ez3KRHdFGcfY7GcevBbvozX+zyWGcwLJvvAMwCaoZ4= +cloud.google.com/go/dataqna v0.5.0/go.mod h1:90Hyk596ft3zUQ8NkFfvICSIfHFh1Bc7C4cK3vbhkeo= +cloud.google.com/go/dataqna v0.6.0/go.mod h1:1lqNpM7rqNLVgWBJyk5NF6Uen2PHym0jtVJonplVsDA= +cloud.google.com/go/dataqna v0.8.1/go.mod h1:zxZM0Bl6liMePWsHA8RMGAfmTG34vJMapbHAxQ5+WA8= cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= +cloud.google.com/go/datastore v1.13.0/go.mod h1:KjdB88W897MRITkvWWJrg2OUtrR5XVj1EoLgSp6/N70= +cloud.google.com/go/datastream v1.2.0/go.mod h1:i/uTP8/fZwgATHS/XFu0TcNUhuA0twZxxQ3EyCUQMwo= +cloud.google.com/go/datastream v1.3.0/go.mod h1:cqlOX8xlyYF/uxhiKn6Hbv6WjwPPuI9W2M9SAXwaLLQ= +cloud.google.com/go/datastream v1.4.0/go.mod h1:h9dpzScPhDTs5noEMQVWP8Wx8AFBRyS0s8KWPx/9r0g= +cloud.google.com/go/datastream v1.5.0/go.mod h1:6TZMMNPwjUqZHBKPQ1wwXpb0d5VDVPl2/XoS5yi88q4= +cloud.google.com/go/datastream v1.10.0/go.mod h1:hqnmr8kdUBmrnk65k5wNRoHSCYksvpdZIcZIEl8h43Q= +cloud.google.com/go/deploy v1.4.0/go.mod h1:5Xghikd4VrmMLNaF6FiRFDlHb59VM59YoDQnOUdsH/c= +cloud.google.com/go/deploy v1.5.0/go.mod h1:ffgdD0B89tToyW/U/D2eL0jN2+IEV/3EMuXHA0l4r+s= +cloud.google.com/go/deploy v1.13.0/go.mod h1:tKuSUV5pXbn67KiubiUNUejqLs4f5cxxiCNCeyl0F2g= +cloud.google.com/go/dialogflow v1.15.0/go.mod h1:HbHDWs33WOGJgn6rfzBW1Kv807BE3O1+xGbn59zZWI4= +cloud.google.com/go/dialogflow v1.16.1/go.mod h1:po6LlzGfK+smoSmTBnbkIZY2w8ffjz/RcGSS+sh1el0= +cloud.google.com/go/dialogflow v1.17.0/go.mod h1:YNP09C/kXA1aZdBgC/VtXX74G/TKn7XVCcVumTflA+8= +cloud.google.com/go/dialogflow v1.18.0/go.mod h1:trO7Zu5YdyEuR+BhSNOqJezyFQ3aUzz0njv7sMx/iek= +cloud.google.com/go/dialogflow v1.19.0/go.mod h1:JVmlG1TwykZDtxtTXujec4tQ+D8SBFMoosgy+6Gn0s0= +cloud.google.com/go/dialogflow v1.40.0/go.mod h1:L7jnH+JL2mtmdChzAIcXQHXMvQkE3U4hTaNltEuxXn4= +cloud.google.com/go/dlp v1.6.0/go.mod h1:9eyB2xIhpU0sVwUixfBubDoRwP+GjeUoxxeueZmqvmM= +cloud.google.com/go/dlp v1.7.0/go.mod h1:68ak9vCiMBjbasxeVD17hVPxDEck+ExiHavX8kiHG+Q= +cloud.google.com/go/dlp v1.10.1/go.mod h1:IM8BWz1iJd8njcNcG0+Kyd9OPnqnRNkDV8j42VT5KOI= +cloud.google.com/go/documentai v1.7.0/go.mod h1:lJvftZB5NRiFSX4moiye1SMxHx0Bc3x1+p9e/RfXYiU= +cloud.google.com/go/documentai v1.8.0/go.mod h1:xGHNEB7CtsnySCNrCFdCyyMz44RhFEEX2Q7UD0c5IhU= +cloud.google.com/go/documentai v1.9.0/go.mod h1:FS5485S8R00U10GhgBC0aNGrJxBP8ZVpEeJ7PQDZd6k= +cloud.google.com/go/documentai v1.10.0/go.mod h1:vod47hKQIPeCfN2QS/jULIvQTugbmdc0ZvxxfQY1bg4= +cloud.google.com/go/documentai v1.22.0/go.mod h1:yJkInoMcK0qNAEdRnqY/D5asy73tnPe88I1YTZT+a8E= +cloud.google.com/go/domains v0.6.0/go.mod h1:T9Rz3GasrpYk6mEGHh4rymIhjlnIuB4ofT1wTxDeT4Y= +cloud.google.com/go/domains v0.7.0/go.mod h1:PtZeqS1xjnXuRPKE/88Iru/LdfoRyEHYA9nFQf4UKpg= +cloud.google.com/go/domains v0.9.1/go.mod h1:aOp1c0MbejQQ2Pjf1iJvnVyT+z6R6s8pX66KaCSDYfE= +cloud.google.com/go/edgecontainer v0.1.0/go.mod h1:WgkZ9tp10bFxqO8BLPqv2LlfmQF1X8lZqwW4r1BTajk= +cloud.google.com/go/edgecontainer v0.2.0/go.mod h1:RTmLijy+lGpQ7BXuTDa4C4ssxyXT34NIuHIgKuP4s5w= +cloud.google.com/go/edgecontainer v1.1.1/go.mod h1:O5bYcS//7MELQZs3+7mabRqoWQhXCzenBu0R8bz2rwk= +cloud.google.com/go/errorreporting v0.3.0/go.mod h1:xsP2yaAp+OAW4OIm60An2bbLpqIhKXdWR/tawvl7QzU= +cloud.google.com/go/essentialcontacts v1.3.0/go.mod h1:r+OnHa5jfj90qIfZDO/VztSFqbQan7HV75p8sA+mdGI= +cloud.google.com/go/essentialcontacts v1.4.0/go.mod h1:8tRldvHYsmnBCHdFpvU+GL75oWiBKl80BiqlFh9tp+8= +cloud.google.com/go/essentialcontacts v1.6.2/go.mod h1:T2tB6tX+TRak7i88Fb2N9Ok3PvY3UNbUsMag9/BARh4= +cloud.google.com/go/eventarc v1.7.0/go.mod h1:6ctpF3zTnaQCxUjHUdcfgcA1A2T309+omHZth7gDfmc= +cloud.google.com/go/eventarc v1.8.0/go.mod h1:imbzxkyAU4ubfsaKYdQg04WS1NvncblHEup4kvF+4gw= +cloud.google.com/go/eventarc v1.13.0/go.mod h1:mAFCW6lukH5+IZjkvrEss+jmt2kOdYlN8aMx3sRJiAI= +cloud.google.com/go/filestore v1.3.0/go.mod h1:+qbvHGvXU1HaKX2nD0WEPo92TP/8AQuCVEBXNY9z0+w= +cloud.google.com/go/filestore v1.4.0/go.mod h1:PaG5oDfo9r224f8OYXURtAsY+Fbyq/bLYoINEK8XQAI= +cloud.google.com/go/filestore v1.7.1/go.mod h1:y10jsorq40JJnjR/lQ8AfFbbcGlw3g+Dp8oN7i7FjV4= cloud.google.com/go/firestore v1.1.0/go.mod h1:ulACoGHTpvq5r8rxGJ4ddJZBZqakUQqClKRT5SZwBmk= +cloud.google.com/go/firestore v1.6.1/go.mod h1:asNXNOzBdyVQmEU+ggO8UPodTkEVFW5Qx+rwHnAz+EY= +cloud.google.com/go/firestore v1.11.0/go.mod h1:b38dKhgzlmNNGTNZZwe7ZRFEuRab1Hay3/DBsIGKKy4= +cloud.google.com/go/functions v1.6.0/go.mod h1:3H1UA3qiIPRWD7PeZKLvHZ9SaQhR26XIJcC0A5GbvAk= +cloud.google.com/go/functions v1.7.0/go.mod h1:+d+QBcWM+RsrgZfV9xo6KfA1GlzJfxcfZcRPEhDDfzg= +cloud.google.com/go/functions v1.8.0/go.mod h1:RTZ4/HsQjIqIYP9a9YPbU+QFoQsAlYgrwOXJWHn1POY= +cloud.google.com/go/functions v1.9.0/go.mod h1:Y+Dz8yGguzO3PpIjhLTbnqV1CWmgQ5UwtlpzoyquQ08= +cloud.google.com/go/functions v1.15.1/go.mod h1:P5yNWUTkyU+LvW/S9O6V+V423VZooALQlqoXdoPz5AE= +cloud.google.com/go/gaming v1.5.0/go.mod h1:ol7rGcxP/qHTRQE/RO4bxkXq+Fix0j6D4LFPzYTIrDM= +cloud.google.com/go/gaming v1.6.0/go.mod h1:YMU1GEvA39Qt3zWGyAVA9bpYz/yAhTvaQ1t2sK4KPUA= +cloud.google.com/go/gaming v1.7.0/go.mod h1:LrB8U7MHdGgFG851iHAfqUdLcKBdQ55hzXy9xBJz0+w= +cloud.google.com/go/gaming v1.8.0/go.mod h1:xAqjS8b7jAVW0KFYeRUxngo9My3f33kFmua++Pi+ggM= +cloud.google.com/go/gkebackup v0.2.0/go.mod h1:XKvv/4LfG829/B8B7xRkk8zRrOEbKtEam6yNfuQNH60= +cloud.google.com/go/gkebackup v0.3.0/go.mod h1:n/E671i1aOQvUxT541aTkCwExO/bTer2HDlj4TsBRAo= +cloud.google.com/go/gkebackup v1.3.0/go.mod h1:vUDOu++N0U5qs4IhG1pcOnD1Mac79xWy6GoBFlWCWBU= +cloud.google.com/go/gkeconnect v0.5.0/go.mod h1:c5lsNAg5EwAy7fkqX/+goqFsU1Da/jQFqArp+wGNr/o= +cloud.google.com/go/gkeconnect v0.6.0/go.mod h1:Mln67KyU/sHJEBY8kFZ0xTeyPtzbq9StAVvEULYK16A= +cloud.google.com/go/gkeconnect v0.8.1/go.mod h1:KWiK1g9sDLZqhxB2xEuPV8V9NYzrqTUmQR9shJHpOZw= +cloud.google.com/go/gkehub v0.9.0/go.mod h1:WYHN6WG8w9bXU0hqNxt8rm5uxnk8IH+lPY9J2TV7BK0= +cloud.google.com/go/gkehub v0.10.0/go.mod h1:UIPwxI0DsrpsVoWpLB0stwKCP+WFVG9+y977wO+hBH0= +cloud.google.com/go/gkehub v0.14.1/go.mod h1:VEXKIJZ2avzrbd7u+zeMtW00Y8ddk/4V9511C9CQGTY= +cloud.google.com/go/gkemulticloud v0.3.0/go.mod h1:7orzy7O0S+5kq95e4Hpn7RysVA7dPs8W/GgfUtsPbrA= +cloud.google.com/go/gkemulticloud v0.4.0/go.mod h1:E9gxVBnseLWCk24ch+P9+B2CoDFJZTyIgLKSalC7tuI= +cloud.google.com/go/gkemulticloud v1.0.0/go.mod h1:kbZ3HKyTsiwqKX7Yw56+wUGwwNZViRnxWK2DVknXWfw= +cloud.google.com/go/grafeas v0.2.0/go.mod h1:KhxgtF2hb0P191HlY5besjYm6MqTSTj3LSI+M+ByZHc= +cloud.google.com/go/gsuiteaddons v1.3.0/go.mod h1:EUNK/J1lZEZO8yPtykKxLXI6JSVN2rg9bN8SXOa0bgM= +cloud.google.com/go/gsuiteaddons v1.4.0/go.mod h1:rZK5I8hht7u7HxFQcFei0+AtfS9uSushomRlg+3ua1o= +cloud.google.com/go/gsuiteaddons v1.6.1/go.mod h1:CodrdOqRZcLp5WOwejHWYBjZvfY0kOphkAKpF/3qdZY= +cloud.google.com/go/iam v0.3.0/go.mod h1:XzJPvDayI+9zsASAFO68Hk07u3z+f+JrT2xXNdp4bnY= +cloud.google.com/go/iam v0.5.0/go.mod h1:wPU9Vt0P4UmCux7mqtRu6jcpPAb74cP1fh50J3QpkUc= +cloud.google.com/go/iam v0.6.0/go.mod h1:+1AH33ueBne5MzYccyMHtEKqLE4/kJOibtffMHDMFMc= +cloud.google.com/go/iam v0.7.0/go.mod h1:H5Br8wRaDGNc8XP3keLc4unfUUZeyH3Sfl9XpQEYOeg= +cloud.google.com/go/iam v1.1.1 h1:lW7fzj15aVIXYHREOqjRBV9PsH0Z6u8Y46a1YGvQP4Y= +cloud.google.com/go/iam v1.1.1/go.mod h1:A5avdyVL2tCppe4unb0951eI9jreack+RJ0/d+KUZOU= +cloud.google.com/go/iap v1.4.0/go.mod h1:RGFwRJdihTINIe4wZ2iCP0zF/qu18ZwyKxrhMhygBEc= +cloud.google.com/go/iap v1.5.0/go.mod h1:UH/CGgKd4KyohZL5Pt0jSKE4m3FR51qg6FKQ/z/Ix9A= +cloud.google.com/go/iap v1.8.1/go.mod h1:sJCbeqg3mvWLqjZNsI6dfAtbbV1DL2Rl7e1mTyXYREQ= +cloud.google.com/go/ids v1.1.0/go.mod h1:WIuwCaYVOzHIj2OhN9HAwvW+DBdmUAdcWlFxRl+KubM= +cloud.google.com/go/ids v1.2.0/go.mod h1:5WXvp4n25S0rA/mQWAg1YEEBBq6/s+7ml1RDCW1IrcY= +cloud.google.com/go/ids v1.4.1/go.mod h1:np41ed8YMU8zOgv53MMMoCntLTn2lF+SUzlM+O3u/jw= +cloud.google.com/go/iot v1.3.0/go.mod h1:r7RGh2B61+B8oz0AGE+J72AhA0G7tdXItODWsaA2oLs= +cloud.google.com/go/iot v1.4.0/go.mod h1:dIDxPOn0UvNDUMD8Ger7FIaTuvMkj+aGk94RPP0iV+g= +cloud.google.com/go/iot v1.7.1/go.mod h1:46Mgw7ev1k9KqK1ao0ayW9h0lI+3hxeanz+L1zmbbbk= +cloud.google.com/go/kms v1.5.0/go.mod h1:QJS2YY0eJGBg3mnDfuaCyLauWwBJiHRboYxJ++1xJNg= +cloud.google.com/go/kms v1.6.0/go.mod h1:Jjy850yySiasBUDi6KFUwUv2n1+o7QZFyuUJg6OgjA0= +cloud.google.com/go/kms v1.15.0/go.mod h1:c9J991h5DTl+kg7gi3MYomh12YEENGrf48ee/N/2CDM= +cloud.google.com/go/language v1.4.0/go.mod h1:F9dRpNFQmJbkaop6g0JhSBXCNlO90e1KWx5iDdxbWic= +cloud.google.com/go/language v1.6.0/go.mod h1:6dJ8t3B+lUYfStgls25GusK04NLh3eDLQnWM3mdEbhI= +cloud.google.com/go/language v1.7.0/go.mod h1:DJ6dYN/W+SQOjF8e1hLQXMF21AkH2w9wiPzPCJa2MIE= +cloud.google.com/go/language v1.8.0/go.mod h1:qYPVHf7SPoNNiCL2Dr0FfEFNil1qi3pQEyygwpgVKB8= +cloud.google.com/go/language v1.10.1/go.mod h1:CPp94nsdVNiQEt1CNjF5WkTcisLiHPyIbMhvR8H2AW0= +cloud.google.com/go/lifesciences v0.5.0/go.mod h1:3oIKy8ycWGPUyZDR/8RNnTOYevhaMLqh5vLUXs9zvT8= +cloud.google.com/go/lifesciences v0.6.0/go.mod h1:ddj6tSX/7BOnhxCSd3ZcETvtNr8NZ6t/iPhY2Tyfu08= +cloud.google.com/go/lifesciences v0.9.1/go.mod h1:hACAOd1fFbCGLr/+weUKRAJas82Y4vrL3O5326N//Wc= +cloud.google.com/go/logging v1.7.0/go.mod h1:3xjP2CjkM3ZkO73aj4ASA5wRPGGCRrPIAeNqVNkzY8M= +cloud.google.com/go/longrunning v0.1.1/go.mod h1:UUFxuDWkv22EuY93jjmDMFT5GPQKeFVJBIF6QlTqdsE= +cloud.google.com/go/longrunning v0.3.0/go.mod h1:qth9Y41RRSUE69rDcOn6DdK3HfQfsUI0YSmW3iIlLJc= +cloud.google.com/go/longrunning v0.5.1/go.mod h1:spvimkwdz6SPWKEt/XBij79E9fiTkHSQl/fRUUQJYJc= +cloud.google.com/go/managedidentities v1.3.0/go.mod h1:UzlW3cBOiPrzucO5qWkNkh0w33KFtBJU281hacNvsdE= +cloud.google.com/go/managedidentities v1.4.0/go.mod h1:NWSBYbEMgqmbZsLIyKvxrYbtqOsxY1ZrGM+9RgDqInM= +cloud.google.com/go/managedidentities v1.6.1/go.mod h1:h/irGhTN2SkZ64F43tfGPMbHnypMbu4RB3yl8YcuEak= +cloud.google.com/go/maps v1.4.0/go.mod h1:6mWTUv+WhnOwAgjVsSW2QPPECmW+s3PcRyOa9vgG/5s= +cloud.google.com/go/mediatranslation v0.5.0/go.mod h1:jGPUhGTybqsPQn91pNXw0xVHfuJ3leR1wj37oU3y1f4= +cloud.google.com/go/mediatranslation v0.6.0/go.mod h1:hHdBCTYNigsBxshbznuIMFNe5QXEowAuNmmC7h8pu5w= +cloud.google.com/go/mediatranslation v0.8.1/go.mod h1:L/7hBdEYbYHQJhX2sldtTO5SZZ1C1vkapubj0T2aGig= +cloud.google.com/go/memcache v1.4.0/go.mod h1:rTOfiGZtJX1AaFUrOgsMHX5kAzaTQ8azHiuDoTPzNsE= +cloud.google.com/go/memcache v1.5.0/go.mod h1:dk3fCK7dVo0cUU2c36jKb4VqKPS22BTkf81Xq617aWM= +cloud.google.com/go/memcache v1.6.0/go.mod h1:XS5xB0eQZdHtTuTF9Hf8eJkKtR3pVRCcvJwtm68T3rA= +cloud.google.com/go/memcache v1.7.0/go.mod h1:ywMKfjWhNtkQTxrWxCkCFkoPjLHPW6A7WOTVI8xy3LY= +cloud.google.com/go/memcache v1.10.1/go.mod h1:47YRQIarv4I3QS5+hoETgKO40InqzLP6kpNLvyXuyaA= +cloud.google.com/go/metastore v1.5.0/go.mod h1:2ZNrDcQwghfdtCwJ33nM0+GrBGlVuh8rakL3vdPY3XY= +cloud.google.com/go/metastore v1.6.0/go.mod h1:6cyQTls8CWXzk45G55x57DVQ9gWg7RiH65+YgPsNh9s= +cloud.google.com/go/metastore v1.7.0/go.mod h1:s45D0B4IlsINu87/AsWiEVYbLaIMeUSoxlKKDqBGFS8= +cloud.google.com/go/metastore v1.8.0/go.mod h1:zHiMc4ZUpBiM7twCIFQmJ9JMEkDSyZS9U12uf7wHqSI= +cloud.google.com/go/metastore v1.12.0/go.mod h1:uZuSo80U3Wd4zi6C22ZZliOUJ3XeM/MlYi/z5OAOWRA= +cloud.google.com/go/monitoring v1.7.0/go.mod h1:HpYse6kkGo//7p6sT0wsIC6IBDET0RhIsnmlA53dvEk= +cloud.google.com/go/monitoring v1.8.0/go.mod h1:E7PtoMJ1kQXWxPjB6mv2fhC5/15jInuulFdYYtlcvT4= +cloud.google.com/go/monitoring v1.15.1/go.mod h1:lADlSAlFdbqQuwwpaImhsJXu1QSdd3ojypXrFSMr2rM= +cloud.google.com/go/networkconnectivity v1.4.0/go.mod h1:nOl7YL8odKyAOtzNX73/M5/mGZgqqMeryi6UPZTk/rA= +cloud.google.com/go/networkconnectivity v1.5.0/go.mod h1:3GzqJx7uhtlM3kln0+x5wyFvuVH1pIBJjhCpjzSt75o= +cloud.google.com/go/networkconnectivity v1.6.0/go.mod h1:OJOoEXW+0LAxHh89nXd64uGG+FbQoeH8DtxCHVOMlaM= +cloud.google.com/go/networkconnectivity v1.7.0/go.mod h1:RMuSbkdbPwNMQjB5HBWD5MpTBnNm39iAVpC3TmsExt8= +cloud.google.com/go/networkconnectivity v1.12.1/go.mod h1:PelxSWYM7Sh9/guf8CFhi6vIqf19Ir/sbfZRUwXh92E= +cloud.google.com/go/networkmanagement v1.4.0/go.mod h1:Q9mdLLRn60AsOrPc8rs8iNV6OHXaGcDdsIQe1ohekq8= +cloud.google.com/go/networkmanagement v1.5.0/go.mod h1:ZnOeZ/evzUdUsnvRt792H0uYEnHQEMaz+REhhzJRcf4= +cloud.google.com/go/networkmanagement v1.8.0/go.mod h1:Ho/BUGmtyEqrttTgWEe7m+8vDdK74ibQc+Be0q7Fof0= +cloud.google.com/go/networksecurity v0.5.0/go.mod h1:xS6fOCoqpVC5zx15Z/MqkfDwH4+m/61A3ODiDV1xmiQ= +cloud.google.com/go/networksecurity v0.6.0/go.mod h1:Q5fjhTr9WMI5mbpRYEbiexTzROf7ZbDzvzCrNl14nyU= +cloud.google.com/go/networksecurity v0.9.1/go.mod h1:MCMdxOKQ30wsBI1eI659f9kEp4wuuAueoC9AJKSPWZQ= +cloud.google.com/go/notebooks v1.2.0/go.mod h1:9+wtppMfVPUeJ8fIWPOq1UnATHISkGXGqTkxeieQ6UY= +cloud.google.com/go/notebooks v1.3.0/go.mod h1:bFR5lj07DtCPC7YAAJ//vHskFBxA5JzYlH68kXVdk34= +cloud.google.com/go/notebooks v1.4.0/go.mod h1:4QPMngcwmgb6uw7Po99B2xv5ufVoIQ7nOGDyL4P8AgA= +cloud.google.com/go/notebooks v1.5.0/go.mod h1:q8mwhnP9aR8Hpfnrc5iN5IBhrXUy8S2vuYs+kBJ/gu0= +cloud.google.com/go/notebooks v1.9.1/go.mod h1:zqG9/gk05JrzgBt4ghLzEepPHNwE5jgPcHZRKhlC1A8= +cloud.google.com/go/optimization v1.1.0/go.mod h1:5po+wfvX5AQlPznyVEZjGJTMr4+CAkJf2XSTQOOl9l4= +cloud.google.com/go/optimization v1.2.0/go.mod h1:Lr7SOHdRDENsh+WXVmQhQTrzdu9ybg0NecjHidBq6xs= +cloud.google.com/go/optimization v1.4.1/go.mod h1:j64vZQP7h9bO49m2rVaTVoNM0vEBEN5eKPUPbZyXOrk= +cloud.google.com/go/orchestration v1.3.0/go.mod h1:Sj5tq/JpWiB//X/q3Ngwdl5K7B7Y0KZ7bfv0wL6fqVA= +cloud.google.com/go/orchestration v1.4.0/go.mod h1:6W5NLFWs2TlniBphAViZEVhrXRSMgUGDfW7vrWKvsBk= +cloud.google.com/go/orchestration v1.8.1/go.mod h1:4sluRF3wgbYVRqz7zJ1/EUNc90TTprliq9477fGobD8= +cloud.google.com/go/orgpolicy v1.4.0/go.mod h1:xrSLIV4RePWmP9P3tBl8S93lTmlAxjm06NSm2UTmKvE= +cloud.google.com/go/orgpolicy v1.5.0/go.mod h1:hZEc5q3wzwXJaKrsx5+Ewg0u1LxJ51nNFlext7Tanwc= +cloud.google.com/go/orgpolicy v1.11.1/go.mod h1:8+E3jQcpZJQliP+zaFfayC2Pg5bmhuLK755wKhIIUCE= +cloud.google.com/go/osconfig v1.7.0/go.mod h1:oVHeCeZELfJP7XLxcBGTMBvRO+1nQ5tFG9VQTmYS2Fs= +cloud.google.com/go/osconfig v1.8.0/go.mod h1:EQqZLu5w5XA7eKizepumcvWx+m8mJUhEwiPqWiZeEdg= +cloud.google.com/go/osconfig v1.9.0/go.mod h1:Yx+IeIZJ3bdWmzbQU4fxNl8xsZ4amB+dygAwFPlvnNo= +cloud.google.com/go/osconfig v1.10.0/go.mod h1:uMhCzqC5I8zfD9zDEAfvgVhDS8oIjySWh+l4WK6GnWw= +cloud.google.com/go/osconfig v1.12.1/go.mod h1:4CjBxND0gswz2gfYRCUoUzCm9zCABp91EeTtWXyz0tE= +cloud.google.com/go/oslogin v1.4.0/go.mod h1:YdgMXWRaElXz/lDk1Na6Fh5orF7gvmJ0FGLIs9LId4E= +cloud.google.com/go/oslogin v1.5.0/go.mod h1:D260Qj11W2qx/HVF29zBg+0fd6YCSjSqLUkY/qEenQU= +cloud.google.com/go/oslogin v1.6.0/go.mod h1:zOJ1O3+dTU8WPlGEkFSh7qeHPPSoxrcMbbK1Nm2iX70= +cloud.google.com/go/oslogin v1.7.0/go.mod h1:e04SN0xO1UNJ1M5GP0vzVBFicIe4O53FOfcixIqTyXo= +cloud.google.com/go/oslogin v1.10.1/go.mod h1:x692z7yAue5nE7CsSnoG0aaMbNoRJRXO4sn73R+ZqAs= +cloud.google.com/go/phishingprotection v0.5.0/go.mod h1:Y3HZknsK9bc9dMi+oE8Bim0lczMU6hrX0UpADuMefr0= +cloud.google.com/go/phishingprotection v0.6.0/go.mod h1:9Y3LBLgy0kDTcYET8ZH3bq/7qni15yVUoAxiFxnlSUA= +cloud.google.com/go/phishingprotection v0.8.1/go.mod h1:AxonW7GovcA8qdEk13NfHq9hNx5KPtfxXNeUxTDxB6I= +cloud.google.com/go/policytroubleshooter v1.3.0/go.mod h1:qy0+VwANja+kKrjlQuOzmlvscn4RNsAc0e15GGqfMxg= +cloud.google.com/go/policytroubleshooter v1.4.0/go.mod h1:DZT4BcRw3QoO8ota9xw/LKtPa8lKeCByYeKTIf/vxdE= +cloud.google.com/go/policytroubleshooter v1.8.0/go.mod h1:tmn5Ir5EToWe384EuboTcVQT7nTag2+DuH3uHmKd1HU= +cloud.google.com/go/privatecatalog v0.5.0/go.mod h1:XgosMUvvPyxDjAVNDYxJ7wBW8//hLDDYmnsNcMGq1K0= +cloud.google.com/go/privatecatalog v0.6.0/go.mod h1:i/fbkZR0hLN29eEWiiwue8Pb+GforiEIBnV9yrRUOKI= +cloud.google.com/go/privatecatalog v0.9.1/go.mod h1:0XlDXW2unJXdf9zFz968Hp35gl/bhF4twwpXZAW50JA= cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw= cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA= cloud.google.com/go/pubsub v1.3.1/go.mod h1:i+ucay31+CNRpDW4Lu78I4xXG+O1r/MAHgjpRVR+TSU= cloud.google.com/go/pubsub v1.5.0/go.mod h1:ZEwJccE3z93Z2HWvstpri00jOg7oO4UZDtKhwDwqF0w= +cloud.google.com/go/pubsub v1.33.0/go.mod h1:f+w71I33OMyxf9VpMVcZbnG5KSUkCOUHYpFd5U1GdRc= +cloud.google.com/go/pubsublite v1.8.1/go.mod h1:fOLdU4f5xldK4RGJrBMm+J7zMWNj/k4PxwEZXy39QS0= +cloud.google.com/go/recaptchaenterprise v1.3.1/go.mod h1:OdD+q+y4XGeAlxRaMn1Y7/GveP6zmq76byL6tjPE7d4= +cloud.google.com/go/recaptchaenterprise/v2 v2.1.0/go.mod h1:w9yVqajwroDNTfGuhmOjPDN//rZGySaf6PtFVcSCa7o= +cloud.google.com/go/recaptchaenterprise/v2 v2.2.0/go.mod h1:/Zu5jisWGeERrd5HnlS3EUGb/D335f9k51B/FVil0jk= +cloud.google.com/go/recaptchaenterprise/v2 v2.3.0/go.mod h1:O9LwGCjrhGHBQET5CA7dd5NwwNQUErSgEDit1DLNTdo= +cloud.google.com/go/recaptchaenterprise/v2 v2.4.0/go.mod h1:Am3LHfOuBstrLrNCBrlI5sbwx9LBg3te2N6hGvHn2mE= +cloud.google.com/go/recaptchaenterprise/v2 v2.5.0/go.mod h1:O8LzcHXN3rz0j+LBC91jrwI3R+1ZSZEWrfL7XHgNo9U= +cloud.google.com/go/recaptchaenterprise/v2 v2.7.2/go.mod h1:kR0KjsJS7Jt1YSyWFkseQ756D45kaYNTlDPPaRAvDBU= +cloud.google.com/go/recommendationengine v0.5.0/go.mod h1:E5756pJcVFeVgaQv3WNpImkFP8a+RptV6dDLGPILjvg= +cloud.google.com/go/recommendationengine v0.6.0/go.mod h1:08mq2umu9oIqc7tDy8sx+MNJdLG0fUi3vaSVbztHgJ4= +cloud.google.com/go/recommendationengine v0.8.1/go.mod h1:MrZihWwtFYWDzE6Hz5nKcNz3gLizXVIDI/o3G1DLcrE= +cloud.google.com/go/recommender v1.5.0/go.mod h1:jdoeiBIVrJe9gQjwd759ecLJbxCDED4A6p+mqoqDvTg= +cloud.google.com/go/recommender v1.6.0/go.mod h1:+yETpm25mcoiECKh9DEScGzIRyDKpZ0cEhWGo+8bo+c= +cloud.google.com/go/recommender v1.7.0/go.mod h1:XLHs/W+T8olwlGOgfQenXBTbIseGclClff6lhFVe9Bs= +cloud.google.com/go/recommender v1.8.0/go.mod h1:PkjXrTT05BFKwxaUxQmtIlrtj0kph108r02ZZQ5FE70= +cloud.google.com/go/recommender v1.10.1/go.mod h1:XFvrE4Suqn5Cq0Lf+mCP6oBHD/yRMA8XxP5sb7Q7gpA= +cloud.google.com/go/redis v1.7.0/go.mod h1:V3x5Jq1jzUcg+UNsRvdmsfuFnit1cfe3Z/PGyq/lm4Y= +cloud.google.com/go/redis v1.8.0/go.mod h1:Fm2szCDavWzBk2cDKxrkmWBqoCiL1+Ctwq7EyqBCA/A= +cloud.google.com/go/redis v1.9.0/go.mod h1:HMYQuajvb2D0LvMgZmLDZW8V5aOC/WxstZHiy4g8OiA= +cloud.google.com/go/redis v1.10.0/go.mod h1:ThJf3mMBQtW18JzGgh41/Wld6vnDDc/F/F35UolRZPM= +cloud.google.com/go/redis v1.13.1/go.mod h1:VP7DGLpE91M6bcsDdMuyCm2hIpB6Vp2hI090Mfd1tcg= +cloud.google.com/go/resourcemanager v1.3.0/go.mod h1:bAtrTjZQFJkiWTPDb1WBjzvc6/kifjj4QBYuKCCoqKA= +cloud.google.com/go/resourcemanager v1.4.0/go.mod h1:MwxuzkumyTX7/a3n37gmsT3py7LIXwrShilPh3P1tR0= +cloud.google.com/go/resourcemanager v1.9.1/go.mod h1:dVCuosgrh1tINZ/RwBufr8lULmWGOkPS8gL5gqyjdT8= +cloud.google.com/go/resourcesettings v1.3.0/go.mod h1:lzew8VfESA5DQ8gdlHwMrqZs1S9V87v3oCnKCWoOuQU= +cloud.google.com/go/resourcesettings v1.4.0/go.mod h1:ldiH9IJpcrlC3VSuCGvjR5of/ezRrOxFtpJoJo5SmXg= +cloud.google.com/go/resourcesettings v1.6.1/go.mod h1:M7mk9PIZrC5Fgsu1kZJci6mpgN8o0IUzVx3eJU3y4Jw= +cloud.google.com/go/retail v1.8.0/go.mod h1:QblKS8waDmNUhghY2TI9O3JLlFk8jybHeV4BF19FrE4= +cloud.google.com/go/retail v1.9.0/go.mod h1:g6jb6mKuCS1QKnH/dpu7isX253absFl6iE92nHwlBUY= +cloud.google.com/go/retail v1.10.0/go.mod h1:2gDk9HsL4HMS4oZwz6daui2/jmKvqShXKQuB2RZ+cCc= +cloud.google.com/go/retail v1.11.0/go.mod h1:MBLk1NaWPmh6iVFSz9MeKG/Psyd7TAgm6y/9L2B4x9Y= +cloud.google.com/go/retail v1.14.1/go.mod h1:y3Wv3Vr2k54dLNIrCzenyKG8g8dhvhncT2NcNjb/6gE= +cloud.google.com/go/run v0.2.0/go.mod h1:CNtKsTA1sDcnqqIFR3Pb5Tq0usWxJJvsWOCPldRU3Do= +cloud.google.com/go/run v0.3.0/go.mod h1:TuyY1+taHxTjrD0ZFk2iAR+xyOXEA0ztb7U3UNA0zBo= +cloud.google.com/go/run v1.2.0/go.mod h1:36V1IlDzQ0XxbQjUx6IYbw8H3TJnWvhii963WW3B/bo= +cloud.google.com/go/scheduler v1.4.0/go.mod h1:drcJBmxF3aqZJRhmkHQ9b3uSSpQoltBPGPxGAWROx6s= +cloud.google.com/go/scheduler v1.5.0/go.mod h1:ri073ym49NW3AfT6DZi21vLZrG07GXr5p3H1KxN5QlI= +cloud.google.com/go/scheduler v1.6.0/go.mod h1:SgeKVM7MIwPn3BqtcBntpLyrIJftQISRrYB5ZtT+KOk= +cloud.google.com/go/scheduler v1.7.0/go.mod h1:jyCiBqWW956uBjjPMMuX09n3x37mtyPJegEWKxRsn44= +cloud.google.com/go/scheduler v1.10.1/go.mod h1:R63Ldltd47Bs4gnhQkmNDse5w8gBRrhObZ54PxgR2Oo= +cloud.google.com/go/secretmanager v1.6.0/go.mod h1:awVa/OXF6IiyaU1wQ34inzQNc4ISIDIrId8qE5QGgKA= +cloud.google.com/go/secretmanager v1.8.0/go.mod h1:hnVgi/bN5MYHd3Gt0SPuTPPp5ENina1/LxM+2W9U9J4= +cloud.google.com/go/secretmanager v1.9.0/go.mod h1:b71qH2l1yHmWQHt9LC80akm86mX8AL6X1MA01dW8ht4= +cloud.google.com/go/secretmanager v1.11.1/go.mod h1:znq9JlXgTNdBeQk9TBW/FnR/W4uChEKGeqQWAJ8SXFw= +cloud.google.com/go/security v1.5.0/go.mod h1:lgxGdyOKKjHL4YG3/YwIL2zLqMFCKs0UbQwgyZmfJl4= +cloud.google.com/go/security v1.7.0/go.mod h1:mZklORHl6Bg7CNnnjLH//0UlAlaXqiG7Lb9PsPXLfD0= +cloud.google.com/go/security v1.8.0/go.mod h1:hAQOwgmaHhztFhiQ41CjDODdWP0+AE1B3sX4OFlq+GU= +cloud.google.com/go/security v1.9.0/go.mod h1:6Ta1bO8LXI89nZnmnsZGp9lVoVWXqsVbIq/t9dzI+2Q= +cloud.google.com/go/security v1.10.0/go.mod h1:QtOMZByJVlibUT2h9afNDWRZ1G96gVywH8T5GUSb9IA= +cloud.google.com/go/security v1.15.1/go.mod h1:MvTnnbsWnehoizHi09zoiZob0iCHVcL4AUBj76h9fXA= +cloud.google.com/go/securitycenter v1.13.0/go.mod h1:cv5qNAqjY84FCN6Y9z28WlkKXyWsgLO832YiWwkCWcU= +cloud.google.com/go/securitycenter v1.14.0/go.mod h1:gZLAhtyKv85n52XYWt6RmeBdydyxfPeTrpToDPw4Auc= +cloud.google.com/go/securitycenter v1.15.0/go.mod h1:PeKJ0t8MoFmmXLXWm41JidyzI3PJjd8sXWaVqg43WWk= +cloud.google.com/go/securitycenter v1.16.0/go.mod h1:Q9GMaLQFUD+5ZTabrbujNWLtSLZIZF7SAR0wWECrjdk= +cloud.google.com/go/securitycenter v1.23.0/go.mod h1:8pwQ4n+Y9WCWM278R8W3nF65QtY172h4S8aXyI9/hsQ= +cloud.google.com/go/servicecontrol v1.4.0/go.mod h1:o0hUSJ1TXJAmi/7fLJAedOovnujSEvjKCAFNXPQ1RaU= +cloud.google.com/go/servicecontrol v1.5.0/go.mod h1:qM0CnXHhyqKVuiZnGKrIurvVImCs8gmqWsDoqe9sU1s= +cloud.google.com/go/servicedirectory v1.4.0/go.mod h1:gH1MUaZCgtP7qQiI+F+A+OpeKF/HQWgtAddhTbhL2bs= +cloud.google.com/go/servicedirectory v1.5.0/go.mod h1:QMKFL0NUySbpZJ1UZs3oFAmdvVxhhxB6eJ/Vlp73dfg= +cloud.google.com/go/servicedirectory v1.6.0/go.mod h1:pUlbnWsLH9c13yGkxCmfumWEPjsRs1RlmJ4pqiNjVL4= +cloud.google.com/go/servicedirectory v1.7.0/go.mod h1:5p/U5oyvgYGYejufvxhgwjL8UVXjkuw7q5XcG10wx1U= +cloud.google.com/go/servicedirectory v1.11.0/go.mod h1:Xv0YVH8s4pVOwfM/1eMTl0XJ6bzIOSLDt8f8eLaGOxQ= +cloud.google.com/go/servicemanagement v1.4.0/go.mod h1:d8t8MDbezI7Z2R1O/wu8oTggo3BI2GKYbdG4y/SJTco= +cloud.google.com/go/servicemanagement v1.5.0/go.mod h1:XGaCRe57kfqu4+lRxaFEAuqmjzF0r+gWHjWqKqBvKFo= +cloud.google.com/go/serviceusage v1.3.0/go.mod h1:Hya1cozXM4SeSKTAgGXgj97GlqUvF5JaoXacR1JTP/E= +cloud.google.com/go/serviceusage v1.4.0/go.mod h1:SB4yxXSaYVuUBYUml6qklyONXNLt83U0Rb+CXyhjEeU= +cloud.google.com/go/shell v1.3.0/go.mod h1:VZ9HmRjZBsjLGXusm7K5Q5lzzByZmJHf1d0IWHEN5X4= +cloud.google.com/go/shell v1.4.0/go.mod h1:HDxPzZf3GkDdhExzD/gs8Grqk+dmYcEjGShZgYa9URw= +cloud.google.com/go/shell v1.7.1/go.mod h1:u1RaM+huXFaTojTbW4g9P5emOrrmLE69KrxqQahKn4g= cloud.google.com/go/spanner v1.7.0/go.mod h1:sd3K2gZ9Fd0vMPLXzeCrF6fq4i63Q7aTLW/lBIfBkIk= +cloud.google.com/go/spanner v1.47.0/go.mod h1:IXsJwVW2j4UKs0eYDqodab6HgGuA1bViSqW4uH9lfUI= +cloud.google.com/go/speech v1.6.0/go.mod h1:79tcr4FHCimOp56lwC01xnt/WPJZc4v3gzyT7FoBkCM= +cloud.google.com/go/speech v1.7.0/go.mod h1:KptqL+BAQIhMsj1kOP2la5DSEEerPDuOP/2mmkhHhZQ= +cloud.google.com/go/speech v1.8.0/go.mod h1:9bYIl1/tjsAnMgKGHKmBZzXKEkGgtU+MpdDPTE9f7y0= +cloud.google.com/go/speech v1.9.0/go.mod h1:xQ0jTcmnRFFM2RfX/U+rk6FQNUF6DQlydUSyoooSpco= +cloud.google.com/go/speech v1.19.0/go.mod h1:8rVNzU43tQvxDaGvqOhpDqgkJTFowBpDvCJ14kGlJYo= cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw= cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0ZeosJ0Rtdos= cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk= cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs= cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= +cloud.google.com/go/storage v1.14.0/go.mod h1:GrKmX003DSIwi9o29oFT7YDnHYwZoctc3fOKtUw0Xmo= +cloud.google.com/go/storage v1.22.1/go.mod h1:S8N1cAStu7BOeFfE8KAQzmyyLkK8p/vmRq6kuBTW58Y= +cloud.google.com/go/storage v1.23.0/go.mod h1:vOEEDNFnciUMhBeT6hsJIn3ieU5cFRmzeLgDvXzfIXc= +cloud.google.com/go/storage v1.27.0/go.mod h1:x9DOL8TK/ygDUMieqwfhdpQryTeEkhGKMi80i/iqR2s= +cloud.google.com/go/storage v1.30.1 h1:uOdMxAs8HExqBlnLtnQyP0YkvbiDpdGShGKtx6U/oNM= +cloud.google.com/go/storage v1.30.1/go.mod h1:NfxhC0UJE1aXSx7CIIbCf7y9HKT7BiccwkR7+P7gN8E= +cloud.google.com/go/storagetransfer v1.5.0/go.mod h1:dxNzUopWy7RQevYFHewchb29POFv3/AaBgnhqzqiK0w= +cloud.google.com/go/storagetransfer v1.6.0/go.mod h1:y77xm4CQV/ZhFZH75PLEXY0ROiS7Gh6pSKrM8dJyg6I= +cloud.google.com/go/storagetransfer v1.10.0/go.mod h1:DM4sTlSmGiNczmV6iZyceIh2dbs+7z2Ayg6YAiQlYfA= +cloud.google.com/go/talent v1.1.0/go.mod h1:Vl4pt9jiHKvOgF9KoZo6Kob9oV4lwd/ZD5Cto54zDRw= +cloud.google.com/go/talent v1.2.0/go.mod h1:MoNF9bhFQbiJ6eFD3uSsg0uBALw4n4gaCaEjBw9zo8g= +cloud.google.com/go/talent v1.3.0/go.mod h1:CmcxwJ/PKfRgd1pBjQgU6W3YBwiewmUzQYH5HHmSCmM= +cloud.google.com/go/talent v1.4.0/go.mod h1:ezFtAgVuRf8jRsvyE6EwmbTK5LKciD4KVnHuDEFmOOA= +cloud.google.com/go/talent v1.6.2/go.mod h1:CbGvmKCG61mkdjcqTcLOkb2ZN1SrQI8MDyma2l7VD24= +cloud.google.com/go/texttospeech v1.4.0/go.mod h1:FX8HQHA6sEpJ7rCMSfXuzBcysDAuWusNNNvN9FELDd8= +cloud.google.com/go/texttospeech v1.5.0/go.mod h1:oKPLhR4n4ZdQqWKURdwxMy0uiTS1xU161C8W57Wkea4= +cloud.google.com/go/texttospeech v1.7.1/go.mod h1:m7QfG5IXxeneGqTapXNxv2ItxP/FS0hCZBwXYqucgSk= +cloud.google.com/go/tpu v1.3.0/go.mod h1:aJIManG0o20tfDQlRIej44FcwGGl/cD0oiRyMKG19IQ= +cloud.google.com/go/tpu v1.4.0/go.mod h1:mjZaX8p0VBgllCzF6wcU2ovUXN9TONFLd7iz227X2Xg= +cloud.google.com/go/tpu v1.6.1/go.mod h1:sOdcHVIgDEEOKuqUoi6Fq53MKHJAtOwtz0GuKsWSH3E= +cloud.google.com/go/trace v1.3.0/go.mod h1:FFUE83d9Ca57C+K8rDl/Ih8LwOzWIV1krKgxg6N0G28= +cloud.google.com/go/trace v1.4.0/go.mod h1:UG0v8UBqzusp+z63o7FK74SdFE+AXpCLdFb1rshXG+Y= +cloud.google.com/go/trace v1.10.1/go.mod h1:gbtL94KE5AJLH3y+WVpfWILmqgc6dXcqgNXdOPAQTYk= +cloud.google.com/go/translate v1.3.0/go.mod h1:gzMUwRjvOqj5i69y/LYLd8RrNQk+hOmIXTi9+nb3Djs= +cloud.google.com/go/translate v1.4.0/go.mod h1:06Dn/ppvLD6WvA5Rhdp029IX2Mi3Mn7fpMRLPvXT5Wg= +cloud.google.com/go/translate v1.8.2/go.mod h1:d1ZH5aaOA0CNhWeXeC8ujd4tdCFw8XoNWRljklu5RHs= +cloud.google.com/go/video v1.8.0/go.mod h1:sTzKFc0bUSByE8Yoh8X0mn8bMymItVGPfTuUBUyRgxk= +cloud.google.com/go/video v1.9.0/go.mod h1:0RhNKFRF5v92f8dQt0yhaHrEuH95m068JYOvLZYnJSw= +cloud.google.com/go/video v1.19.0/go.mod h1:9qmqPqw/Ib2tLqaeHgtakU+l5TcJxCJbhFXM7UJjVzU= +cloud.google.com/go/videointelligence v1.6.0/go.mod h1:w0DIDlVRKtwPCn/C4iwZIJdvC69yInhW0cfi+p546uU= +cloud.google.com/go/videointelligence v1.7.0/go.mod h1:k8pI/1wAhjznARtVT9U1llUaFNPh7muw8QyOUpavru4= +cloud.google.com/go/videointelligence v1.8.0/go.mod h1:dIcCn4gVDdS7yte/w+koiXn5dWVplOZkE+xwG9FgK+M= +cloud.google.com/go/videointelligence v1.9.0/go.mod h1:29lVRMPDYHikk3v8EdPSaL8Ku+eMzDljjuvRs105XoU= +cloud.google.com/go/videointelligence v1.11.1/go.mod h1:76xn/8InyQHarjTWsBR058SmlPCwQjgcvoW0aZykOvo= +cloud.google.com/go/vision v1.2.0/go.mod h1:SmNwgObm5DpFBme2xpyOyasvBc1aPdjvMk2bBk0tKD0= +cloud.google.com/go/vision/v2 v2.2.0/go.mod h1:uCdV4PpN1S0jyCyq8sIM42v2Y6zOLkZs+4R9LrGYwFo= +cloud.google.com/go/vision/v2 v2.3.0/go.mod h1:UO61abBx9QRMFkNBbf1D8B1LXdS2cGiiCRx0vSpZoUo= +cloud.google.com/go/vision/v2 v2.4.0/go.mod h1:VtI579ll9RpVTrdKdkMzckdnwMyX2JILb+MhPqRbPsY= +cloud.google.com/go/vision/v2 v2.5.0/go.mod h1:MmaezXOOE+IWa+cS7OhRRLK2cNv1ZL98zhqFFZaaH2E= +cloud.google.com/go/vision/v2 v2.7.2/go.mod h1:jKa8oSYBWhYiXarHPvP4USxYANYUEdEsQrloLjrSwJU= +cloud.google.com/go/vmmigration v1.2.0/go.mod h1:IRf0o7myyWFSmVR1ItrBSFLFD/rJkfDCUTO4vLlJvsE= +cloud.google.com/go/vmmigration v1.3.0/go.mod h1:oGJ6ZgGPQOFdjHuocGcLqX4lc98YQ7Ygq8YQwHh9A7g= +cloud.google.com/go/vmmigration v1.7.1/go.mod h1:WD+5z7a/IpZ5bKK//YmT9E047AD+rjycCAvyMxGJbro= +cloud.google.com/go/vmwareengine v1.0.0/go.mod h1:Px64x+BvjPZwWuc4HdmVhoygcXqEkGHXoa7uyfTgSI0= +cloud.google.com/go/vpcaccess v1.4.0/go.mod h1:aQHVbTWDYUR1EbTApSVvMq1EnT57ppDmQzZ3imqIk4w= +cloud.google.com/go/vpcaccess v1.5.0/go.mod h1:drmg4HLk9NkZpGfCmZ3Tz0Bwnm2+DKqViEpeEpOq0m8= +cloud.google.com/go/vpcaccess v1.7.1/go.mod h1:FogoD46/ZU+JUBX9D606X21EnxiszYi2tArQwLY4SXs= +cloud.google.com/go/webrisk v1.4.0/go.mod h1:Hn8X6Zr+ziE2aNd8SliSDWpEnSS1u4R9+xXZmFiHmGE= +cloud.google.com/go/webrisk v1.5.0/go.mod h1:iPG6fr52Tv7sGk0H6qUFzmL3HHZev1htXuWDEEsqMTg= +cloud.google.com/go/webrisk v1.6.0/go.mod h1:65sW9V9rOosnc9ZY7A7jsy1zoHS5W9IAXv6dGqhMQMc= +cloud.google.com/go/webrisk v1.7.0/go.mod h1:mVMHgEYH0r337nmt1JyLthzMr6YxwN1aAIEc2fTcq7A= +cloud.google.com/go/webrisk v1.9.1/go.mod h1:4GCmXKcOa2BZcZPn6DCEvE7HypmEJcJkr4mtM+sqYPc= +cloud.google.com/go/websecurityscanner v1.3.0/go.mod h1:uImdKm2wyeXQevQJXeh8Uun/Ym1VqworNDlBXQevGMo= +cloud.google.com/go/websecurityscanner v1.4.0/go.mod h1:ebit/Fp0a+FWu5j4JOmJEV8S8CzdTkAS77oDsiSqYWQ= +cloud.google.com/go/websecurityscanner v1.6.1/go.mod h1:Njgaw3rttgRHXzwCB8kgCYqv5/rGpFCsBOvPbYgszpg= +cloud.google.com/go/workflows v1.6.0/go.mod h1:6t9F5h/unJz41YqfBmqSASJSXccBLtD1Vwf+KmJENM0= +cloud.google.com/go/workflows v1.7.0/go.mod h1:JhSrZuVZWuiDfKEFxU0/F1PQjmpnpcoISEXH2bcHC3M= +cloud.google.com/go/workflows v1.8.0/go.mod h1:ysGhmEajwZxGn1OhGOGKsTXc5PyxOc0vfKf5Af+to4M= +cloud.google.com/go/workflows v1.9.0/go.mod h1:ZGkj1aFIOd9c8Gerkjjq7OW7I5+l6cSvT3ujaO/WwSA= +cloud.google.com/go/workflows v1.11.1/go.mod h1:Z+t10G1wF7h8LgdY/EmRcQY8ptBD/nvofaL6FqlET6g= +code.gitea.io/sdk/gitea v0.12.0/go.mod h1:z3uwDV/b9Ls47NGukYM9XhnHtqPh/J+t40lsUrR6JDY= +collectd.org v0.3.0/go.mod h1:A/8DzQBkF6abtvrT2j/AU/4tiBgJWYyh0y/oB/4MlWE= +contrib.go.opencensus.io/exporter/aws v0.0.0-20181029163544-2befc13012d0/go.mod h1:uu1P0UCM/6RbsMrgPa98ll8ZcHM858i/AD06a9aLRCA= +contrib.go.opencensus.io/exporter/ocagent v0.5.0/go.mod h1:ImxhfLRpxoYiSq891pBrLVhN+qmP8BTVvdH2YLs7Gl0= +contrib.go.opencensus.io/exporter/stackdriver v0.12.1/go.mod h1:iwB6wGarfphGGe/e5CWqyUk/cLzKnWsOKPVW3no6OTw= contrib.go.opencensus.io/exporter/stackdriver v0.13.4/go.mod h1:aXENhDJ1Y4lIg4EUaVTwzvYETVNZk10Pu26tevFKLUc= +contrib.go.opencensus.io/integrations/ocsql v0.1.4/go.mod h1:8DsSdjz3F+APR+0z0WkU1aRorQCFfRxvqjUUPMbF3fE= +contrib.go.opencensus.io/resource v0.1.1/go.mod h1:F361eGI91LCmW1I/Saf+rX0+OFcigGlFvXwEGEnkRLA= +cosmossdk.io/errors v1.0.0-beta.7 h1:gypHW76pTQGVnHKo6QBkb4yFOJjC+sUGRc5Al3Odj1w= +cosmossdk.io/errors v1.0.0-beta.7/go.mod h1:mz6FQMJRku4bY7aqS/Gwfcmr/ue91roMEKAmDUDpBfE= +cosmossdk.io/math v1.0.0-rc.0 h1:ml46ukocrAAoBpYKMidF0R2tQJ1Uxfns0yH8wqgMAFc= +cosmossdk.io/math v1.0.0-rc.0/go.mod h1:Ygz4wBHrgc7g0N+8+MrnTfS9LLn9aaTGa9hKopuym5k= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= -filippo.io/edwards25519 v1.0.0-beta.2 h1:/BZRNzm8N4K4eWfK28dL4yescorxtO7YG1yun8fy+pI= filippo.io/edwards25519 v1.0.0-beta.2/go.mod h1:X+pm78QAUPtFLi1z9PYIlS/bdDnvbCOGKtZ+ACWEf7o= +filippo.io/edwards25519 v1.0.0-rc.1 h1:m0VOOB23frXZvAOK44usCgLWvtsxIoMCTBGJZlpmGfU= +filippo.io/edwards25519 v1.0.0-rc.1/go.mod h1:N1IkdkCkiLB6tki+MYJoSx2JTY9NUlxZE7eHn5EwJns= +git.apache.org/thrift.git v0.0.0-20180902110319-2566ecd5d999/go.mod h1:fPE2ZNJGynbRyZ4dJvy6G277gSllfV2HJqblrnkyeyg= +git.apache.org/thrift.git v0.12.0/go.mod h1:fPE2ZNJGynbRyZ4dJvy6G277gSllfV2HJqblrnkyeyg= +git.sr.ht/~sircmpwn/getopt v0.0.0-20191230200459-23622cc906b3/go.mod h1:wMEGFFFNuPos7vHmWXfszqImLppbc0wEhh6JBfJIUgw= +git.sr.ht/~sircmpwn/go-bare v0.0.0-20210406120253-ab86bc2846d9/go.mod h1:BVJwbDfVjCjoFiKrhkei6NdGcZYpkDkdyCdg1ukytRA= github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 h1:/vQbFIOMbk2FiG/kXiLl8BRyzTWDw7gX/Hz7Dd5eDMs= github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4/go.mod h1:hN7oaIRCjzsZ2dE+yG5k+rsdt3qcwykqK6HVGcKwsw4= -github.com/99designs/keyring v1.1.6 h1:kVDC2uCgVwecxCk+9zoCt2uEL6dt+dfVzMvGgnVcIuM= github.com/99designs/keyring v1.1.6/go.mod h1:16e0ds7LGQQcT59QqkTg72Hh5ShM51Byv5PEmW6uoRU= +github.com/99designs/keyring v1.2.1 h1:tYLp1ULvO7i3fI5vE21ReQuj99QFSs7lGm0xWyJo87o= +github.com/99designs/keyring v1.2.1/go.mod h1:fc+wB5KTk9wQ9sDx0kFXB3A0MaeGHM9AwRStKOQ5vOA= +github.com/Abirdcfly/dupword v0.0.7/go.mod h1:K/4M1kj+Zh39d2aotRwypvasonOyAMH1c/IZJzE0dmk= +github.com/AdaLogics/go-fuzz-headers v0.0.0-20210715213245-6c3934b029d8/go.mod h1:CzsSbkDixRphAF5hS6wbMKq0eI6ccJRb7/A0M6JBnwg= +github.com/AkihiroSuda/containerd-fuse-overlayfs v1.0.0/go.mod h1:0mMDvQFeLbbn1Wy8P2j3hwFhqBq+FKn8OZPno8WLmp8= github.com/Antonboom/errname v0.1.4/go.mod h1:jRXo3m0E0EuCnK3wbsSVH3X55Z4iTDLl6ZfCxwFj4TM= +github.com/Antonboom/errname v0.1.7/go.mod h1:g0ONh16msHIPgJSGsecu1G/dcF2hlYR/0SddnIAGavU= +github.com/Antonboom/nilnil v0.1.1/go.mod h1:L1jBqoWM7AOeTD+tSquifKSesRHs4ZdaxvZR+xdJEaI= +github.com/Azure/azure-amqp-common-go/v2 v2.1.0/go.mod h1:R8rea+gJRuJR6QxTir/XuEd+YuKoUiazDC/N96FiDEU= github.com/Azure/azure-pipeline-go v0.2.1/go.mod h1:UGSo8XybXnIGZ3epmeBw7Jdz+HiUVpqIlpz/HKHylF4= github.com/Azure/azure-pipeline-go v0.2.2/go.mod h1:4rQ/NZncSvGqNkkOsNpOU1tgoNuIlp9AfUH5G1tvCHc= +github.com/Azure/azure-sdk-for-go v16.2.1+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= +github.com/Azure/azure-sdk-for-go v19.1.1+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= +github.com/Azure/azure-sdk-for-go v29.0.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= +github.com/Azure/azure-sdk-for-go v30.1.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= +github.com/Azure/azure-sdk-for-go v35.0.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= +github.com/Azure/azure-sdk-for-go v38.0.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= +github.com/Azure/azure-sdk-for-go v42.3.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= +github.com/Azure/azure-sdk-for-go/sdk/azcore v0.19.0/go.mod h1:h6H6c8enJmmocHUbLiiGY6sx7f9i+X3m1CHdd5c6Rdw= +github.com/Azure/azure-sdk-for-go/sdk/azcore v0.21.1/go.mod h1:fBF9PQNqB8scdgpZ3ufzaLntG0AG7C1WjPMsiFOmfHM= +github.com/Azure/azure-sdk-for-go/sdk/azidentity v0.11.0/go.mod h1:HcM1YX14R7CJcghJGOYCgdezslRSVzqwLf/q+4Y2r/0= +github.com/Azure/azure-sdk-for-go/sdk/internal v0.7.0/go.mod h1:yqy467j36fJxcRV2TzfVZ1pCb5vxm4BtZPUdYWe/Xo8= +github.com/Azure/azure-sdk-for-go/sdk/internal v0.8.3/go.mod h1:KLF4gFr6DcKFZwSuH8w8yEK6DpFl3LP5rhdvAb7Yz5I= +github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v0.3.0/go.mod h1:tPaiy8S5bQ+S5sOiDlINkp7+Ef339+Nz5L5XO+cnOHo= +github.com/Azure/azure-service-bus-go v0.9.1/go.mod h1:yzBx6/BUGfjfeqbRZny9AQIbIe3AcV9WZbAdpkoXOa0= github.com/Azure/azure-storage-blob-go v0.7.0/go.mod h1:f9YQKtsG1nMisotuTPpO0tjNuEjKRYAcJU8/ydDI++4= +github.com/Azure/azure-storage-blob-go v0.8.0/go.mod h1:lPI3aLPpuLTeUwh1sViKXFxwl2B6teiRqI0deQUvsw0= github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78/go.mod h1:LmzpDX56iTiv29bbRTIsUNlaFfuhWRQBWjQdVyAevI8= +github.com/Azure/go-ansiterm v0.0.0-20210608223527-2377c96fe795/go.mod h1:LmzpDX56iTiv29bbRTIsUNlaFfuhWRQBWjQdVyAevI8= github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1 h1:UQHMgLO+TxOElx5B5HZ4hJQsoJ/PvUvKRhJHDQXO8P8= github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1/go.mod h1:xomTg63KZ2rFqZQzSB4Vz2SUXa1BpHTVz9L5PTmPC4E= +github.com/Azure/go-autorest v10.8.1+incompatible/go.mod h1:r+4oMnoxhatjLLJ6zxSWATqVooLgysK6ZNox3g/xq24= +github.com/Azure/go-autorest v10.15.5+incompatible/go.mod h1:r+4oMnoxhatjLLJ6zxSWATqVooLgysK6ZNox3g/xq24= +github.com/Azure/go-autorest v12.0.0+incompatible/go.mod h1:r+4oMnoxhatjLLJ6zxSWATqVooLgysK6ZNox3g/xq24= +github.com/Azure/go-autorest v14.1.1+incompatible/go.mod h1:r+4oMnoxhatjLLJ6zxSWATqVooLgysK6ZNox3g/xq24= +github.com/Azure/go-autorest v14.2.0+incompatible/go.mod h1:r+4oMnoxhatjLLJ6zxSWATqVooLgysK6ZNox3g/xq24= github.com/Azure/go-autorest/autorest v0.9.0/go.mod h1:xyHB1BMZT0cuDHU7I0+g046+BFDTQ8rEZB0s4Yfa6bI= +github.com/Azure/go-autorest/autorest v0.9.3/go.mod h1:GsRuLYvwzLjjjRoWEIyMUaYq8GNUx2nRB378IPt/1p0= +github.com/Azure/go-autorest/autorest v0.9.6/go.mod h1:/FALq9T/kS7b5J5qsQ+RSTUdAmGFqi0vUdVNNx8q630= +github.com/Azure/go-autorest/autorest v0.10.2/go.mod h1:/FALq9T/kS7b5J5qsQ+RSTUdAmGFqi0vUdVNNx8q630= +github.com/Azure/go-autorest/autorest v0.11.1/go.mod h1:JFgpikqFJ/MleTTxwepExTKnFUKKszPS8UavbQYUMuw= +github.com/Azure/go-autorest/autorest v0.11.18/go.mod h1:dSiJPy22c3u0OtOKDNttNgqpNFY/GeWa7GH/Pz56QRA= github.com/Azure/go-autorest/autorest/adal v0.5.0/go.mod h1:8Z9fGy2MpX0PvDjB1pEgQTmVqjGhiHBW7RJJEciWzS0= github.com/Azure/go-autorest/autorest/adal v0.8.0/go.mod h1:Z6vX6WXXuyieHAXwMj0S6HY6e6wcHn37qQMBQlvY3lc= +github.com/Azure/go-autorest/autorest/adal v0.8.1/go.mod h1:ZjhuQClTqx435SRJ2iMlOxPYt3d2C/T/7TiQCVZSn3Q= +github.com/Azure/go-autorest/autorest/adal v0.8.2/go.mod h1:ZjhuQClTqx435SRJ2iMlOxPYt3d2C/T/7TiQCVZSn3Q= +github.com/Azure/go-autorest/autorest/adal v0.8.3/go.mod h1:ZjhuQClTqx435SRJ2iMlOxPYt3d2C/T/7TiQCVZSn3Q= +github.com/Azure/go-autorest/autorest/adal v0.9.0/go.mod h1:/c022QCutn2P7uY+/oQWWNcK9YU+MH96NgK+jErpbcg= +github.com/Azure/go-autorest/autorest/adal v0.9.5/go.mod h1:B7KF7jKIeC9Mct5spmyCB/A8CG/sEz1vwIRGv/bbw7A= +github.com/Azure/go-autorest/autorest/adal v0.9.13/go.mod h1:W/MM4U6nLxnIskrw4UwWzlHfGjwUS50aOsc/I3yuU8M= +github.com/Azure/go-autorest/autorest/azure/auth v0.4.2/go.mod h1:90gmfKdlmKgfjUpnCEpOJzsUEjrWDSLwHIG73tSXddM= +github.com/Azure/go-autorest/autorest/azure/cli v0.3.1/go.mod h1:ZG5p860J94/0kI9mNJVoIoLgXcirM2gF5i2kWloofxw= github.com/Azure/go-autorest/autorest/date v0.1.0/go.mod h1:plvfp3oPSKwf2DNjlBjWF/7vwR+cUD/ELuzDCXwHUVA= github.com/Azure/go-autorest/autorest/date v0.2.0/go.mod h1:vcORJHLJEh643/Ioh9+vPmf1Ij9AEBM5FuBIXLmIy0g= +github.com/Azure/go-autorest/autorest/date v0.3.0/go.mod h1:BI0uouVdmngYNUzGWeSYnokU+TrmwEsOqdt8Y6sso74= github.com/Azure/go-autorest/autorest/mocks v0.1.0/go.mod h1:OTyCOPRA2IgIlWxVYxBee2F5Gr4kF2zd2J5cFRaIDN0= github.com/Azure/go-autorest/autorest/mocks v0.2.0/go.mod h1:OTyCOPRA2IgIlWxVYxBee2F5Gr4kF2zd2J5cFRaIDN0= github.com/Azure/go-autorest/autorest/mocks v0.3.0/go.mod h1:a8FDP3DYzQ4RYfVAxAN3SVSiiO77gL2j2ronKKP0syM= +github.com/Azure/go-autorest/autorest/mocks v0.4.0/go.mod h1:LTp+uSrOhSkaKrUy935gNZuuIPPVsHlr9DSOxSayd+k= +github.com/Azure/go-autorest/autorest/mocks v0.4.1/go.mod h1:LTp+uSrOhSkaKrUy935gNZuuIPPVsHlr9DSOxSayd+k= +github.com/Azure/go-autorest/autorest/to v0.2.0/go.mod h1:GunWKJp1AEqgMaGLV+iocmRAJWqST1wQYhyyjXJ3SJc= +github.com/Azure/go-autorest/autorest/to v0.3.0/go.mod h1:MgwOyqaIuKdG4TL/2ywSsIWKAfJfgHDo8ObuUk3t5sA= +github.com/Azure/go-autorest/autorest/validation v0.1.0/go.mod h1:Ha3z/SqBeaalWQvokg3NZAlQTalVMtOIAs1aGK7G6u8= +github.com/Azure/go-autorest/autorest/validation v0.2.0/go.mod h1:3EEqHnBxQGHXRYq3HT1WyXAvT7LLY3tl70hw6tQIbjI= github.com/Azure/go-autorest/logger v0.1.0/go.mod h1:oExouG+K6PryycPJfVSxi/koC6LSNgds39diKLz7Vrc= +github.com/Azure/go-autorest/logger v0.2.0/go.mod h1:T9E3cAhj2VqvPOtCYAvby9aBXkZmbF5NWuPV8+WeEW8= +github.com/Azure/go-autorest/logger v0.2.1/go.mod h1:T9E3cAhj2VqvPOtCYAvby9aBXkZmbF5NWuPV8+WeEW8= github.com/Azure/go-autorest/tracing v0.5.0/go.mod h1:r/s2XiOKccPW3HrqB+W0TQzfbtp2fGCgRFtBroKn4Dk= +github.com/Azure/go-autorest/tracing v0.6.0/go.mod h1:+vhtPC754Xsa23ID7GlGsrdKBpUA79WCAKPPZVC2DeU= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/BurntSushi/toml v0.4.1/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ= +github.com/BurntSushi/toml v1.2.0/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ= +github.com/BurntSushi/toml v1.2.1/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ= github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= -github.com/ChainSafe/go-schnorrkel v0.0.0-20200405005733-88cbf1b4c40d h1:nalkkPQcITbvhmL4+C4cKA87NW0tfm3Kl9VXRoPywFg= -github.com/ChainSafe/go-schnorrkel v0.0.0-20200405005733-88cbf1b4c40d/go.mod h1:URdX5+vg25ts3aCh8H5IFZybJYKWhJHYMTnf+ULtoC4= +github.com/ChainSafe/go-schnorrkel v1.0.0 h1:3aDA67lAykLaG1y3AOjs88dMxC88PgUuHRrLeDnvGIM= +github.com/ChainSafe/go-schnorrkel v1.0.0/go.mod h1:dpzHYVxLZcp8pjlV+O+UR8K0Hp/z7vcchBSbMBEhCw4= +github.com/DATA-DOG/go-sqlmock v1.3.3/go.mod h1:f/Ixk793poVmq4qj/V1dPUg2JEAKC73Q5eFN3EC/SaM= +github.com/DATA-DOG/go-sqlmock v1.5.0/go.mod h1:f/Ixk793poVmq4qj/V1dPUg2JEAKC73Q5eFN3EC/SaM= github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ= github.com/DataDog/zstd v1.4.1/go.mod h1:1jcaCB/ufaK+sKp1NBhlGmpz41jOoPQ35bpF36t7BBo= -github.com/DataDog/zstd v1.4.5 h1:EndNeuB0l9syBZhut0wns3gV1hL8zX8LIu6ZiVHWLIQ= github.com/DataDog/zstd v1.4.5/go.mod h1:1jcaCB/ufaK+sKp1NBhlGmpz41jOoPQ35bpF36t7BBo= -github.com/DecentralCardGame/cardobject v0.4.13 h1:B+0ad3ULK/PIJNo9wMgVxtEmBHNEUyU+9KRa61s0eIc= -github.com/DecentralCardGame/cardobject v0.4.13/go.mod h1:waAoRvDCDVTBlPjEroIIfXpX2PQnJvgUssRN4Ji4VFM= +github.com/DataDog/zstd v1.5.0/go.mod h1:g4AWEaM3yOg3HYfnJ3YIawPnVdXJh9QME85blwSAmyw= +github.com/DecentralCardGame/cardobject v0.5.0 h1:6tOcE1U9+NfQ6kuf5zzV7wQ9OLqhKYRz5m9PgwHKPjw= +github.com/DecentralCardGame/cardobject v0.5.0/go.mod h1:waAoRvDCDVTBlPjEroIIfXpX2PQnJvgUssRN4Ji4VFM= +github.com/Djarvur/go-err113 v0.0.0-20200410182137-af658d038157/go.mod h1:4UJr5HIiMZrwgkSPdsjy2uOQExX/WEILpIrO9UPGuXs= github.com/Djarvur/go-err113 v0.0.0-20210108212216-aea10b59be24/go.mod h1:4UJr5HIiMZrwgkSPdsjy2uOQExX/WEILpIrO9UPGuXs= +github.com/Djarvur/go-err113 v0.1.0/go.mod h1:4UJr5HIiMZrwgkSPdsjy2uOQExX/WEILpIrO9UPGuXs= +github.com/GaijinEntertainment/go-exhaustruct/v2 v2.3.0/go.mod h1:b3g59n2Y+T5xmcxJL+UEG2f8cQploZm1mR/v6BW0mU0= +github.com/GoogleCloudPlatform/cloudsql-proxy v0.0.0-20191009163259-e802c2cb94ae/go.mod h1:mjwGPas4yKduTyubHvD1Atl9r1rUq8DfVy+gkVvZ+oo= +github.com/GoogleCloudPlatform/k8s-cloud-provider v0.0.0-20190822182118-27a4ced34534/go.mod h1:iroGtC8B3tQiqtds1l+mgk/BBOrxbqjH+eUfFQYRc14= +github.com/HdrHistogram/hdrhistogram-go v1.1.0/go.mod h1:yDgFjdqOqDEKOvasDdhWNXYg9BVp4O+o5f6V/ehm6Oo= +github.com/HdrHistogram/hdrhistogram-go v1.1.2/go.mod h1:yDgFjdqOqDEKOvasDdhWNXYg9BVp4O+o5f6V/ehm6Oo= github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible/go.mod h1:r7JcOSlj0wfOMncg0iLm8Leh48TZaKVeNIfJntJ2wa0= 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.0.3/go.mod h1:VPu/7SZ7ePZ3QOrcuXROw5FAcLl4a0cBrbBpGY/8hQs= +github.com/Masterminds/semver/v3 v3.1.0/go.mod h1:VPu/7SZ7ePZ3QOrcuXROw5FAcLl4a0cBrbBpGY/8hQs= +github.com/Masterminds/semver/v3 v3.2.0/go.mod h1:qvl/7zhW3nngYb5+80sSMF+FG2BjYrf8m9wsX0PNOMQ= 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.4.11/go.mod h1:VhR8bwka0BXejwEJY73c50VrPtXAaKcyvVC4A4RozmA= github.com/Microsoft/go-winio v0.4.14/go.mod h1:qXqCSQ3Xa7+6tgxaGTIe4Kpcdsi+P8jBhyzoq1bpyYA= -github.com/Microsoft/go-winio v0.5.0 h1:Elr9Wn+sGKPlkaBvwu4mTrxtmOp3F3yV9qhaHbXGjwU= -github.com/Microsoft/go-winio v0.5.0/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= +github.com/Microsoft/go-winio v0.4.15-0.20190919025122-fc70bd9a86b5/go.mod h1:tTuCMEN+UleMWgg9dVx4Hu52b1bJo+59jBh3ajtinzw= +github.com/Microsoft/go-winio v0.4.15-0.20200908182639-5b44b70ab3ab/go.mod h1:tTuCMEN+UleMWgg9dVx4Hu52b1bJo+59jBh3ajtinzw= +github.com/Microsoft/go-winio v0.4.15/go.mod h1:tTuCMEN+UleMWgg9dVx4Hu52b1bJo+59jBh3ajtinzw= +github.com/Microsoft/go-winio v0.4.16-0.20201130162521-d1ffc52c7331/go.mod h1:XB6nPKklQyQ7GC9LdcBEcBl8PF76WugXOPRXwdLnMv0= +github.com/Microsoft/go-winio v0.4.16/go.mod h1:XB6nPKklQyQ7GC9LdcBEcBl8PF76WugXOPRXwdLnMv0= +github.com/Microsoft/go-winio v0.4.17-0.20210211115548-6eac466e5fa3/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= +github.com/Microsoft/go-winio v0.4.17-0.20210324224401-5516f17a5958/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= +github.com/Microsoft/go-winio v0.4.17/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= +github.com/Microsoft/go-winio v0.5.1/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= +github.com/Microsoft/go-winio v0.5.2/go.mod h1:WpS1mjBmmwHBEWmogvA2mj8546UReBk4v8QkMxJ6pZY= +github.com/Microsoft/go-winio v0.6.0 h1:slsWYD/zyx7lCXoZVlvQrj0hPTM1HI4+v1sIda2yDvg= +github.com/Microsoft/go-winio v0.6.0/go.mod h1:cTAf44im0RAYeL23bpB+fzCyDH2MJiz2BO69KH/soAE= +github.com/Microsoft/hcsshim v0.8.6/go.mod h1:Op3hHsoHPAvb6lceZHDtd9OkTew38wNoXnJs8iY7rUg= +github.com/Microsoft/hcsshim v0.8.7-0.20190325164909-8abdbb8205e4/go.mod h1:Op3hHsoHPAvb6lceZHDtd9OkTew38wNoXnJs8iY7rUg= +github.com/Microsoft/hcsshim v0.8.7/go.mod h1:OHd7sQqRFrYd3RmSgbgji+ctCwkbq2wbEYNSzOYtcBQ= +github.com/Microsoft/hcsshim v0.8.9/go.mod h1:5692vkUqntj1idxauYlpoINNKeqCiG6Sg38RRsjT5y8= +github.com/Microsoft/hcsshim v0.8.10/go.mod h1:g5uw8EV2mAlzqe94tfNBNdr89fnbD/n3HV0OhsddkmM= +github.com/Microsoft/hcsshim v0.8.14/go.mod h1:NtVKoYxQuTLx6gEq0L96c9Ju4JbRJ4nY2ow3VK6a9Lg= +github.com/Microsoft/hcsshim v0.8.15/go.mod h1:x38A4YbHbdxJtc0sF6oIz+RG0npwSCAvn69iY6URG00= +github.com/Microsoft/hcsshim v0.8.16/go.mod h1:o5/SZqmR7x9JNKsW3pu+nqHm0MF8vbA+VxGOoXdC600= +github.com/Microsoft/hcsshim v0.8.20/go.mod h1:+w2gRZ5ReXQhFOrvSQeNfhrYB/dg3oDwTOcER2fw4I4= +github.com/Microsoft/hcsshim v0.8.21/go.mod h1:+w2gRZ5ReXQhFOrvSQeNfhrYB/dg3oDwTOcER2fw4I4= +github.com/Microsoft/hcsshim v0.8.23/go.mod h1:4zegtUJth7lAvFyc6cH2gGQ5B3OFQim01nnU2M8jKDg= +github.com/Microsoft/hcsshim v0.9.2/go.mod h1:7pLA8lDk46WKDWlVsENo92gC0XFa8rbKfyFRBqxEbCc= +github.com/Microsoft/hcsshim v0.9.4/go.mod h1:7pLA8lDk46WKDWlVsENo92gC0XFa8rbKfyFRBqxEbCc= +github.com/Microsoft/hcsshim/test v0.0.0-20200826032352-301c83a30e7c/go.mod h1:30A5igQ91GEmhYJF8TaRP79pMBOYynRsyOByfVV0dU4= +github.com/Microsoft/hcsshim/test v0.0.0-20201218223536-d3e5debf77da/go.mod h1:5hlzMzRKMLyo42nCZ9oml8AdTlq/0cvIaBv6tK1RehU= +github.com/Microsoft/hcsshim/test v0.0.0-20210227013316-43a75bb4edd3/go.mod h1:mw7qgWloBUl75W/gVH3cQszUg1+gUITj7D6NY7ywVnY= +github.com/NYTimes/gziphandler v0.0.0-20170623195520-56545f4a5d46/go.mod h1:3wb06e3pkSAbeQ52E9H9iFoQsEEwGN64994WTCIhntQ= +github.com/NYTimes/gziphandler v1.1.1/go.mod h1:n/CVRwUEOgIxrgPvAQhUUr9oeUtvrhMomdKFjzJNB0c= github.com/Nvveen/Gotty v0.0.0-20120604004816-cd527374f1e5 h1:TngWCqHvy9oXAN6lEVMRuU21PR1EtLVZJmdB18Gu3Rw= github.com/Nvveen/Gotty v0.0.0-20120604004816-cd527374f1e5/go.mod h1:lmUJ/7eu/Q8D7ML55dXQrVaamCz2vxCfdQBasLZfHKk= github.com/OneOfOne/xxhash v1.2.2 h1:KMrpdQIwFcEqXDklaen+P1axHaj9BSKzvpUUfnHldSE= github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= github.com/OpenPeeDeeP/depguard v1.0.1/go.mod h1:xsIw86fROiiwelg+jB2uM9PiKihMMmUx/1V+TNhjQvM= +github.com/OpenPeeDeeP/depguard v1.1.1/go.mod h1:JtAMzWkmFEzDPyAd+W0NHl1lvpQKTvT9jnRVsohBKpc= +github.com/ProtonMail/go-crypto v0.0.0-20221026131551-cf6655e29de4/go.mod h1:UBYPn8k0D56RtnR8RFQMjmh4KrZzWJ5o7Z9SYjossQ8= +github.com/PuerkitoBio/purell v1.0.0/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= +github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= +github.com/PuerkitoBio/urlesc v0.0.0-20160726150825-5bd2802263f2/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= +github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= +github.com/Shopify/logrus-bugsnag v0.0.0-20171204204709-577dee27f20d/go.mod h1:HI8ITrYtUY+O+ZhtlqUnD8+KwNPOyugEhfP9fdUIaEQ= github.com/Shopify/sarama v1.19.0/go.mod h1:FVkBWblsNy7DGZRfXLU0O9RCGt5g3g3yEuWXgklEdEo= github.com/Shopify/toxiproxy v2.1.4+incompatible/go.mod h1:OXgGpZ6Cli1/URJOF1DMxUHB2q5Ap20/P/eIdh4G0pI= github.com/StackExchange/wmi v0.0.0-20180116203802-5d049714c4a6/go.mod h1:3eOhrUMpNV+6aFIbp5/iudMxNCF27Vw2OZgy4xEx0Fg= github.com/StackExchange/wmi v1.2.1/go.mod h1:rcmrprowKIVzvc+NUiLncP2uuArMWLCbu9SBzvHz7e8= github.com/VictoriaMetrics/fastcache v1.5.7/go.mod h1:ptDBkNMQI4RtmVo8VS/XwRY6RoTu1dAWCbrk+6WsEM8= +github.com/VictoriaMetrics/fastcache v1.6.0/go.mod h1:0qHz5QP0GMX4pfmMA/zt5RgfNuXJrTP0zS7DqpHGGTw= github.com/VividCortex/gohistogram v1.0.0 h1:6+hBz+qvs0JOrrNhhmR7lFxo5sINxBCGXrdtl/UvroE= github.com/VividCortex/gohistogram v1.0.0/go.mod h1:Pf5mBqqDxYaXu3hDrrU+w6nw50o/4+TcAqDqk/vUH7g= -github.com/Workiva/go-datastructures v1.0.52 h1:PLSK6pwn8mYdaoaCZEMsXBpBotr4HHn9abU0yMQt0NI= -github.com/Workiva/go-datastructures v1.0.52/go.mod h1:Z+F2Rca0qCsVYDS8z7bAGm8f3UkzuWYS/oBZz5a7VVA= +github.com/Workiva/go-datastructures v1.0.53 h1:J6Y/52yX10Xc5JjXmGtWoSSxs3mZnGSaq37xZZh7Yig= +github.com/Workiva/go-datastructures v1.0.53/go.mod h1:1yZL+zfsztete+ePzZz/Zb1/t5BnDuE2Ya2MMGhzP6A= github.com/Zilliqa/gozilliqa-sdk v1.2.1-0.20201201074141-dd0ecada1be6/go.mod h1:eSYp2T6f0apnuW8TzhV3f6Aff2SE8Dwio++U4ha4yEM= -github.com/adlio/schema v1.1.13 h1:LeNMVg5Z1FX+Qgz8tJUijBLRdcpbFUElz+d1489On98= -github.com/adlio/schema v1.1.13/go.mod h1:L5Z7tw+7lRK1Fnpi/LT/ooCP1elkXn0krMWBQHUhEDE= +github.com/acomagu/bufpipe v1.0.3/go.mod h1:mxdxdup/WdsKVreO5GpW4+M/1CE2sMG4jeGJ2sYmHc4= +github.com/adlio/schema v1.3.3 h1:oBJn8I02PyTB466pZO1UZEn1TV5XLlifBSyMrmHl/1I= +github.com/adlio/schema v1.3.3/go.mod h1:1EsRssiv9/Ce2CMzq5DoL7RiMshhuigQxrR4DMV9fHg= github.com/aead/siphash v1.0.1/go.mod h1:Nywa3cDsYNNK3gaciGTWPwHt0wlpNV15vwmswBAUSII= github.com/afex/hystrix-go v0.0.0-20180502004556-fa1af6a1f4f5/go.mod h1:SkGFH1ia65gfNATL8TAiHDNxPzPdmEL5uirI2Uyuz6c= +github.com/agext/levenshtein v1.2.3/go.mod h1:JEDfjyjHDjOF/1e4FlBE/PkbqA9OfWu2ki2W0IB5558= +github.com/ajstarks/svgo v0.0.0-20180226025133-644b8db467af/go.mod h1:K08gAheRH3/J6wwsYMMT4xOr94bZjxIelGM0+d/wbFw= +github.com/alecthomas/kingpin v2.2.6+incompatible/go.mod h1:59OFYbFVLKQKq+mqrL6Rw5bR0c3ACQaawgXx0QYndlE= +github.com/alecthomas/kingpin/v2 v2.3.1/go.mod h1:oYL5vtsvEHZGHxU7DMp32Dvx+qL+ptGn6lWaot2vCNE= github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk541a8SKzHPHnH3zbiI+7dagKZ0cgpgrD7Fyho= +github.com/alecthomas/units v0.0.0-20211218093645-b94a6e3cc137/go.mod h1:OMCwj8VM1Kc9e19TLln2VL61YJF0x1XFtfdL4JdbSyE= +github.com/alexflint/go-filemutex v0.0.0-20171022225611-72bdc8eae2ae/go.mod h1:CgnQgUtFrFz9mxFNtED3jI5tLDjKlOM+oUF/sTk6ps0= +github.com/alexflint/go-filemutex v1.1.0/go.mod h1:7P4iRhttt/nUvUOrYIhcpMzv2G6CY9UnI16Z+UJqRyk= 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/allegro/bigcache v1.2.1-0.20190218064605-e24eb225f156/go.mod h1:Cb/ax3seSYIx7SuZdm2G2xzfwmv3TPSk2ucNfQESPXM= +github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883/go.mod h1:rCTlJbsFo29Kk6CurOXKm700vrz8f0KW0JNfpkRJY/8= github.com/andybalholm/brotli v1.0.0/go.mod h1:loMXtMfwqflxFJPmdbJO0a3KNoPuLBgiu3qAvBg8x/Y= +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/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239/go.mod h1:2FmKhYUyUczH0OGQWaF5ceTx0UBShxjsH6f8oGKYe2c= +github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be/go.mod h1:ySMOLuWl6zY27l47sB3qLNK6tF2fkHG55UZxx8oIVo4= github.com/antihax/optional v0.0.0-20180407024304-ca021399b1a6/go.mod h1:V8iCPQYkqmusNa815XgQio277wI47sdRh1dUOLdyC6Q= github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= github.com/aokoli/goutils v1.0.1/go.mod h1:SijmP0QR8LtwsmDs8Yii5Z/S4trXFGFC2oO5g9DP+DQ= +github.com/apache/arrow/go/arrow v0.0.0-20191024131854-af6fa24be0db/go.mod h1:VTxUBvSJ3s3eHAg65PNgrsn5BtqCRPdmyXh6rAfdxN0= github.com/apache/thrift v0.12.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= github.com/apache/thrift v0.13.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= +github.com/apex/log v1.1.4/go.mod h1:AlpoD9aScyQfJDVHmLMEcx4oU6LqzkWp4Mg9GdAcEvQ= +github.com/apex/log v1.3.0/go.mod h1:jd8Vpsr46WAe3EZSQ/IUMs2qQD/GOycT5rPWCO1yGcs= +github.com/apex/logs v0.0.4/go.mod h1:XzxuLZ5myVHDy9SAmYpamKKRNApGj54PfYLcFrXqDwo= +github.com/aphistic/golf v0.0.0-20180712155816-02c07f170c5a/go.mod h1:3NqKYiepwy8kCu4PNA+aP7WUV72eXWJeP9/r3/K9aLE= +github.com/aphistic/sweet v0.2.0/go.mod h1:fWDlIh/isSE9n6EPsRmC0det+whmX6dJid3stzu0Xys= github.com/aristanetworks/goarista v0.0.0-20170210015632-ea17b1a17847/go.mod h1:D/tb0zPVXnP7fmsLZjtdUhSsumbK/ij54UXjjVgMGxQ= github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= +github.com/armon/circbuf v0.0.0-20190214190532-5111143e8da2/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8= github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY= -github.com/armon/go-metrics v0.3.9 h1:O2sNqxBdvq8Eq5xmzljcYzAORli6RWCvEym4cJf9m18= github.com/armon/go-metrics v0.3.9/go.mod h1:4O98XIr/9W0sxpJ8UaYkvjk10Iff7SnFrb4QAOwNTFc= +github.com/armon/go-metrics v0.3.10/go.mod h1:4O98XIr/9W0sxpJ8UaYkvjk10Iff7SnFrb4QAOwNTFc= +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 v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= +github.com/armon/go-radix v1.0.0/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= +github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs= github.com/aryann/difflib v0.0.0-20170710044230-e206f873d14a/go.mod h1:DAHtR1m6lCRdSC2Tm3DSWRPvIPr6xNKyeHdqDQSQT+A= +github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY= github.com/ashanbrown/forbidigo v1.2.0/go.mod h1:vVW7PEdqEFqapJe95xHkTfB1+XvZXBFg8t0sG2FIxmI= +github.com/ashanbrown/forbidigo v1.3.0/go.mod h1:vVW7PEdqEFqapJe95xHkTfB1+XvZXBFg8t0sG2FIxmI= github.com/ashanbrown/makezero v0.0.0-20210520155254-b6261585ddde/go.mod h1:oG9Dnez7/ESBqc4EdrdNlryeo7d0KcW1ftXHm7nU/UU= +github.com/ashanbrown/makezero v1.1.1/go.mod h1:i1bJLCRSCHOcOa9Y6MyF2FTfMZMFdHvxKHxgO5Z1axI= github.com/aws/aws-lambda-go v1.13.3/go.mod h1:4UKl9IzQMoD+QF79YdCuzCwp8VbmG4VAQwij/eHl5CU= +github.com/aws/aws-sdk-go v1.15.11/go.mod h1:mFuSZ37Z9YOHbQEwBWztmVzqXrEkub65tZoCYDt7FT0= +github.com/aws/aws-sdk-go v1.15.27/go.mod h1:mFuSZ37Z9YOHbQEwBWztmVzqXrEkub65tZoCYDt7FT0= +github.com/aws/aws-sdk-go v1.15.90/go.mod h1:es1KtYUFs7le0xQ3rOihkuoVD90z7D0fR2Qm4S00/gU= +github.com/aws/aws-sdk-go v1.16.26/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= +github.com/aws/aws-sdk-go v1.19.18/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= +github.com/aws/aws-sdk-go v1.19.45/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= +github.com/aws/aws-sdk-go v1.20.6/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= github.com/aws/aws-sdk-go v1.23.20/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= +github.com/aws/aws-sdk-go v1.25.11/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.25.48/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= github.com/aws/aws-sdk-go v1.27.0/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= +github.com/aws/aws-sdk-go v1.27.1/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= +github.com/aws/aws-sdk-go v1.31.6/go.mod h1:5zCpMtNQVjRREroY7sYe8lOMRSxkhG6MZveU8YkpAk0= github.com/aws/aws-sdk-go v1.36.30/go.mod h1:hcU610XS61/+aQV88ixoOzUoG7v3b31pl2zKMmprdro= +github.com/aws/aws-sdk-go v1.40.45/go.mod h1:585smgzpB/KqRA+K3y/NL/oYRqQvpNJYvLm+LY1U59Q= +github.com/aws/aws-sdk-go v1.44.122 h1:p6mw01WBaNpbdP2xrisz5tIkcNwzj/HysobNoaAHjgo= +github.com/aws/aws-sdk-go v1.44.122/go.mod h1:y4AeaBuwd2Lk+GepC1E9v0qOiTws0MIWAX4oIKwKHZo= github.com/aws/aws-sdk-go-v2 v0.18.0/go.mod h1:JWVYvqSMppoMJC0x5wdwiImzgXTI9FuZwxzkQq9wy+g= +github.com/aws/aws-sdk-go-v2 v1.2.0/go.mod h1:zEQs02YRBw1DjK0PoJv3ygDYOFTre1ejlJWl8FwAuQo= +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/config v1.1.1/go.mod h1:0XsVy9lBI/BCXm+2Tuvt39YmdHwS5unDQmxZOYe8F5Y= +github.com/aws/aws-sdk-go-v2/credentials v1.1.1/go.mod h1:mM2iIjwl7LULWtS6JCACyInboHirisUUdkBPoTHMOUo= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.0.2/go.mod h1:3hGg3PpiEjHnrkrlasTfxFqUsZ2GCk/fMUn4CbKgSkM= +github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.8.1/go.mod h1:CM+19rL1+4dFWnOQKwDc7H1KwXTz+h61oUSHyhV0b3o= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.0.2/go.mod h1:45MfaXZ0cNbeuT0KQ1XJylq8A6+OpVV2E5kvY/Kq+u8= +github.com/aws/aws-sdk-go-v2/service/route53 v1.1.1/go.mod h1:rLiOUrPLW/Er5kRcQ7NkwbjlijluLsrIbu/iyl35RO4= +github.com/aws/aws-sdk-go-v2/service/sso v1.1.1/go.mod h1:SuZJxklHxLAXgLTc1iFXbEWkXs7QRTQpCLGaKIprQW0= +github.com/aws/aws-sdk-go-v2/service/sts v1.1.1/go.mod h1:Wi0EBZwiz/K44YliU0EKxqTCJGUfYTWXrrBwkq736bM= +github.com/aws/smithy-go v1.1.0/go.mod h1:EzMw8dbp/YJL4A5/sbhGddag+NPT7q084agLbB9LgIw= +github.com/aws/smithy-go v1.8.0/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aybabtme/rgbterm v0.0.0-20170906152045-cc83f3b3ce59/go.mod h1:q/89r3U2H7sSsE2t6Kca0lfwTK8JdoNGS/yzM/4iH5I= +github.com/benbjohnson/clock v1.0.3/go.mod h1:bGMdMPoPVvcYyt1gHDf4J2KE153Yf9BuiUKYMaxlTDM= +github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= +github.com/benbjohnson/clock v1.3.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= +github.com/beorn7/perks v0.0.0-20160804104726-4c0e84591b9a/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= +github.com/bgentry/go-netrc v0.0.0-20140422174119-9fd32a8b3d3d h1:xDfNPAt8lFiC1UJrqV3uuy861HCTo708pDMbjHHdCas= +github.com/bgentry/go-netrc v0.0.0-20140422174119-9fd32a8b3d3d/go.mod h1:6QX/PXZ00z/TKoufEY6K/a0k6AhaJrQKdFe6OfVXsa4= github.com/bgentry/speakeasy v0.1.0 h1:ByYyxL9InA1OWqxJqqp2A5pYHUrCiAL6K3J+LKSsQkY= github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= +github.com/bitly/go-simplejson v0.5.0/go.mod h1:cXHtHw4XUPsvGaxgjIAn8PhEWG9NfngEKAMDJEczWVA= github.com/bits-and-blooms/bitset v1.2.0/go.mod h1:gIdJ4wp64HaoK2YrL1Q5/N7Y16edYb8uY+O0FJTyyDA= github.com/bketelsen/crypt v0.0.3-0.20200106085610-5cbc8cc4026c/go.mod h1:MKsuJmJgSg28kpZDP6UIiPt0e0Oz0kqKNGyRaWEPv84= github.com/bketelsen/crypt v0.0.4/go.mod h1:aI6NrJ0pMGgvZKL1iVgXLnfIFJtfV+bKCoqOes/6LfM= github.com/bkielbasa/cyclop v1.2.0/go.mod h1:qOI0yy6A7dYC4Zgsa72Ppm9kONl0RoIlPbzot9mhmeI= +github.com/blakesmith/ar v0.0.0-20190502131153-809d4375e1fb/go.mod h1:PkYb9DJNAwrSvRx5DYA+gUcOIgTGVMNkfSCbZM8cWpI= +github.com/blang/semver v3.1.0+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk= +github.com/blang/semver v3.5.0+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk= +github.com/blang/semver v3.5.1+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk= +github.com/blizzy78/varnamelen v0.8.0/go.mod h1:V9TzQZ4fLJ1DSrjVDfl89H7aMnTvKkApdHeyESmyR7k= +github.com/bmizerany/assert v0.0.0-20160611221934-b7ed37b82869/go.mod h1:Ekp36dRnpXw/yCqJaO+ZrUyxD+3VXMFFr56k5XYrpB4= +github.com/bmizerany/pat v0.0.0-20170815010413-6226ea591a40/go.mod h1:8rLXio+WjiTceGBHIoTvn60HIbs7Hm7bcHjyrSqYB9c= +github.com/boltdb/bolt v1.3.1/go.mod h1:clJnj/oiGkjum5o1McbSZDSLxVThjynRyGBgiAx27Ps= +github.com/bombsimon/wsl/v2 v2.0.0/go.mod h1:mf25kr/SqFEPhhcxW1+7pxzGlW+hIl/hYTKY95VwV8U= +github.com/bombsimon/wsl/v2 v2.2.0/go.mod h1:Azh8c3XGEJl9LyX0/sFC+CKMc7Ssgua0g+6abzXN4Pg= +github.com/bombsimon/wsl/v3 v3.0.0/go.mod h1:st10JtZYLE4D5sC7b8xV4zTKZwAQjCH/Hy2Pm1FNZIc= +github.com/bombsimon/wsl/v3 v3.1.0/go.mod h1:st10JtZYLE4D5sC7b8xV4zTKZwAQjCH/Hy2Pm1FNZIc= github.com/bombsimon/wsl/v3 v3.3.0/go.mod h1:st10JtZYLE4D5sC7b8xV4zTKZwAQjCH/Hy2Pm1FNZIc= +github.com/bradfitz/go-smtpd v0.0.0-20170404230938-deb6d6237625/go.mod h1:HYsPBTaaSFSlLx/70C2HPIMNZpVV8+vt/A+FMnYP11g= +github.com/breml/bidichk v0.2.3/go.mod h1:8u2C6DnAy0g2cEq+k/A2+tr9O1s+vHGxWn0LTc70T2A= +github.com/breml/errchkjson v0.3.0/go.mod h1:9Cogkyv9gcT8HREpzi3TiqBxCqDzo8awa92zSDFcofU= +github.com/bshuster-repo/logrus-logstash-hook v0.4.1/go.mod h1:zsTqEiSzDgAa/8GZR7E1qaXrhYNDKBYy5/dWPTIflbk= github.com/btcsuite/btcd v0.0.0-20171128150713-2e60448ffcc6/go.mod h1:Dmm/EzmjnCiweXmzRIAiUWCInVmPgjkzgv5k4tVyXiQ= github.com/btcsuite/btcd v0.0.0-20190115013929-ed77733ec07d/go.mod h1:d3C0AkH6BRcvO8T0UEPu53cnw4IbV63x1bEjildYhO0= github.com/btcsuite/btcd v0.0.0-20190315201642-aa6e0f35703c/go.mod h1:DrZx5ec/dmnfpw9KyYoQyYo7d0KEvTkk/5M/vbZjAr8= github.com/btcsuite/btcd v0.20.1-beta/go.mod h1:wVuoA8VJLEcwgqHBwHmzLRazpKxTv13Px/pDuV7OomQ= github.com/btcsuite/btcd v0.21.0-beta/go.mod h1:ZSWyehm27aAuS9bvkATT+Xte3hjHZ+MRgMY/8NJ7K94= -github.com/btcsuite/btcd v0.22.0-beta h1:LTDpDKUM5EeOFBPM8IXpinEcmZ6FWfNZbE3lfrfdnWo= +github.com/btcsuite/btcd v0.21.0-beta.0.20201114000516-e9c7a5ac6401/go.mod h1:Sv4JPQ3/M+teHz9Bo5jBpkNcP0x6r7rdihlNL/7tTAs= github.com/btcsuite/btcd v0.22.0-beta/go.mod h1:9n5ntfhhHQBIhUvlhDvD3Qg6fRUj4jkN0VB8L8svzOA= +github.com/btcsuite/btcd v0.22.0-beta.0.20220111032746-97732e52810c/go.mod h1:tjmYdS6MLJ5/s0Fj4DbLgSbDHbEqLJrtnHecBFkdz5M= +github.com/btcsuite/btcd v0.22.1/go.mod h1:wqgTSL29+50LRkmOVknEdmt8ZojIzhuWvgu/iptuN7Y= +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/btcec/v2 v2.1.0/go.mod h1:2VzYrv4Gm4apmbVVsSq5bqf1Ec8v56E48Vt0Y/umPgA= +github.com/btcsuite/btcd/btcec/v2 v2.1.2/go.mod h1:ctjw4H1kknNJmRN4iP1R7bTQ+v3GJkZBd6mui8ZsAZE= +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/btcec/v2 v2.3.2 h1:5n0X6hX0Zk+6omWcihdYvdAlGf2DfasC0GMf7DClJ3U= +github.com/btcsuite/btcd/btcec/v2 v2.3.2/go.mod h1:zYzJ8etWJQIv1Ogk7OzpWjowwOdXY1W/17j2MW85J04= +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.2 h1:XLMbX8JQEiwMcYft2EGi8zPUkoa0abKIU6/BJSRsjzQ= +github.com/btcsuite/btcd/btcutil v1.1.2/go.mod h1:UR7dsSJzJUfMmFiiLlIrMq1lS9jh9EdCV7FStZSnpi0= +github.com/btcsuite/btcd/chaincfg/chainhash v1.0.0/go.mod h1:7SFka0XMvUgj3hfZtydOrQY2mwhPclbT2snogU7SQQc= +github.com/btcsuite/btcd/chaincfg/chainhash v1.0.1 h1:q0rUy8C/TYNBQS1+CGKw68tLOFYSNEs0TFnxxnS9+4U= +github.com/btcsuite/btcd/chaincfg/chainhash v1.0.1/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-20180706230648-ab6388e0c60a/go.mod h1:+5NJ2+qvTyV9exUAL/rxXi3DcLg2Ts+ymUAY5y4NvMg= github.com/btcsuite/btcutil v0.0.0-20190207003914-4c204d697803/go.mod h1:+5NJ2+qvTyV9exUAL/rxXi3DcLg2Ts+ymUAY5y4NvMg= github.com/btcsuite/btcutil v0.0.0-20190425235716-9e5f4b9a998d/go.mod h1:+5NJ2+qvTyV9exUAL/rxXi3DcLg2Ts+ymUAY5y4NvMg= github.com/btcsuite/btcutil v1.0.2/go.mod h1:j9HUFwoQRsZL3V4n+qG+CUnEGHOarIxfC3Le2Yhbcts= -github.com/btcsuite/btcutil v1.0.3-0.20201208143702-a53e38424cce h1:YtWJF7RHm2pYCvA5t0RPmAaLUhREsKuKd+SLhxFbFeQ= github.com/btcsuite/btcutil v1.0.3-0.20201208143702-a53e38424cce/go.mod h1:0DVlHczLPewLcPGEIeUEzfOJhqGPQ0mJJRDBtD307+o= 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= @@ -168,133 +842,432 @@ github.com/btcsuite/snappy-go v0.0.0-20151229074030-0bdef8d06723/go.mod h1:8woku 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.9.0/go.mod h1:1Q+rMHiMVcfgScEF/GOldxmu4o9TrQ2sQQh58K6MscE= +github.com/bufbuild/connect-go v1.0.0/go.mod h1:9iNvh/NOsfhNBUH5CtvXeVUskQO1xsrEviH7ZArwZ3I= +github.com/bufbuild/protocompile v0.1.0 h1:HjgJBI85hY/qmW5tw/66sNDZ7z0UDdVSi/5r40WHw4s= +github.com/bufbuild/protocompile v0.1.0/go.mod h1:ix/MMMdsT3fzxfw91dvbfzKW3fRRnuPCP47kpAm5m/4= +github.com/buger/jsonparser v0.0.0-20180808090653-f4dd9f5a6b44/go.mod h1:bbYlZJ7hK1yFx9hf58LP0zeX7UjIGs20ufpu3evjr+s= +github.com/buger/jsonparser v1.1.1/go.mod h1:6RYKKt7H4d4+iWqouImQ9R2FZql3VbhNgx27UK13J/0= +github.com/bugsnag/bugsnag-go v0.0.0-20141110184014-b1d153021fcd/go.mod h1:2oa8nejYd4cQ/b0hMIopN0lCRxU0bueqREvZLWFrtK8= +github.com/bugsnag/osext v0.0.0-20130617224835-0dd3f918b21b/go.mod h1:obH5gd0BsqsP2LwDJ9aOkm/6J86V6lyAXCoQWGw3K50= +github.com/bugsnag/panicwrap v0.0.0-20151223152923-e2c28503fcd0/go.mod h1:D/8v3kj0zr8ZAKg1AQ6crr+5VwKN5eIywRkfhyM/+dE= +github.com/butuzov/ireturn v0.1.1/go.mod h1:Wh6Zl3IMtTpaIKbmwzqi6olnM9ptYQxxVacMsOEFPoc= +github.com/bwesterb/go-ristretto v1.2.0/go.mod h1:fUIoIZaG73pV5biE2Blr2xEzDoMj7NFEuV9ekS419A0= +github.com/bwesterb/go-ristretto v1.2.2/go.mod h1:fUIoIZaG73pV5biE2Blr2xEzDoMj7NFEuV9ekS419A0= +github.com/c-bata/go-prompt v0.2.2/go.mod h1:VzqtzE2ksDBcdln8G7mk2RX9QyGjH+OVqOCSiVIqS34= +github.com/caarlos0/ctrlc v1.0.0/go.mod h1:CdXpj4rmq0q/1Eb44M9zi2nKB0QraNKuRGYGrrHhcQw= +github.com/campoy/unique v0.0.0-20180121183637-88950e537e7e/go.mod h1:9IOqJGCPMSc6E5ydlp5NIonxObaeu/Iub/X03EKPVYo= github.com/casbin/casbin/v2 v2.1.2/go.mod h1:YcPU1XXisHhLzuxH9coDNf2FbKpjGlbCg3n9yuLkIJQ= +github.com/casbin/casbin/v2 v2.37.0/go.mod h1:vByNa/Fchek0KZUgG5wEsl7iFsiviAYKRtgrQfcJqHg= +github.com/cavaliercoder/go-cpio v0.0.0-20180626203310-925f9528c45e/go.mod h1:oDpT4efm8tSYHXV5tHSdRvBet/b/QzxZ+XyyPehvm3A= github.com/cenkalti/backoff v2.2.1+incompatible h1:tNowT99t7UNflLxfYYSlKYsBpXdEet03Pg2g16Swow4= github.com/cenkalti/backoff v2.2.1+incompatible/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM= +github.com/cenkalti/backoff/v4 v4.1.1/go.mod h1:scbssz8iZGpm3xbr14ovlUdkxfGXNInqkPWOWmG2CLw= +github.com/cenkalti/backoff/v4 v4.1.2/go.mod h1:scbssz8iZGpm3xbr14ovlUdkxfGXNInqkPWOWmG2CLw= +github.com/cenkalti/backoff/v4 v4.1.3 h1:cFAlzYUlVYDysBEH2T5hyJZMh3+5+WCBvSnK6Q8UtC4= +github.com/cenkalti/backoff/v4 v4.1.3/go.mod h1:scbssz8iZGpm3xbr14ovlUdkxfGXNInqkPWOWmG2CLw= +github.com/census-instrumentation/opencensus-proto v0.2.0/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= +github.com/census-instrumentation/opencensus-proto v0.3.0/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= +github.com/census-instrumentation/opencensus-proto v0.4.1/go.mod h1:4T9NM4+4Vw91VeyqjLS6ao50K5bOcLKN6Q42XnYaRYw= +github.com/certifi/gocertifi v0.0.0-20191021191039-0944d244cd40/go.mod h1:sGbDF6GwGcLpkNXPUTkMRoywsNa/ol15pxFe6ERfguA= +github.com/certifi/gocertifi v0.0.0-20200922220541-2c3bb06c6054/go.mod h1:sGbDF6GwGcLpkNXPUTkMRoywsNa/ol15pxFe6ERfguA= github.com/cespare/cp v0.1.0/go.mod h1:SOGHArjBr4JWaSDEVpWpo/hNg6RoKrls6Oh40hiwW+s= github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko= github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= -github.com/cespare/xxhash/v2 v2.1.1 h1:6MnRN8NT7+YBpUIWxHtefFZOKTAPgGjpQSxqLNn0+qY= github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= +github.com/cespare/xxhash/v2 v2.1.2/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= +github.com/cespare/xxhash/v2 v2.2.0 h1:DC2CZ1Ep5Y4k3ZQ899DldepgrayRUGE6BBZ/cd9Cj44= +github.com/cespare/xxhash/v2 v2.2.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/charithe/durationcheck v0.0.8/go.mod h1:SSbRIBVfMjCi/kEB6K65XEA83D6prSM8ap1UCpNKtgg= +github.com/charithe/durationcheck v0.0.9/go.mod h1:SSbRIBVfMjCi/kEB6K65XEA83D6prSM8ap1UCpNKtgg= github.com/chavacava/garif v0.0.0-20210405164556-e8a0a408d6af/go.mod h1:Qjyv4H3//PWVzTeCezG2b9IRn6myJxJSr4TD/xo6ojU= +github.com/chavacava/garif v0.0.0-20220630083739-93517212f375/go.mod h1:4m1Rv7xfuwWPNKXlThldNuJvutYM6J95wNuuVmn55To= +github.com/checkpoint-restore/go-criu/v4 v4.1.0/go.mod h1:xUQBLp4RLc5zJtWY++yjOoMoB5lihDt7fai+75m+rGw= github.com/checkpoint-restore/go-criu/v5 v5.0.0/go.mod h1:cfwC0EG7HMUenopBsUf9d89JlCLQIfgVcNsNN0t6T2M= +github.com/checkpoint-restore/go-criu/v5 v5.3.0/go.mod h1:E/eQpaFtUKGOOSEBZgmKAcn+zUUwWxqcaKZlF54wK8E= +github.com/cheggaaa/pb v1.0.27/go.mod h1:pQciLPpbU0oxA0h+VJYYLxO+XeDQb5pZijXscXHm81s= +github.com/chzyer/logex v1.1.10 h1:Swpa1K6QvQznwJRcfTfQJmTE72DqScAa40E+fbHEXEE= github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= +github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e h1:fY5BOSpyZCqRo5OhCuC+XN+r/bBCmeuuJtjz+bCNIf8= github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= +github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1 h1:q763qf9huN11kDQavWsoZXJNW3xEE4JJyHa5Q25/sd8= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= +github.com/cilium/ebpf v0.0.0-20200110133405-4032b1d8aae3/go.mod h1:MA5e5Lr8slmEg9bt0VpxxWqJlO4iwu3FBdHUzV7wQVg= +github.com/cilium/ebpf v0.0.0-20200702112145-1c8d4c9ef775/go.mod h1:7cR51M8ViRLIdUjrmSXlK9pkrsDlLHbO8jiB8X8JnOc= +github.com/cilium/ebpf v0.2.0/go.mod h1:To2CFviqOWL/M0gIMsvSMlqe7em/l1ALkX1PyjrX2Qs= +github.com/cilium/ebpf v0.4.0/go.mod h1:4tRaxcgiL706VnOzHOdBlY8IEAIdxINsQBcU4xJJXRs= github.com/cilium/ebpf v0.6.2/go.mod h1:4tRaxcgiL706VnOzHOdBlY8IEAIdxINsQBcU4xJJXRs= +github.com/cilium/ebpf v0.7.0/go.mod h1:/oI2+1shJiTGAMgl6/RgJr36Eo1jzrRcAWbcXO2usCA= github.com/circonus-labs/circonus-gometrics v2.3.1+incompatible/go.mod h1:nmEj6Dob7S7YxXgwXpfOuvO54S+tGdZdw9fuRZt25Ag= github.com/circonus-labs/circonusllhist v0.1.3/go.mod h1:kMXHVDlOchFAehlya5ePtbp5jckzBHf4XRpQvBOLI+I= +github.com/clbanning/mxj v1.8.4/go.mod h1:BVjHeAH+rl9rs6f+QIpeRl0tfu10SXn1pUSa5PVGJng= github.com/clbanning/x2j v0.0.0-20191024224557-825249438eec/go.mod h1:jMjuTZXRI4dUb/I5gc9Hdhagfvm9+RyrPryS/auMzxE= +github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= +github.com/cloudflare/circl v1.1.0/go.mod h1:prBCrKB9DV4poKZY1l9zBXg2QJY7mvgRvtMxxK7fi4I= +github.com/cloudflare/circl v1.3.1/go.mod h1:+CauBF6R70Jqcyl8N2hC8pAXYbWkGIezuSbuGLtRhnw= github.com/cloudflare/cloudflare-go v0.10.2-0.20190916151808-a80f83b9add9/go.mod h1:1MxXX1Ux4x6mqPmjkUgTP1CdXIBXKX7T+Jk9Gxrmx+U= +github.com/cloudflare/cloudflare-go v0.14.0/go.mod h1:EnwdgGMaFOruiPZRFSgn+TsQ3hQ7C/YWzIGLeu5c304= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= +github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= +github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= +github.com/cncf/udpa/go v0.0.0-20210930031921-04548b0d99d4/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI= +github.com/cncf/udpa/go v0.0.0-20220112060539-c52dc94e7fbe/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI= +github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20210805033703-aa0b78936158/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20210922020428-25de7278fc84/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20211001041855-01bcc9b48dfe/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20211130200136-a8f946100490/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20230607035331-e9ce68804cb4/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cockroachdb/apd/v2 v2.0.2 h1:weh8u7Cneje73dDh+2tEVLUvyBc89iwepWCD8b8034E= +github.com/cockroachdb/apd/v2 v2.0.2/go.mod h1:DDxRlzC2lo3/vSlmSoS7JkqbbrARPuFOGr0B9pvN3Gw= github.com/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa/go.mod h1:zn76sxSg3SzpJ0PPJaLDCu+Bu0Lg3sKTORVIj19EIF8= +github.com/cockroachdb/datadriven v0.0.0-20200714090401-bf6692d28da5/go.mod h1:h6jFvWxBdQXxjopDMZyH2UVceIRfR84bdzbkoKrsWNo= +github.com/cockroachdb/errors v1.2.4/go.mod h1:rQD95gz6FARkaKkQXUksEje/d9a6wBJoCr5oaCLELYA= +github.com/cockroachdb/logtags v0.0.0-20190617123548-eb05cc24525f/go.mod h1:i/u985jwjWRlyHXQbwatDASoW0RMlZ/3i9yJHE2xLkI= +github.com/codahale/hdrhistogram v0.0.0-20160425231609-f8ad88b59a58/go.mod h1:sE/e/2PUdi/liOCUjSTXgM1o87ZssimdTWN964YiIeI= github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd/go.mod h1:sE/e/2PUdi/liOCUjSTXgM1o87ZssimdTWN964YiIeI= -github.com/coinbase/rosetta-sdk-go v0.6.10 h1:rgHD/nHjxLh0lMEdfGDqpTtlvtSBwULqrrZ2qPdNaCM= +github.com/coinbase/kryptology v1.8.0/go.mod h1:RYXOAPdzOGUe3qlSFkMGn58i3xUA8hmxYHksuq+8ciI= github.com/coinbase/rosetta-sdk-go v0.6.10/go.mod h1:J/JFMsfcePrjJZkwQFLh+hJErkAmdm9Iyy3D5Y0LfXo= -github.com/confio/ics23/go v0.0.0-20200817220745-f173e6211efb/go.mod h1:E45NqnlpxGnpfTWL/xauN7MRwEE28T4Dd4uraToOaKg= -github.com/confio/ics23/go v0.6.3/go.mod h1:E45NqnlpxGnpfTWL/xauN7MRwEE28T4Dd4uraToOaKg= -github.com/confio/ics23/go v0.6.6 h1:pkOy18YxxJ/r0XFDCnrl4Bjv6h4LkBSpLS6F38mrKL8= +github.com/coinbase/rosetta-sdk-go v0.7.9 h1:lqllBjMnazTjIqYrOGv8h8jxjg9+hJazIGZr9ZvoCcA= +github.com/coinbase/rosetta-sdk-go v0.7.9/go.mod h1:0/knutI7XGVqXmmH4OQD8OckFrbQ8yMsUZTG7FXCR2M= +github.com/cometbft/cometbft v0.34.29 h1:Q4FqMevP9du2pOgryZJHpDV2eA6jg/kMYxBj9ZTY6VQ= +github.com/cometbft/cometbft v0.34.29/go.mod h1:L9shMfbkZ8B+7JlwANEr+NZbBcn+hBpwdbeYvA5rLCw= +github.com/cometbft/cometbft-db v0.7.0 h1:uBjbrBx4QzU0zOEnU8KxoDl18dMNgDh+zZRUE0ucsbo= +github.com/cometbft/cometbft-db v0.7.0/go.mod h1:yiKJIm2WKrt6x8Cyxtq9YTEcIMPcEe4XPxhgX59Fzf0= github.com/confio/ics23/go v0.6.6/go.mod h1:E45NqnlpxGnpfTWL/xauN7MRwEE28T4Dd4uraToOaKg= +github.com/confio/ics23/go v0.9.0 h1:cWs+wdbS2KRPZezoaaj+qBleXgUk5WOQFMP3CQFGTr4= +github.com/confio/ics23/go v0.9.0/go.mod h1:4LPZ2NYqnYIVRklaozjNR1FScgDJ2s5Xrp+e/mYVRak= +github.com/consensys/bavard v0.1.8-0.20210406032232-f3452dc9b572/go.mod h1:Bpd0/3mZuaj6Sj+PqrmIquiOKy397AKGThQPaGzNXAQ= +github.com/consensys/bavard v0.1.8-0.20210915155054-088da2f7f54a/go.mod h1:9ItSMtA/dXMAiL7BG6bqW2m3NdSEObYWoH223nGHukI= +github.com/consensys/gnark-crypto v0.4.1-0.20210426202927-39ac3d4b3f1f/go.mod h1:815PAHg3wvysy0SyIqanF8gZ0Y1wjk/hrDHD/iT88+Q= +github.com/consensys/gnark-crypto v0.5.3/go.mod h1:hOdPlWQV1gDLp7faZVeg8Y0iEPFaOUnCc4XeCCk96p0= +github.com/containerd/aufs v0.0.0-20200908144142-dab0cbea06f4/go.mod h1:nukgQABAEopAHvB6j7cnP5zJ+/3aVcE7hCYqvIwAHyE= +github.com/containerd/aufs v0.0.0-20201003224125-76a6863f2989/go.mod h1:AkGGQs9NM2vtYHaUen+NljV0/baGCAPELGm2q9ZXpWU= +github.com/containerd/aufs v0.0.0-20210316121734-20793ff83c97/go.mod h1:kL5kd6KM5TzQjR79jljyi4olc1Vrx6XBlcyj3gNv2PU= +github.com/containerd/aufs v1.0.0/go.mod h1:kL5kd6KM5TzQjR79jljyi4olc1Vrx6XBlcyj3gNv2PU= +github.com/containerd/btrfs v0.0.0-20201111183144-404b9149801e/go.mod h1:jg2QkJcsabfHugurUvvPhS3E08Oxiuh5W/g1ybB4e0E= +github.com/containerd/btrfs v0.0.0-20210316141732-918d888fb676/go.mod h1:zMcX3qkXTAi9GI50+0HOeuV8LU2ryCE/V2vG/ZBiTss= +github.com/containerd/btrfs v1.0.0/go.mod h1:zMcX3qkXTAi9GI50+0HOeuV8LU2ryCE/V2vG/ZBiTss= +github.com/containerd/cgroups v0.0.0-20190717030353-c4b9ac5c7601/go.mod h1:X9rLEHIqSf/wfK8NsPqxJmeZgW4pcfzdXITDrUSJ6uI= +github.com/containerd/cgroups v0.0.0-20190919134610-bf292b21730f/go.mod h1:OApqhQ4XNSNC13gXIwDjhOQxjWa/NxkwZXJ1EvqT0ko= +github.com/containerd/cgroups v0.0.0-20200531161412-0dbf7f05ba59/go.mod h1:pA0z1pT8KYB3TCXK/ocprsh7MAkoW8bZVzPdih9snmM= +github.com/containerd/cgroups v0.0.0-20200710171044-318312a37340/go.mod h1:s5q4SojHctfxANBDvMeIaIovkq29IP48TKAxnhYRxvo= +github.com/containerd/cgroups v0.0.0-20200824123100-0b889c03f102/go.mod h1:s5q4SojHctfxANBDvMeIaIovkq29IP48TKAxnhYRxvo= +github.com/containerd/cgroups v0.0.0-20210114181951-8a68de567b68/go.mod h1:ZJeTFisyysqgcCdecO57Dj79RfL0LNeGiFUqLYQRYLE= +github.com/containerd/cgroups v1.0.1/go.mod h1:0SJrPIenamHDcZhEcJMNBB85rHcUsw4f25ZfBiPYRkU= +github.com/containerd/cgroups v1.0.3/go.mod h1:/ofk34relqNjSGyqPrmEULrO4Sc8LJhvJmWbUCUKqj8= +github.com/containerd/console v0.0.0-20180822173158-c12b1e7919c1/go.mod h1:Tj/on1eG8kiEhd0+fhSDzsPAFESxzBBvdyEgyryXffw= +github.com/containerd/console v0.0.0-20181022165439-0650fd9eeb50/go.mod h1:Tj/on1eG8kiEhd0+fhSDzsPAFESxzBBvdyEgyryXffw= +github.com/containerd/console v0.0.0-20191206165004-02ecf6a7291e/go.mod h1:8Pf4gM6VEbTNRIT26AyyU7hxdQU3MvAvxVI0sc00XBE= +github.com/containerd/console v1.0.0/go.mod h1:8Pf4gM6VEbTNRIT26AyyU7hxdQU3MvAvxVI0sc00XBE= +github.com/containerd/console v1.0.1/go.mod h1:XUsP6YE/mKtz6bxc+I8UiKKTP04qjQL4qcS3XoQ5xkw= github.com/containerd/console v1.0.2/go.mod h1:ytZPjGgY2oeTkAONYafi2kSj0aYggsf8acV1PGKCbzQ= -github.com/containerd/continuity v0.0.0-20190827140505-75bee3e2ccb6/go.mod h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y= -github.com/containerd/continuity v0.1.0 h1:UFRRY5JemiAhPZrr/uE0n8fMTLcZsUvySPr1+D7pgr8= +github.com/containerd/console v1.0.3/go.mod h1:7LqA/THxQ86k76b8c/EMSiaJ3h1eZkMkXar0TQ1gf3U= +github.com/containerd/containerd v1.2.10/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= +github.com/containerd/containerd v1.3.0-beta.2.0.20190828155532-0293cbd26c69/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= +github.com/containerd/containerd v1.3.0/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= +github.com/containerd/containerd v1.3.1-0.20191213020239-082f7e3aed57/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= +github.com/containerd/containerd v1.3.2/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= +github.com/containerd/containerd v1.4.0-beta.2.0.20200729163537-40b22ef07410/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= +github.com/containerd/containerd v1.4.0/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= +github.com/containerd/containerd v1.4.1-0.20201117152358-0edc412565dc/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= +github.com/containerd/containerd v1.4.1/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= +github.com/containerd/containerd v1.4.3/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= +github.com/containerd/containerd v1.4.9/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= +github.com/containerd/containerd v1.5.0-beta.1/go.mod h1:5HfvG1V2FsKesEGQ17k5/T7V960Tmcumvqn8Mc+pCYQ= +github.com/containerd/containerd v1.5.0-beta.3/go.mod h1:/wr9AVtEM7x9c+n0+stptlo/uBBoBORwEx6ardVcmKU= +github.com/containerd/containerd v1.5.0-beta.4/go.mod h1:GmdgZd2zA2GYIBZ0w09ZvgqEq8EfBp/m3lcVZIvPHhI= +github.com/containerd/containerd v1.5.0-rc.0/go.mod h1:V/IXoMqNGgBlabz3tHD2TWDoTJseu1FGOKuoA4nNb2s= +github.com/containerd/containerd v1.5.1/go.mod h1:0DOxVqwDy2iZvrZp2JUx/E+hS0UNTVn7dJnIOwtYR4g= +github.com/containerd/containerd v1.5.7/go.mod h1:gyvv6+ugqY25TiXxcZC3L5yOeYgEw0QMhscqVp1AR9c= +github.com/containerd/containerd v1.5.8/go.mod h1:YdFSv5bTFLpG2HIYmfqDpSYYTDX+mc5qtSuYx1YUb/s= +github.com/containerd/containerd v1.6.1/go.mod h1:1nJz5xCZPusx6jJU8Frfct988y0NpumIq9ODB0kLtoE= +github.com/containerd/containerd v1.6.3-0.20220401172941-5ff8fce1fcc6/go.mod h1:WSt2SnDLAGWlu+Vl+EWay37seZLKqgRt6XLjIMy8SYM= +github.com/containerd/containerd v1.6.8/go.mod h1:By6p5KqPK0/7/CgO/A6t/Gz+CUYUu2zf1hUaaymVXB0= +github.com/containerd/continuity v0.0.0-20190426062206-aaeac12a7ffc/go.mod h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y= +github.com/containerd/continuity v0.0.0-20190815185530-f2a389ac0a02/go.mod h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y= +github.com/containerd/continuity v0.0.0-20191127005431-f65d91d395eb/go.mod h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y= +github.com/containerd/continuity v0.0.0-20200710164510-efbc4488d8fe/go.mod h1:cECdGN1O8G9bgKTlLhuPJimka6Xb/Gg7vYzCTNVxhvo= +github.com/containerd/continuity v0.0.0-20201208142359-180525291bb7/go.mod h1:kR3BEg7bDFaEddKm54WSmrol1fKWDU1nKYkgrcgZT7Y= +github.com/containerd/continuity v0.0.0-20210208174643-50096c924a4e/go.mod h1:EXlVlkqNba9rJe3j7w3Xa924itAMLgZH4UD/Q4PExuQ= github.com/containerd/continuity v0.1.0/go.mod h1:ICJu0PwR54nI0yPEnJ6jcS+J7CZAUXrLh8lPo2knzsM= +github.com/containerd/continuity v0.2.2/go.mod h1:pWygW9u7LtS1o4N/Tn0FoCFDIXZ7rxcMX7HX1Dmibvk= +github.com/containerd/continuity v0.2.3-0.20220330195504-d132b287edc8/go.mod h1:pWygW9u7LtS1o4N/Tn0FoCFDIXZ7rxcMX7HX1Dmibvk= +github.com/containerd/continuity v0.3.0 h1:nisirsYROK15TAMVukJOUyGJjz4BNQJBVsNvAXZJ/eg= +github.com/containerd/continuity v0.3.0/go.mod h1:wJEAIwKOm/pBZuBd0JmeTvnLquTB1Ag8espWhkykbPM= +github.com/containerd/fifo v0.0.0-20180307165137-3d5202aec260/go.mod h1:ODA38xgv3Kuk8dQz2ZQXpnv/UZZUHUCL7pnLehbXgQI= +github.com/containerd/fifo v0.0.0-20190226154929-a9fb20d87448/go.mod h1:ODA38xgv3Kuk8dQz2ZQXpnv/UZZUHUCL7pnLehbXgQI= +github.com/containerd/fifo v0.0.0-20200410184934-f15a3290365b/go.mod h1:jPQ2IAeZRCYxpS/Cm1495vGFww6ecHmMk1YJH2Q5ln0= +github.com/containerd/fifo v0.0.0-20201026212402-0724c46b320c/go.mod h1:jPQ2IAeZRCYxpS/Cm1495vGFww6ecHmMk1YJH2Q5ln0= +github.com/containerd/fifo v0.0.0-20210316144830-115abcc95a1d/go.mod h1:ocF/ME1SX5b1AOlWi9r677YJmCPSwwWnQ9O123vzpE4= +github.com/containerd/fifo v1.0.0/go.mod h1:ocF/ME1SX5b1AOlWi9r677YJmCPSwwWnQ9O123vzpE4= +github.com/containerd/fuse-overlayfs-snapshotter v1.0.2/go.mod h1:nRZceC8a7dRm3Ao6cJAwuJWPFiBPaibHiFntRUnzhwU= +github.com/containerd/go-cni v1.0.1/go.mod h1:+vUpYxKvAF72G9i1WoDOiPGRtQpqsNW/ZHtSlv++smU= +github.com/containerd/go-cni v1.0.2/go.mod h1:nrNABBHzu0ZwCug9Ije8hL2xBCYh/pjfMb1aZGrrohk= +github.com/containerd/go-cni v1.1.0/go.mod h1:Rflh2EJ/++BA2/vY5ao3K6WJRR/bZKsX123aPk+kUtA= +github.com/containerd/go-cni v1.1.3/go.mod h1:Rflh2EJ/++BA2/vY5ao3K6WJRR/bZKsX123aPk+kUtA= +github.com/containerd/go-cni v1.1.4/go.mod h1:Rflh2EJ/++BA2/vY5ao3K6WJRR/bZKsX123aPk+kUtA= +github.com/containerd/go-cni v1.1.6/go.mod h1:BWtoWl5ghVymxu6MBjg79W9NZrCRyHIdUtk4cauMe34= +github.com/containerd/go-runc v0.0.0-20180907222934-5a6d9f37cfa3/go.mod h1:IV7qH3hrUgRmyYrtgEeGWJfWbgcHL9CSRruz2Vqcph0= +github.com/containerd/go-runc v0.0.0-20190911050354-e029b79d8cda/go.mod h1:IV7qH3hrUgRmyYrtgEeGWJfWbgcHL9CSRruz2Vqcph0= +github.com/containerd/go-runc v0.0.0-20200220073739-7016d3ce2328/go.mod h1:PpyHrqVs8FTi9vpyHwPwiNEGaACDxT/N/pLcvMSRA9g= +github.com/containerd/go-runc v0.0.0-20201020171139-16b287bc67d0/go.mod h1:cNU0ZbCgCQVZK4lgG3P+9tn9/PaJNmoDXPpoJhDR+Ok= +github.com/containerd/go-runc v1.0.0/go.mod h1:cNU0ZbCgCQVZK4lgG3P+9tn9/PaJNmoDXPpoJhDR+Ok= +github.com/containerd/imgcrypt v1.0.1/go.mod h1:mdd8cEPW7TPgNG4FpuP3sGBiQ7Yi/zak9TYCG3juvb0= +github.com/containerd/imgcrypt v1.0.4-0.20210301171431-0ae5c75f59ba/go.mod h1:6TNsg0ctmizkrOgXRNQjAPFWpMYRWuiB6dSF4Pfa5SA= +github.com/containerd/imgcrypt v1.1.1-0.20210312161619-7ed62a527887/go.mod h1:5AZJNI6sLHJljKuI9IHnw1pWqo/F0nGDOuR9zgTs7ow= +github.com/containerd/imgcrypt v1.1.1/go.mod h1:xpLnwiQmEUJPvQoAapeb2SNCxz7Xr6PJrXQb0Dpc4ms= +github.com/containerd/imgcrypt v1.1.3/go.mod h1:/TPA1GIDXMzbj01yd8pIbQiLdQxed5ue1wb8bP7PQu4= +github.com/containerd/imgcrypt v1.1.4/go.mod h1:LorQnPtzL/T0IyCeftcsMEO7AqxUDbdO8j/tSUpgxvo= +github.com/containerd/nri v0.0.0-20201007170849-eb1350a75164/go.mod h1:+2wGSDGFYfE5+So4M5syatU0N0f0LbWpuqyMi4/BE8c= +github.com/containerd/nri v0.0.0-20210316161719-dbaa18c31c14/go.mod h1:lmxnXF6oMkbqs39FiCt1s0R2HSMhcLel9vNL3m4AaeY= +github.com/containerd/nri v0.1.0/go.mod h1:lmxnXF6oMkbqs39FiCt1s0R2HSMhcLel9vNL3m4AaeY= +github.com/containerd/stargz-snapshotter v0.0.0-20201027054423-3a04e4c2c116/go.mod h1:o59b3PCKVAf9jjiKtCc/9hLAd+5p/rfhBfm6aBcTEr4= +github.com/containerd/stargz-snapshotter v0.11.3/go.mod h1:2j2EAUyvrLU4D9unYlTIwGhDKQIk74KJ9E71lJsQCVM= +github.com/containerd/stargz-snapshotter/estargz v0.4.1/go.mod h1:x7Q9dg9QYb4+ELgxmo4gBUeJB0tl5dqH1Sdz0nJU1QM= +github.com/containerd/stargz-snapshotter/estargz v0.11.3/go.mod h1:7vRJIcImfY8bpifnMjt+HTJoQxASq7T28MYbP15/Nf0= +github.com/containerd/ttrpc v0.0.0-20190828154514-0e0f228740de/go.mod h1:PvCDdDGpgqzQIzDW1TphrGLssLDZp2GuS+X5DkEJB8o= +github.com/containerd/ttrpc v0.0.0-20190828172938-92c8520ef9f8/go.mod h1:PvCDdDGpgqzQIzDW1TphrGLssLDZp2GuS+X5DkEJB8o= +github.com/containerd/ttrpc v0.0.0-20191028202541-4f1b8fe65a5c/go.mod h1:LPm1u0xBw8r8NOKoOdNMeVHSawSsltak+Ihv+etqsE8= +github.com/containerd/ttrpc v1.0.1/go.mod h1:UAxOpgT9ziI0gJrmKvgcZivgxOp8iFPSk8httJEt98Y= +github.com/containerd/ttrpc v1.0.2/go.mod h1:UAxOpgT9ziI0gJrmKvgcZivgxOp8iFPSk8httJEt98Y= +github.com/containerd/ttrpc v1.1.0/go.mod h1:XX4ZTnoOId4HklF4edwc4DcqskFZuvXB1Evzy5KFQpQ= +github.com/containerd/typeurl v0.0.0-20180627222232-a93fcdb778cd/go.mod h1:Cm3kwCdlkCfMSHURc+r6fwoGH6/F1hH3S4sg0rLFWPc= +github.com/containerd/typeurl v0.0.0-20190911142611-5eb25027c9fd/go.mod h1:GeKYzf2pQcqv7tJ0AoCuuhtnqhva5LNU3U+OyKxxJpk= +github.com/containerd/typeurl v1.0.1/go.mod h1:TB1hUtrpaiO88KEK56ijojHS1+NeF0izUACaJW2mdXg= +github.com/containerd/typeurl v1.0.2/go.mod h1:9trJWW2sRlGub4wZJRTW83VtbOLS6hwcDZXTn6oPz9s= +github.com/containerd/zfs v0.0.0-20200918131355-0a33824f23a2/go.mod h1:8IgZOBdv8fAgXddBT4dBXJPtxyRsejFIpXoklgxgEjw= +github.com/containerd/zfs v0.0.0-20210301145711-11e8f1707f62/go.mod h1:A9zfAbMlQwE+/is6hi0Xw8ktpL+6glmqZYtevJgaB8Y= +github.com/containerd/zfs v0.0.0-20210315114300-dde8f0fda960/go.mod h1:m+m51S1DvAP6r3FcmYCp54bQ34pyOwTieQDNRIRHsFY= +github.com/containerd/zfs v0.0.0-20210324211415-d5c4544f0433/go.mod h1:m+m51S1DvAP6r3FcmYCp54bQ34pyOwTieQDNRIRHsFY= +github.com/containerd/zfs v1.0.0/go.mod h1:m+m51S1DvAP6r3FcmYCp54bQ34pyOwTieQDNRIRHsFY= +github.com/containernetworking/cni v0.7.1/go.mod h1:LGwApLUm2FpoOfxTDEeq8T9ipbpZ61X79hmU3w8FmsY= +github.com/containernetworking/cni v0.8.0/go.mod h1:LGwApLUm2FpoOfxTDEeq8T9ipbpZ61X79hmU3w8FmsY= +github.com/containernetworking/cni v0.8.1/go.mod h1:LGwApLUm2FpoOfxTDEeq8T9ipbpZ61X79hmU3w8FmsY= +github.com/containernetworking/cni v1.0.1/go.mod h1:AKuhXbN5EzmD4yTNtfSsX3tPcmtrBI6QcRV0NiNt15Y= +github.com/containernetworking/cni v1.1.1/go.mod h1:sDpYKmGVENF3s6uvMvGgldDWeG8dMxakj/u+i9ht9vw= +github.com/containernetworking/plugins v0.8.6/go.mod h1:qnw5mN19D8fIwkqW7oHHYDHVlzhJpcY6TQxn/fUyDDM= +github.com/containernetworking/plugins v0.9.1/go.mod h1:xP/idU2ldlzN6m4p5LmGiwRDjeJr6FLK6vuiUwoH7P8= +github.com/containernetworking/plugins v1.0.1/go.mod h1:QHCfGpaTwYTbbH+nZXKVTxNBDZcxSOplJT5ico8/FLE= +github.com/containernetworking/plugins v1.1.1/go.mod h1:Sr5TH/eBsGLXK/h71HeLfX19sZPp3ry5uHSkI4LPxV8= +github.com/containers/ocicrypt v1.0.1/go.mod h1:MeJDzk1RJHv89LjsH0Sp5KTY3ZYkjXO/C+bKAeWFIrc= +github.com/containers/ocicrypt v1.1.0/go.mod h1:b8AOe0YR67uU8OqfVNcznfFpAzu3rdgUV4GP9qXPfu4= +github.com/containers/ocicrypt v1.1.1/go.mod h1:Dm55fwWm1YZAjYRaJ94z2mfZikIyIN4B0oB3dj3jFxY= +github.com/containers/ocicrypt v1.1.2/go.mod h1:Dm55fwWm1YZAjYRaJ94z2mfZikIyIN4B0oB3dj3jFxY= +github.com/containers/ocicrypt v1.1.3/go.mod h1:xpdkbVAuaH3WzbEabUd5yDsl9SwJA5pABH85425Es2g= github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk= github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= github.com/coreos/etcd v3.3.13+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= github.com/coreos/go-etcd v2.0.0+incompatible/go.mod h1:Jez6KQU2B/sWsbdaef3ED8NzMklzPG4d5KIOhIy30Tk= +github.com/coreos/go-iptables v0.4.5/go.mod h1:/mVI274lEDI2ns62jHCDnCyBF9Iwsmekav8Dbxlm1MU= +github.com/coreos/go-iptables v0.5.0/go.mod h1:/mVI274lEDI2ns62jHCDnCyBF9Iwsmekav8Dbxlm1MU= +github.com/coreos/go-iptables v0.6.0/go.mod h1:Qe8Bv2Xik5FyTXwgIbLAnv2sWSBmvWdFETJConOQ//Q= +github.com/coreos/go-oidc v2.1.0+incompatible/go.mod h1:CgnwVTmzoESiwO9qyAFEMiHoZ1nMCKZlZ9V6mm3/LKc= github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= +github.com/coreos/go-systemd v0.0.0-20161114122254-48702e0da86b/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= github.com/coreos/go-systemd v0.0.0-20180511133405-39ca1b05acc7/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= +github.com/coreos/go-systemd v0.0.0-20181012123002-c6f51f82210d/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= 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.0.0/go.mod h1:xO0FLkIi5MaZafQlIrOotqXZ90ih+1atmu1JpKERPPk= +github.com/coreos/go-systemd/v22 v22.1.0/go.mod h1:xO0FLkIi5MaZafQlIrOotqXZ90ih+1atmu1JpKERPPk= 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/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= github.com/coreos/pkg v0.0.0-20160727233714-3ac0863d7acf/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= +github.com/coreos/pkg v0.0.0-20180108230652-97fdf19511ea/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= -github.com/cosmos/btcutil v1.0.4 h1:n7C2ngKXo7UC9gNyMNLbzqz7Asuf+7Qv4gnX/rOdQ44= -github.com/cosmos/btcutil v1.0.4/go.mod h1:Ffqc8Hn6TJUdDgHBwIZLtrLQC1KdJ9jGJl/TvgUaxbU= +github.com/cosmos/btcutil v1.0.5 h1:t+ZFcX77LpKtDBhjucvnOH8C2l2ioGsBNEQ3jef8xFk= +github.com/cosmos/btcutil v1.0.5/go.mod h1:IyB7iuqZMJlthe2tkIFL33xPyzbFYP0XVdS8P5lUPis= +github.com/cosmos/cosmos-proto v1.0.0-alpha8 h1:d3pCRuMYYvGA5bM0ZbbjKn+AoQD4A7dyNG2wzwWalUw= +github.com/cosmos/cosmos-proto v1.0.0-alpha8/go.mod h1:6/p+Bc4O8JKeZqe0VqUGTX31eoYqemTT4C1hLCWsO7I= github.com/cosmos/cosmos-sdk v0.44.2/go.mod h1:fwQJdw+aECatpTvQTo1tSfHEsxACdZYU80QCZUPnHr4= github.com/cosmos/cosmos-sdk v0.44.3/go.mod h1:bA3+VenaR/l/vDiYzaiwbWvRPWHMBX2jG0ygiFtiBp0= -github.com/cosmos/cosmos-sdk v0.44.5 h1:t5h+KPzZb0Zsag1RP1DCMQlyJyIQqJcqSPJrbUCDGHY= -github.com/cosmos/cosmos-sdk v0.44.5/go.mod h1:maUA6m2TBxOJZkbwl0eRtEBgTX37kcaiOWU5t1HEGaY= +github.com/cosmos/cosmos-sdk v0.46.15 h1:50QSEO4ZU9QUHJ8Ul9N/o/hn/IE5dL7DwL/OY1wcoMg= +github.com/cosmos/cosmos-sdk v0.46.15/go.mod h1:9MRixWsgoJ2UmVsCRRePtENFPP3cM+gTC5azEpxgllo= +github.com/cosmos/cosmos-sdk/db v1.0.0-beta.1/go.mod h1:JUMM2MxF9wuwzRWZJjb8BjXsn1BmPmdBd3a75pIct4I= github.com/cosmos/go-bip39 v0.0.0-20180819234021-555e2067c45d/go.mod h1:tSxLoYXyBmiFeKpvmq4dzayMdCjCnu8uqmCysIGBT2Y= github.com/cosmos/go-bip39 v1.0.0 h1:pcomnQdrdH22njcAatO0yWojsUnCO3y2tNoV1cb6hHY= github.com/cosmos/go-bip39 v1.0.0/go.mod h1:RNJv0H/pOIVgxw6KS7QeX2a0Uo0aKUlfhZ4xuwvCdJw= -github.com/cosmos/iavl v0.15.0-rc3.0.20201009144442-230e9bdf52cd/go.mod h1:3xOIaNNX19p0QrX0VqWa6voPRoJRGGYtny+DH8NEPvE= -github.com/cosmos/iavl v0.15.0-rc5/go.mod h1:WqoPL9yPTQ85QBMT45OOUzPxG/U/JcJoN7uMjgxke/I= -github.com/cosmos/iavl v0.15.3/go.mod h1:OLjQiAQ4fGD2KDZooyJG9yz+p2ao2IAYSbke8mVvSA4= +github.com/cosmos/gorocksdb v1.2.0 h1:d0l3jJG8M4hBouIZq0mDUHZ+zjOx044J3nGRskwTb4Y= +github.com/cosmos/gorocksdb v1.2.0/go.mod h1:aaKvKItm514hKfNJpUJXnnOWeBnk2GL4+Qw9NHizILw= github.com/cosmos/iavl v0.17.1/go.mod h1:7aisPZK8yCpQdy3PMvKeO+bhq1NwDjUwjzxwwROUxFk= -github.com/cosmos/iavl v0.17.3 h1:s2N819a2olOmiauVa0WAhoIJq9EhSXE9HDBAoR9k+8Y= -github.com/cosmos/iavl v0.17.3/go.mod h1:prJoErZFABYZGDHka1R6Oay4z9PrNeFFiMKHDAMOi4w= -github.com/cosmos/ibc-go v1.2.2 h1:bs6TZ8Es1kycIu2AHlRZ9dzJ+mveqlLN/0sjWtRH88o= +github.com/cosmos/iavl v0.19.6 h1:XY78yEeNPrEYyNCKlqr9chrwoeSDJ0bV2VjocTk//OU= +github.com/cosmos/iavl v0.19.6/go.mod h1:X9PKD3J0iFxdmgNLa7b2LYWdsGd90ToV5cAONApkEPw= github.com/cosmos/ibc-go v1.2.2/go.mod h1:XmYjsRFOs6Q9Cz+CSsX21icNoH27vQKb3squgnCOCbs= -github.com/cosmos/ledger-cosmos-go v0.11.1 h1:9JIYsGnXP613pb2vPjFeMMjBI5lEDsEaF6oYorTy6J4= +github.com/cosmos/ibc-go/v6 v6.1.0 h1:o7oXws2vKkKfOFzJI+oNylRn44PCNt5wzHd/zKQKbvQ= +github.com/cosmos/ibc-go/v6 v6.1.0/go.mod h1:CY3zh2HLfetRiW8LY6kVHMATe90Wj/UOoY8T6cuB0is= github.com/cosmos/ledger-cosmos-go v0.11.1/go.mod h1:J8//BsAGTo3OC/vDLjMRFLW6q0WAaXvHnVc7ZmE8iUY= -github.com/cosmos/ledger-go v0.9.2 h1:Nnao/dLwaVTk1Q5U9THldpUMMXU94BOTWPddSmVB6pI= +github.com/cosmos/ledger-cosmos-go v0.12.2 h1:/XYaBlE2BJxtvpkHiBm97gFGSGmYGKunKyF3nNqAXZA= +github.com/cosmos/ledger-cosmos-go v0.12.2/go.mod h1:ZcqYgnfNJ6lAXe4HPtWgarNEY+B74i+2/8MhZw4ziiI= github.com/cosmos/ledger-go v0.9.2/go.mod h1:oZJ2hHAZROdlHiwTg4t7kP+GKIIkBT+o6c9QWFanOyI= github.com/cpuguy83/go-md2man v1.0.10/go.mod h1:SmD6nW6nTyfqj6ABTjUi3V3JVMnlJmwcJI5acqYI6dE= github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= 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.1/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= +github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= +github.com/creachadair/taskgroup v0.3.2 h1:zlfutDS+5XG40AOxcHDSThxKzns8Tnr9jnr6VqkYlkM= +github.com/creachadair/taskgroup v0.3.2/go.mod h1:wieWwecHVzsidg2CsUnFinW1faVN4+kq+TDlRJQ0Wbk= github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= +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/curioswitch/go-reassign v0.2.0/go.mod h1:x6OpXuWvgfQaMGks2BZybTngWjT84hqJfKoO8Tt/Roc= +github.com/cyberdelia/templates v0.0.0-20141128023046-ca7fffd4298c/go.mod h1:GyV+0YP4qX0UQ7r2MoYZ+AvYDp12OF5yg4q8rGnyNh4= github.com/cyphar/filepath-securejoin v0.2.2/go.mod h1:FpkQEhXnPnOthhzymB7CGsFk2G9VLXONKD9G7QGMM+4= +github.com/cyphar/filepath-securejoin v0.2.3/go.mod h1:aPGpWjXOXUn2NCNjFvBE6aRxGGx79pTxQpKOJNYHHl4= +github.com/d2g/dhcp4 v0.0.0-20170904100407-a1d1b6c41b1c/go.mod h1:Ct2BUK8SB0YC1SMSibvLzxjeJLnrYEVLULFNiHY9YfQ= +github.com/d2g/dhcp4client v1.0.0/go.mod h1:j0hNfjhrt2SxUOw55nL0ATM/z4Yt3t2Kd1mW34z5W5s= +github.com/d2g/dhcp4server v0.0.0-20181031114812-7d4a0a7f59a5/go.mod h1:Eo87+Kg/IX2hfWJfwxMzLyuSZyxSoAug2nGa1G2QAi8= +github.com/d2g/hardwareaddr v0.0.0-20190221164911-e7d9fbe030e4/go.mod h1:bMl4RjIciD2oAxI7DmWRx6gbeqrkoLqv3MV0vzNad+I= github.com/daixiang0/gci v0.2.9/go.mod h1:+4dZ7TISfSmqfAGv59ePaHfNzgGtIkHAhhdKggP1JAc= -github.com/danieljoos/wincred v1.0.2 h1:zf4bhty2iLuwgjgpraD2E9UbvO+fe54XXGJbOwe23fU= +github.com/daixiang0/gci v0.8.1/go.mod h1:EpVfrztufwVgQRXjnX4zuNinEpLj5OmMjtu/+MB0V0c= github.com/danieljoos/wincred v1.0.2/go.mod h1:SnuYRW9lp1oJrZX/dXJqr0cPK5gYXqx3EJbmjhLdK9U= +github.com/danieljoos/wincred v1.1.0/go.mod h1:XYlo+eRTsVA9aHGp7NGjFkPla4m+DCL7hqDjlFjiygg= +github.com/danieljoos/wincred v1.1.2 h1:QLdCxFs1/Yl4zduvBdcHB8goaYk9RARS2SgLLRuAyr0= +github.com/danieljoos/wincred v1.1.2/go.mod h1:GijpziifJoIBfYh+S7BbkdUTU4LfM+QnGqR5Vl2tAx0= +github.com/dave/jennifer v1.2.0/go.mod h1:fIb+770HOpJ2fmN9EPPKOqm1vMGhB+TwXKMZhrIygKg= +github.com/davecgh/go-spew v0.0.0-20151105211317-5215b55f46b2/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= 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/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/deckarep/golang-set v0.0.0-20180603214616-504e848d77ea/go.mod h1:93vsz/8Wt4joVM7c2AVqh+YRMiUSc14yDtF28KmMOgQ= +github.com/deckarep/golang-set v1.8.0/go.mod h1:5nI87KwE7wgsBU1F4GKAw2Qod7p5kyS383rP6+o6qqo= +github.com/decred/dcrd/crypto/blake256 v1.0.0 h1:/8DMNYp9SGi5f0w7uCm6d6M4OU2rGFK09Y2A4Xv7EE0= +github.com/decred/dcrd/crypto/blake256 v1.0.0/go.mod h1:sQl2p6Y26YV+ZOcSTP6thNdn47hh8kt6rqSlvmrXFAc= +github.com/decred/dcrd/dcrec/secp256k1/v4 v4.0.1/go.mod h1:hyedUtir6IdtD/7lIxGeCxkaw7y45JueMRL4DIyJDKs= +github.com/decred/dcrd/dcrec/secp256k1/v4 v4.1.0 h1:HbphB4TFFXpv7MNrT52FGrrgVXF1owhMVTHFZIlnvd4= +github.com/decred/dcrd/dcrec/secp256k1/v4 v4.1.0/go.mod h1:DZGJHZMqrU4JJqFAWUS2UO1+lbSKsdiOoYi9Zzey7Fc= github.com/decred/dcrd/lru v1.0.0/go.mod h1:mxKOwFd7lFjN2GZYsiz/ecgqR6kkYAl+0pz0tEMk218= +github.com/deepmap/oapi-codegen v1.6.0/go.mod h1:ryDa9AgbELGeB+YEXE1dR53yAjHwFvE9iAUlWl9Al3M= +github.com/deepmap/oapi-codegen v1.8.2/go.mod h1:YLgSKSDv/bZQB7N4ws6luhozi3cEdRktEqrX88CvjIw= +github.com/denis-tingaikin/go-header v0.4.3/go.mod h1:0wOCWuN71D5qIgE2nz9KrKmuYBAC2Mra5RassOIQ2/c= github.com/denis-tingajkin/go-header v0.4.2/go.mod h1:eLRHAVXzE5atsKAnNRDB90WHCFFnBUn4RN0nRcs1LJA= +github.com/denisenkom/go-mssqldb v0.12.0/go.mod h1:iiK0YP1ZeepvmBQk/QpLEhhTNJgfzrpArPY/aFvc9yU= +github.com/denverdino/aliyungo v0.0.0-20190125010748-a747050bb1ba/go.mod h1:dV8lFg6daOBZbT6/BDGIz6Y3WFGn8juu6G+CQ6LHtl0= github.com/desertbit/timer v0.0.0-20180107155436-c41aec40b27f h1:U5y3Y5UE0w7amNe7Z5G/twsBW0KEalRQXZzf8ufSh9I= github.com/desertbit/timer v0.0.0-20180107155436-c41aec40b27f/go.mod h1:xH/i4TFMt8koVQZ6WFms69WAsDWr2XsYL3Hkl7jkoLE= -github.com/dgraph-io/badger/v2 v2.2007.1/go.mod h1:26P/7fbL4kUZVEVKLAKXkBXKOydDmM2p1e+NhhnBCAE= -github.com/dgraph-io/badger/v2 v2.2007.2 h1:EjjK0KqwaFMlPin1ajhP943VPENHJdEz1KLIegjaI3k= +github.com/devigned/tab v0.1.1/go.mod h1:XG9mPq0dFghrYvoBF3xdRrJzSTX1b7IQrvaL9mzjeJY= github.com/dgraph-io/badger/v2 v2.2007.2/go.mod h1:26P/7fbL4kUZVEVKLAKXkBXKOydDmM2p1e+NhhnBCAE= +github.com/dgraph-io/badger/v2 v2.2007.4 h1:TRWBQg8UrlUhaFdco01nO2uXwzKS7zd+HVdwV/GHc4o= +github.com/dgraph-io/badger/v2 v2.2007.4/go.mod h1:vSw/ax2qojzbN6eXHIx6KPKtCSHJN/Uz0X0VPruTIhk= github.com/dgraph-io/ristretto v0.0.3-0.20200630154024-f66de99634de/go.mod h1:KPxhHT9ZxKefz+PCeOGsrHpl1qZ7i70dGTu2u+Ahh6E= -github.com/dgraph-io/ristretto v0.0.3 h1:jh22xisGBjrEVnRZ1DVTpBVQm0Xndu8sMl0CWDzSIBI= github.com/dgraph-io/ristretto v0.0.3/go.mod h1:KPxhHT9ZxKefz+PCeOGsrHpl1qZ7i70dGTu2u+Ahh6E= +github.com/dgraph-io/ristretto v0.1.0 h1:Jv3CGQHp9OjuMBSne1485aDpUkTKEcUqF+jm/LuerPI= +github.com/dgraph-io/ristretto v0.1.0/go.mod h1:fux0lOrBhrVCJd3lcTHsIJhq1T2rokOu6v9Vcb3Q9ug= +github.com/dgrijalva/jwt-go v0.0.0-20170104182250-a601269ab70c/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= +github.com/dgryski/go-bitstream v0.0.0-20180413035011-3522498ce2c8/go.mod h1:VMaSuZ+SZcx/wljOQKvp5srsbCiKDEb6K2wC4+PiBmQ= github.com/dgryski/go-farm v0.0.0-20190423205320-6a90982ecee2/go.mod h1:SqUrOPUnsFjfmXRMNPybcSiG0BgUW2AuFH8PAnS2iTw= github.com/dgryski/go-farm v0.0.0-20200201041132-a6ae2369ad13 h1:fAjc9m62+UWV/WAFKLNi6ZS0675eEUC9y3AlwSbQu1Y= github.com/dgryski/go-farm v0.0.0-20200201041132-a6ae2369ad13/go.mod h1:SqUrOPUnsFjfmXRMNPybcSiG0BgUW2AuFH8PAnS2iTw= github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no= +github.com/dimchansky/utfbom v1.1.0/go.mod h1:rO41eb7gLfo8SF1jd9F8HplJm1Fewwi4mQvIirEdv+8= +github.com/dimchansky/utfbom v1.1.1/go.mod h1:SxdoEBH5qIqFocHMyGOXVAybYJdr71b1Q/j0mACtrfE= github.com/dlclark/regexp2 v1.2.0/go.mod h1:2pZnwuY/m+8K6iRw6wQdMtk+rH5tNGR1i55kozfMjCc= +github.com/dlclark/regexp2 v1.4.1-0.20201116162257-a2a8dda75c91/go.mod h1:2pZnwuY/m+8K6iRw6wQdMtk+rH5tNGR1i55kozfMjCc= +github.com/dnaeon/go-vcr v1.0.1/go.mod h1:aBB1+wY4s93YsC3HHjMBMrwTj2R9FHDzUr9KyGc8n1E= +github.com/dnaeon/go-vcr v1.1.0/go.mod h1:M7tiix8f0r6mKKJ3Yq/kqU1OYf3MnfmBWVbPx/yU9ko= +github.com/dnaeon/go-vcr v1.2.0/go.mod h1:R4UdLID7HZT3taECzJs4YgbbH6PIGXB6W/sc5OLb6RQ= +github.com/docker/cli v0.0.0-20190925022749-754388324470/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= +github.com/docker/cli v0.0.0-20191017083524-a8ff7f821017/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= +github.com/docker/cli v20.10.0-beta1.0.20201029214301-1d20b15adc38+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= +github.com/docker/cli v20.10.13+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= +github.com/docker/cli v20.10.14+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= +github.com/docker/cli v20.10.17+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= +github.com/docker/distribution v0.0.0-20190905152932-14b96e55d84c/go.mod h1:0+TTO4EOBfRPhZXAeF1Vu+W3hHZ8eLp8PgKVZlcvtFY= +github.com/docker/distribution v2.6.0-rc.1.0.20180327202408-83389a148052+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= +github.com/docker/distribution v2.7.1-0.20190205005809-0d3efadf0154+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= +github.com/docker/distribution v2.7.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= +github.com/docker/distribution v2.8.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= +github.com/docker/docker v0.0.0-20200511152416-a93e9eb0e95c/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= +github.com/docker/docker v0.7.3-0.20190327010347-be7ac8be2ae0/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= +github.com/docker/docker v1.4.2-0.20180531152204-71cd53e4a197/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= github.com/docker/docker v1.4.2-0.20180625184442-8e610b2b55bf/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= +github.com/docker/docker v1.4.2-0.20190924003213-a8608b5b67c7/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= +github.com/docker/docker v17.12.0-ce-rc1.0.20200730172259-9f28837c1d93+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= +github.com/docker/docker v20.10.0-beta1.0.20201110211921-af34b94a78a1+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= +github.com/docker/docker v20.10.3-0.20211208011758-87521affb077+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= +github.com/docker/docker v20.10.7+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= +github.com/docker/docker v20.10.17+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= +github.com/docker/docker v20.10.19+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= +github.com/docker/docker-credential-helpers v0.6.3/go.mod h1:WRaJzqw3CTB9bk10avuGsjVBZsD05qeibJ1/TYlvc0Y= +github.com/docker/docker-credential-helpers v0.6.4/go.mod h1:ofX3UI0Gz1TteYBjtgs07O36Pyasyp66D2uKT7H8W1c= github.com/docker/go-connections v0.4.0 h1:El9xVISelRB7BuFusrZozjnkIM5YnzCViNKohAFqRJQ= github.com/docker/go-connections v0.4.0/go.mod h1:Gbd7IOopHjR8Iph03tsViu4nIes5XhDvyHbTtUxmeec= -github.com/docker/go-units v0.4.0 h1:3uh0PgVws3nIA0Q+MwDC8yjEPf9zjRfZZWXZYDct3Tw= +github.com/docker/go-events v0.0.0-20170721190031-9461782956ad/go.mod h1:Uw6UezgYA44ePAFQYUehOuCzmy5zmg/+nl2ZfMWGkpA= +github.com/docker/go-events v0.0.0-20190806004212-e31b211e4f1c/go.mod h1:Uw6UezgYA44ePAFQYUehOuCzmy5zmg/+nl2ZfMWGkpA= +github.com/docker/go-metrics v0.0.0-20180209012529-399ea8c73916/go.mod h1:/u0gXw0Gay3ceNrsHubL3BtdOL2fHf93USgMTe0W5dI= +github.com/docker/go-metrics v0.0.1/go.mod h1:cG1hvH2utMXtqgqqYE9plW6lDxS3/5ayHzueweSI3Vw= +github.com/docker/go-units v0.3.3/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= github.com/docker/go-units v0.4.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= +github.com/docker/go-units v0.5.0 h1:69rxXcBk27SvSaaxTtLh/8llcHD8vYHT7WSdRZ/jvr4= +github.com/docker/go-units v0.5.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= +github.com/docker/libnetwork v0.8.0-dev.2.0.20200917202933-d0951081b35f/go.mod h1:93m0aTqz6z+g32wla4l4WxTrdtvBRmVzYRkYvasA5Z8= +github.com/docker/libtrust v0.0.0-20150114040149-fa567046d9b1/go.mod h1:cyGadeNEkKy96OOhEzfZl+yxihPEzKnqJwvfuSUqbZE= +github.com/docker/spdystream v0.0.0-20160310174837-449fdfce4d96/go.mod h1:Qh8CwZgvJUkLughtfhJv5dyTYa91l1fOUCrgjqmcifM= +github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:WwZ+bS3ebgob9U8Nd0kOddGdZWjyMGR8Wziv+TBNwSE= github.com/dop251/goja v0.0.0-20200721192441-a695b0cdd498/go.mod h1:Mw6PkjjMXWbTj+nnj4s3QPXq1jaT0s5pC0iFD4+BOAA= +github.com/dop251/goja v0.0.0-20211011172007-d99e4b8cbf48/go.mod h1:R9ET47fwRVRPZnOGvHxxhuZcbrMCuiqOz3Rlrh4KSnk= +github.com/dop251/goja_nodejs v0.0.0-20210225215109-d91c329300e7/go.mod h1:hn7BA7c8pLvoGndExHudxTDKZ84Pyvv+90pbBjbTz0Y= github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= -github.com/dustin/go-humanize v1.0.0 h1:VSnTsYCnlFHaM2/igO1h6X3HA71jcobQuxemgkq4zYo= github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= -github.com/dvsekhvalnov/jose2go v0.0.0-20200901110807-248326c1351b h1:HBah4D48ypg3J7Np4N+HY/ZR76fx3HEUGxDU6Uk39oQ= +github.com/dustin/go-humanize v1.0.1-0.20200219035652-afde56e7acac h1:opbrjaN/L8gg6Xh5D04Tem+8xVcz6ajZlGCs49mQgyg= +github.com/dustin/go-humanize v1.0.1-0.20200219035652-afde56e7acac/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= github.com/dvsekhvalnov/jose2go v0.0.0-20200901110807-248326c1351b/go.mod h1:7BvyPhdbLxMXIYTFPLsyJRFMsKmOZnQmzh6Gb+uquuM= +github.com/dvsekhvalnov/jose2go v1.5.0 h1:3j8ya4Z4kMCwT5nXIKFSV84YS+HdqSSO0VsTQxaLAeM= +github.com/dvsekhvalnov/jose2go v1.5.0/go.mod h1:QsHjhyTlD/lAVqn/NSbVZmSCGeDehTB/mPZadG+mhXU= github.com/dvyukov/go-fuzz v0.0.0-20200318091601-be3528f3a813/go.mod h1:11Gm+ccJnvAhCNLlf5+cS9KjtbaD5I5zaZpFMsTHWTw= github.com/eapache/go-resiliency v1.1.0/go.mod h1:kFI+JgMyC7bLPUVY133qvEBtVayf5mFgVsvEsIPBvNs= github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21/go.mod h1:+020luEh2TKB4/GOp8oxxtq0Daoen/Cii55CzbTV6DU= github.com/eapache/queue v1.1.0/go.mod h1:6eCeP0CKFpHLu8blIFXhExK/dRa7WDZfr6jVFPTqq+I= +github.com/eclipse/paho.mqtt.golang v1.2.0/go.mod h1:H9keYFcgq3Qr5OUJm/JZI/i6U7joQ8SYLhZwfeOo6Ts= github.com/edsrzf/mmap-go v0.0.0-20160512033002-935e0e8a636c/go.mod h1:YO35OhQPt3KJa3ryjFM5Bs14WD66h8eGKpfaBNrHW5M= github.com/edsrzf/mmap-go v1.0.0/go.mod h1:YO35OhQPt3KJa3ryjFM5Bs14WD66h8eGKpfaBNrHW5M= +github.com/elazarl/goproxy v0.0.0-20170405201442-c4fc26588b6e/go.mod h1:/Zj4wYkgs4iZTTu3o/KG3Itv/qCCa8VVMlb3i9OVuzc= +github.com/elazarl/goproxy v0.0.0-20180725130230-947c36da3153/go.mod h1:/Zj4wYkgs4iZTTu3o/KG3Itv/qCCa8VVMlb3i9OVuzc= +github.com/emicklei/go-restful v0.0.0-20170410110728-ff4f55a20633/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= +github.com/emicklei/go-restful v2.9.5+incompatible/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= +github.com/emirpasic/gods v1.18.1/go.mod h1:8tpGGwCnJ5H4r6BWwaV6OrWmMoPhUl5jm/FMNAnJvWQ= github.com/enigmampc/btcutil v1.0.3-0.20200723161021-e2fb6adb2a25/go.mod h1:hTr8+TLQmkUkgcuh3mcr5fjrT9c64ZzsBCdCEC6UppY= +github.com/envoyproxy/go-control-plane v0.6.9/go.mod h1:SBwIajubJHhxtWwsL9s8ss4safvEdbitLhGGK48rN6g= +github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= +github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= +github.com/envoyproxy/go-control-plane v0.9.7/go.mod h1:cwu0lG7PUMfa9snN8LXBig5ynNVH9qI8YYLbd1fK2po= +github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= +github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= +github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.mod h1:hliV/p42l8fGbc6Y9bQ70uLwIvmJyVE5k4iMKlh8wCQ= +github.com/envoyproxy/go-control-plane v0.9.10-0.20210907150352-cf90f659a021/go.mod h1:AFq3mo9L8Lqqiid3OhADV3RfLJnjiw63cSpi+fDTRC0= +github.com/envoyproxy/go-control-plane v0.10.1/go.mod h1:AY7fTTXNdv/aJ2O5jwpxAPOWUZ7hQAEvzN5Pf27BkQQ= +github.com/envoyproxy/go-control-plane v0.10.2-0.20220325020618-49ff273808a1/go.mod h1:KJwIaB5Mv44NWtYuAOFCVOjcI94vtpEz2JU/D2v6IjE= +github.com/envoyproxy/go-control-plane v0.11.1/go.mod h1:uhMcXKCQMEJHiAb0w+YGefQLaTEw+YhGluxZkrTmD0g= github.com/envoyproxy/protoc-gen-validate v0.0.14/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= +github.com/envoyproxy/protoc-gen-validate v0.6.2/go.mod h1:2t7qjJNvHPx8IjnBOzl9E9/baC+qXE/TeeyBRzgJDws= +github.com/envoyproxy/protoc-gen-validate v1.0.2/go.mod h1:GpiZQP3dDbg4JouG/NNS7QWXpgx6x8QiMKdmN72jogE= github.com/esimonov/ifshort v1.0.2/go.mod h1:yZqNJUrNn20K8Q9n2CrjTKYyVEmX209Hgu+M1LBpeZE= +github.com/esimonov/ifshort v1.0.4/go.mod h1:Pe8zjlRrJ80+q2CxHLfEOfTwxCZ4O+MuhcHcfgNWTk0= github.com/ethereum/go-ethereum v1.9.25/go.mod h1:vMkFiYLHI4tgPw4k2j4MHKoovchFE8plZ0M9VMk4/oM= +github.com/ethereum/go-ethereum v1.10.17/go.mod h1:Lt5WzjM07XlXc95YzrhosmR4J9Ahd6X2wyEV2SvGhk0= github.com/ettle/strcase v0.1.1/go.mod h1:hzDLsPC7/lwKyBOywSHEP89nt2pDgdy+No1NBA9o9VY= -github.com/facebookgo/ensure v0.0.0-20160127193407-b4ab57deab51 h1:0JZ+dUmQeA8IIVUMzysrX4/AKuQwWhV2dYQuPZdvdSQ= +github.com/evanphx/json-patch v4.2.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= +github.com/evanphx/json-patch v4.9.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= +github.com/evanphx/json-patch v4.11.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= +github.com/evanphx/json-patch v4.12.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= github.com/facebookgo/ensure v0.0.0-20160127193407-b4ab57deab51/go.mod h1:Yg+htXGokKKdzcwhuNDwVvN+uBxDGXJ7G/VN1d8fa64= +github.com/facebookgo/ensure v0.0.0-20200202191622-63f1cf65ac4c h1:8ISkoahWXwZR41ois5lSJBSVw4D0OV19Ht/JSTzvSv0= +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 h1:JWuenKqqX8nojtoVVWjGfOF9635RETekkoH6Cc9SX0A= github.com/facebookgo/stack v0.0.0-20160209184415-751773369052/go.mod h1:UbMTZqLaRiH3MsBH8va0n7s1pQYcu3uTb8G4tygF4Zg= -github.com/facebookgo/subset v0.0.0-20150612182917-8dac2c3c4870 h1:E2s37DuLxFhQDg5gKsWoLBOB0n+ZW8s599zru8FJ2/Y= github.com/facebookgo/subset v0.0.0-20150612182917-8dac2c3c4870/go.mod h1:5tD+neXqOorC30/tWg0LCSkrqj/AR6gu8yY8/fpw1q0= +github.com/facebookgo/subset v0.0.0-20200203212716-c811ad88dec4 h1:7HZCaLC5+BZpmbhCOZJ293Lz68O7PYrF2EzeiFMwCLk= +github.com/facebookgo/subset v0.0.0-20200203212716-c811ad88dec4/go.mod h1:5tD+neXqOorC30/tWg0LCSkrqj/AR6gu8yY8/fpw1q0= github.com/fatih/camelcase v1.0.0 h1:hxNvNX/xYBp0ovncs8WyWZrOrpBNub/JfaMvbURyft8= github.com/fatih/camelcase v1.0.0/go.mod h1:yN2Sb0lFhZJUdVvtELVWefmrXpuZESvPmqwoZc+/fpc= github.com/fatih/color v1.3.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= @@ -302,66 +1275,146 @@ github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5Kwzbycv 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.12.0/go.mod h1:ELkj/draVOlAH/xkhN6mQ50Qd0MPOk5AAr3maGEBuJM= +github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk= github.com/fatih/structtag v1.2.0/go.mod h1:mBJUNpUnHmRKrKlQQlmCrh5PuhftFbNv8Ys4/aAZl94= -github.com/felixge/httpsnoop v1.0.1 h1:lvB5Jl89CsZtGIWuTcDM1E/vkVs49/Ml7JJe07l8SPQ= github.com/felixge/httpsnoop v1.0.1/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= +github.com/felixge/httpsnoop v1.0.2 h1:+nS9g82KMXccJ/wp0zyRW9ZBHFETmMGtkk+2CTTrW4o= +github.com/felixge/httpsnoop v1.0.2/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= +github.com/firefart/nonamedreturns v1.0.4/go.mod h1:TDhe/tjI1BXo48CmYbUduTV7BdIga8MAO/xbKdcVsGI= github.com/fjl/memsize v0.0.0-20180418122429-ca190fb6ffbc/go.mod h1:VvhXpOYNQvB+uIk2RvXzuaQtkQJzzIx6lSBe1xv7hi0= +github.com/fjl/memsize v0.0.0-20190710130421-bcb5799ab5e5/go.mod h1:VvhXpOYNQvB+uIk2RvXzuaQtkQJzzIx6lSBe1xv7hi0= +github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568/go.mod h1:xEzjJPgXI435gkrCt3MPfRiAkVrwSbHsst4LCFVfpJc= +github.com/fogleman/gg v1.2.1-0.20190220221249-0403632d5b90/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k= +github.com/form3tech-oss/jwt-go v3.2.2+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k= +github.com/form3tech-oss/jwt-go v3.2.3+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k= +github.com/fortytw2/leaktest v1.2.0/go.mod h1:jDsjWgpAGjm2CA7WthBh/CdZYEPF31XHquHwclZch5g= github.com/fortytw2/leaktest v1.3.0 h1:u8491cBMTQ8ft8aeV+adlcytMZylmA5nnwwkRZjI8vw= github.com/fortytw2/leaktest v1.3.0/go.mod h1:jDsjWgpAGjm2CA7WthBh/CdZYEPF31XHquHwclZch5g= github.com/franela/goblin v0.0.0-20200105215937-c9ffbefa60db/go.mod h1:7dvUGVsVBjqR7JHJk0brhHOZYGmfBYOrK0ZhYMEtBr4= +github.com/franela/goblin v0.0.0-20210519012713-85d372ac71e2/go.mod h1:VzmDKDJVZI3aJmnRI9VjAn9nJ8qPPsN1fqzr9dqInIo= github.com/franela/goreq v0.0.0-20171204163338-bcd34c9993f8/go.mod h1:ZhphrRTfi2rbfLwlschooIH4+wKKDR4Pdxhh+TRoA20= github.com/frankban/quicktest v1.11.3/go.mod h1:wRf/ReqHper53s+kmmSZizM8NamnL3IM0I9ntUbOk+k= +github.com/frankban/quicktest v1.14.3 h1:FJKSZTDHjyhriyC81FLQ0LY93eSai0ZyR/ZIkd3ZUKE= +github.com/frankban/quicktest v1.14.3/go.mod h1:mgiwOwqx65TmIk1wJ6Q7wvnVMocbUorkibMOrVTHZps= github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= -github.com/fsnotify/fsnotify v1.4.9 h1:hsms1Qyu0jgnwNXIxa+/V/PDsU6CfLf6CNO8H7IWoS4= github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= +github.com/fsnotify/fsnotify v1.5.1/go.mod h1:T3375wBYaZdLLcVNkcVbzGHY7f1l/uK5T5Ai1i3InKU= +github.com/fsnotify/fsnotify v1.5.4/go.mod h1:OVB6XrOHzAwXMpEM7uPOzcehqUV2UqJxmVXmkdnm1bU= +github.com/fsnotify/fsnotify v1.6.0 h1:n+5WquG0fcWoWp6xPWfHdbskMCQaFnG6PfBrh1Ky4HY= +github.com/fsnotify/fsnotify v1.6.0/go.mod h1:sl3t1tCWJFWoRz9R8WJCbQihKKwmorjAbSClcnxKAGw= +github.com/fullsailor/pkcs7 v0.0.0-20190404230743-d7302db945fa/go.mod h1:KnogPXtdwXqoenmZCw6S+25EAm2MkxbG0deNDu4cbSA= github.com/fullstorydev/grpcurl v1.6.0/go.mod h1:ZQ+ayqbKMJNhzLmbpCiurTVlaK2M/3nqZCxaQ2Ze/sM= github.com/fzipp/gocyclo v0.3.1/go.mod h1:DJHO6AUmbdqj2ET4Z9iArSuwWgYDRryYt2wASxc7x3E= +github.com/fzipp/gocyclo v0.6.0/go.mod h1:rXPyn8fnlpa0R2csP/31uerbiVBugk5whMdlyaLkLoA= +github.com/garyburd/redigo v0.0.0-20150301180006-535138d7bcd7/go.mod h1:NR3MbYisc3/PwhQ00EMzDiPmrwpPxAn5GI05/YaO1SY= github.com/gballet/go-libpcsclite v0.0.0-20190607065134-2772fd86a8ff/go.mod h1:x7DCsMOv1taUwEWCzT4cmDeAkigA5/QCwUodaVOe8Ww= +github.com/getkin/kin-openapi v0.53.0/go.mod h1:7Yn5whZr5kJi6t+kShccXS8ae1APpYTW6yheSwk8Yi4= +github.com/getkin/kin-openapi v0.61.0/go.mod h1:7Yn5whZr5kJi6t+kShccXS8ae1APpYTW6yheSwk8Yi4= +github.com/getkin/kin-openapi v0.76.0/go.mod h1:660oXbgy5JFMKreazJaQTw7o+X00qeSyhcnluiMv+Xg= +github.com/getsentry/raven-go v0.2.0/go.mod h1:KungGk8q33+aIAZUIVWZDr2OfAEBsO49PX4NzFV5kcQ= +github.com/ghodss/yaml v0.0.0-20150909031657-73d445a93680/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= github.com/gin-contrib/sse v0.1.0 h1:Y/yl/+YNO8GZSjAhjMsSuLt29uWRFHdHYUb5lYOV9qE= github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI= -github.com/gin-gonic/gin v1.6.3 h1:ahKqKTFpO5KTPHxWZjEdPScmYaGtLo8Y4DMHoEsnp14= github.com/gin-gonic/gin v1.6.3/go.mod h1:75u5sXoLsGZoRN5Sgbi1eraJ4GU3++wFwWzhwvtwp4M= +github.com/gin-gonic/gin v1.7.0 h1:jGB9xAJQ12AIGNB4HguylppmDK1Am9ppF7XnGXXJuoU= +github.com/gin-gonic/gin v1.7.0/go.mod h1:jD2toBW3GZUr5UMcdrwQA10I7RuaFOl/SGeDjXkfUtY= +github.com/gliderlabs/ssh v0.1.1/go.mod h1:U7qILu1NlMHj9FlMhZLlkCdDnU1DBEAqr0aevW3Awn0= +github.com/gliderlabs/ssh v0.3.5/go.mod h1:8XB4KraRrX39qHhT6yxPsHedjA08I/uBVwj4xC+/+z4= +github.com/glycerine/go-unsnap-stream v0.0.0-20180323001048-9f0cb55181dd/go.mod h1:/20jfyN9Y5QPEAprSgKAUr+glWDY39ZiUEAYOEv5dsE= +github.com/glycerine/goconvey v0.0.0-20190410193231-58a59202ab31/go.mod h1:Ogl1Tioa0aV7gstGFO7KhffUsb9M4ydbEbbxpcEDc24= +github.com/go-chi/chi/v5 v5.0.0/go.mod h1:BBug9lr0cqtdAhsu6R4AAdvufI0/XBzAQSsUqJpoZOs= +github.com/go-chi/chi/v5 v5.0.7/go.mod h1:DslCQbL2OYiznFReuXYUmQ2hGd1aDpCnlMNITLSKoi8= +github.com/go-critic/go-critic v0.4.1/go.mod h1:7/14rZGnZbY6E38VEGk2kVhoq6itzc1E68facVDK23g= +github.com/go-critic/go-critic v0.4.3/go.mod h1:j4O3D4RoIwRqlZw5jJpx0BNfXWWbpcJoKu5cYSe4YmQ= github.com/go-critic/go-critic v0.5.6/go.mod h1:cVjj0DfqewQVIlIAGexPCaGaZDAqGE29PYDDADIVNEo= +github.com/go-critic/go-critic v0.6.5/go.mod h1:ezfP/Lh7MA6dBNn4c6ab5ALv3sKnZVLx37tr00uuaOY= +github.com/go-git/gcfg v1.5.0/go.mod h1:5m20vg6GwYabIxaOonVkTdrILxQMpEShl1xiMF4ua+E= +github.com/go-git/go-billy/v5 v5.3.1/go.mod h1:pmpqyWchKfYfrkb/UVH4otLvyi/5gJlGI4Hb3ZqZ3W0= +github.com/go-git/go-git-fixtures/v4 v4.3.1/go.mod h1:8LHG1a3SRW71ettAD/jW13h8c6AqjVSeL11RAdgaqpo= +github.com/go-git/go-git/v5 v5.5.1/go.mod h1:uz5PQ3d0gz7mSgzZhSJToM6ALPaKCdSnl58/Xb5hzr8= github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= +github.com/go-ini/ini v1.25.4/go.mod h1:ByCAeIL28uOIIG0E3PJtZPDL8WnHpFKFOtgjp+3Ies8= github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= -github.com/go-kit/kit v0.10.0 h1:dXFJfIHVvUcpSgDOV+Ne6t7jXri8Tfv2uOLHUZ2XNuo= github.com/go-kit/kit v0.10.0/go.mod h1:xUsJbQ/Fp4kEt7AFgCuvyX4a71u8h9jB8tj/ORgOZ7o= +github.com/go-kit/kit v0.12.0 h1:e4o3o3IsBfAKQh5Qbbiqyfu97Ku7jrO/JbohvztANh4= +github.com/go-kit/kit v0.12.0/go.mod h1:lHd+EkCZPIwYItmGDDRdhinkzX2A1sj+M9biaEaizzs= github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vbaY= +github.com/go-kit/log v0.2.0/go.mod h1:NwTd00d/i8cPZ3xOwwiv2PO5MOcx78fFErGNcVmBjv0= +github.com/go-kit/log v0.2.1 h1:MRVx0/zhvdseW+Gza6N9rVzU/IVzaeE1SFI4raAhmBU= +github.com/go-kit/log v0.2.1/go.mod h1:NwTd00d/i8cPZ3xOwwiv2PO5MOcx78fFErGNcVmBjv0= +github.com/go-lintpack/lintpack v0.5.2/go.mod h1:NwZuYi2nUHho8XEIZ6SIxihrnPoqBTDqfpXvXAN0sXM= github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= -github.com/go-logfmt/logfmt v0.5.0 h1:TrB8swr/68K7m9CcGut2g3UOihhbcbiMAYiuTXdEih4= github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A= +github.com/go-logfmt/logfmt v0.5.1 h1:otpy5pqBCBZ1ng9RQ0dPu4PN7ba75Y/aA+UpowDyNVA= +github.com/go-logfmt/logfmt v0.5.1/go.mod h1:WYhtIu8zTZfxdn5+rREduYbwxfcBr/Vr6KEVveWlfTs= +github.com/go-logr/logr v0.1.0/go.mod h1:ixOQHD9gLJUVQQ2ZOR7zLEifBX6tGkNJF4QyIY7sIas= +github.com/go-logr/logr v0.2.0/go.mod h1:z6/tIYblkpsD+a4lm/fGIIU9mZ+XfAiaFtq7xTgseGU= +github.com/go-logr/logr v0.4.0/go.mod h1:z6/tIYblkpsD+a4lm/fGIIU9mZ+XfAiaFtq7xTgseGU= +github.com/go-logr/logr v1.2.0/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= +github.com/go-logr/logr v1.2.1/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= +github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= +github.com/go-logr/logr v1.2.3/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= +github.com/go-logr/stdr v1.2.0/go.mod h1:YkVgnZu1ZjjL7xTxrfm/LLZBfkhTqSR1ydtm6jTKKwI= +github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= github.com/go-ole/go-ole v1.2.1/go.mod h1:7FAglXiTm7HKlQRDeOQ6ZNUHidzCWXuZWq/1dTyBNF8= github.com/go-ole/go-ole v1.2.5/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0= +github.com/go-ole/go-ole v1.2.6/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0= +github.com/go-openapi/jsonpointer v0.0.0-20160704185906-46af16f9f7b1/go.mod h1:+35s3my2LFTysnkMfxsJBAMHj/DoqoB9knIWoYG/Vk0= +github.com/go-openapi/jsonpointer v0.19.2/go.mod h1:3akKfEdA7DF1sugOqz1dVQHBcuDBPKZGEoHC/NkiQRg= +github.com/go-openapi/jsonpointer v0.19.3/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= +github.com/go-openapi/jsonpointer v0.19.5/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= +github.com/go-openapi/jsonreference v0.0.0-20160704190145-13c6e3589ad9/go.mod h1:W3Z9FmVs9qj+KR4zFKmDPGiLdk1D9Rlm7cyMvf57TTg= +github.com/go-openapi/jsonreference v0.19.2/go.mod h1:jMjeRr2HHw6nAVajTXJ4eiUwohSTlpa0o73RUL1owJc= +github.com/go-openapi/jsonreference v0.19.3/go.mod h1:rjx6GuL8TTa9VaixXglHmQmIL98+wF9xc8zWvFonSJ8= +github.com/go-openapi/jsonreference v0.19.5/go.mod h1:RdybgQwPxbL4UEjuAruzK1x3nE69AqPYEJeo/TWfEeg= +github.com/go-openapi/spec v0.0.0-20160808142527-6aced65f8501/go.mod h1:J8+jY1nAiCcj+friV/PDoE1/3eeccG9LYBs0tYvLOWc= +github.com/go-openapi/spec v0.19.3/go.mod h1:FpwSN1ksY1eteniUU7X0N/BgJ7a4WvBFVA8Lj9mJglo= +github.com/go-openapi/swag v0.0.0-20160704191624-1d0bd113de87/go.mod h1:DXUve3Dpr1UfpPtxFw+EFuQ41HhCWZfha5jSVRG7C7I= +github.com/go-openapi/swag v0.19.2/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= +github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= +github.com/go-openapi/swag v0.19.14/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ= github.com/go-playground/assert/v2 v2.0.1/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4= github.com/go-playground/locales v0.13.0 h1:HyWk6mgj5qFqCT5fjGBuRArbVDfE4hi8+e8ceBS/t7Q= github.com/go-playground/locales v0.13.0/go.mod h1:taPMhCMXrRLJO55olJkUXHZBHCxTMfnGwq/HNwmWNS8= github.com/go-playground/universal-translator v0.17.0 h1:icxd5fm+REJzpZx7ZfpaD876Lmtgy7VtROAbHHXk8no= github.com/go-playground/universal-translator v0.17.0/go.mod h1:UkSxE5sNxxRwHyU+Scu5vgOQjsIJAF8j9muTVoKLVtA= -github.com/go-playground/validator/v10 v10.2.0 h1:KgJ0snyC2R9VXYN2rneOtQcw5aHQB1Vv0sFl1UcHBOY= github.com/go-playground/validator/v10 v10.2.0/go.mod h1:uOYAAleCW8F/7oMFd6aG0GOhaH6EGOAJShg8Id5JGkI= +github.com/go-playground/validator/v10 v10.4.1 h1:pH2c5ADXtd66mxoE0Zm9SUhxE20r7aM3F26W0hOn+GE= +github.com/go-playground/validator/v10 v10.4.1/go.mod h1:nlOn6nFhuKACm19sB/8EGNn9GlaMV7XkbRSipzJ0Ii4= github.com/go-redis/redis v6.15.8+incompatible/go.mod h1:NAIEuMOZ/fxfXJIrKDQDz8wamY7mA7PouImQ2Jvg6kA= github.com/go-sourcemap/sourcemap v2.1.2+incompatible/go.mod h1:F8jJfvm2KbVjc5NqelyYJmf/v5J0dwNLS2mL4sNA1Jg= +github.com/go-sourcemap/sourcemap v2.1.3+incompatible/go.mod h1:F8jJfvm2KbVjc5NqelyYJmf/v5J0dwNLS2mL4sNA1Jg= github.com/go-sql-driver/mysql v1.4.0/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w= +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-stack/stack v1.8.0 h1:5SgMzNM5HxrEjV0ww2lTmX6E2Izsfxas4+YHWRs3Lsk= +github.com/go-sql-driver/mysql v1.6.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg7847qk6SyHyPtNmDHnmrv/HOrqktSC+C9fM+CJOE= github.com/go-toolsmith/astcast v1.0.0/go.mod h1:mt2OdQTeAQcY4DQgPSArJjHCcOwlX+Wl/kwN+LbLGQ4= github.com/go-toolsmith/astcopy v1.0.0/go.mod h1:vrgyG+5Bxrnz4MZWPF+pI4R8h3qKRjjyvV/DSez4WVQ= +github.com/go-toolsmith/astcopy v1.0.2/go.mod h1:4TcEdbElGc9twQEYpVo/aieIXfHhiuLh4aLAck6dO7Y= +github.com/go-toolsmith/astequal v0.0.0-20180903214952-dcb477bfacd6/go.mod h1:H+xSiq0+LtiDC11+h1G32h7Of5O3CYFJ99GVbS5lDKY= 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/astfmt v0.0.0-20180903215011-8f8ee99c3086/go.mod h1:mP93XdblcopXwlyN4X4uodxXQhldPGZbcEJIimQHrkg= github.com/go-toolsmith/astfmt v1.0.0/go.mod h1:cnWmsOAuq4jJY6Ct5YWlVLmcmLMn1JUPuQIHCY7CJDw= github.com/go-toolsmith/astinfo v0.0.0-20180906194353-9809ff7efb21/go.mod h1:dDStQCHtmZpYOmjRP/8gHHnCCch3Zz3oEgCdZVdtweU= +github.com/go-toolsmith/astp v0.0.0-20180903215135-0af7e3c24f30/go.mod h1:SV2ur98SGypH1UjcPpCatrV5hPazG6+IfNHbkDXBRrk= github.com/go-toolsmith/astp v1.0.0/go.mod h1:RSyrtpVlfTFGDYRbrjyWP1pYu//tSFcvdYrA8meBmLI= +github.com/go-toolsmith/pkgload v0.0.0-20181119091011-e9e65178eee8/go.mod h1:WoMrjiy4zvdS+Bg6z9jZH82QXwkcgCBX6nOfnmdaHks= github.com/go-toolsmith/pkgload v1.0.0/go.mod h1:5eFArkbO80v7Z0kdngIxsRXRMTaX4Ilcwuh3clNrQJc= +github.com/go-toolsmith/pkgload v1.0.2-0.20220101231613-e814995d17c5/go.mod h1:3NAwwmD4uY/yggRxoEjk/S00MIV3A+H7rrE3i87eYxM= github.com/go-toolsmith/strparse v1.0.0/go.mod h1:YI2nUKP9YGZnL/L1/DLFBfixrcjslWct4wyljWhSRy8= github.com/go-toolsmith/typep v1.0.0/go.mod h1:JSQCQMUPdRlMZFswiq3TGpNp1GMktqkR2Ns5AIQkATU= github.com/go-toolsmith/typep v1.0.2/go.mod h1:JSQCQMUPdRlMZFswiq3TGpNp1GMktqkR2Ns5AIQkATU= github.com/go-xmlfmt/xmlfmt v0.0.0-20191208150333-d5b6f63a941b/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/gobwas/httphead v0.0.0-20180130184737-2c6c146eadee h1:s+21KNqlpePfkah2I+gwHF8xmJWRjooY+5248k6m4A0= github.com/gobwas/httphead v0.0.0-20180130184737-2c6c146eadee/go.mod h1:L0fX3K22YWvt/FAX9NnzrNzcI4wNYi9Yku4O0LKYflo= @@ -369,18 +1422,45 @@ github.com/gobwas/pool v0.2.0 h1:QEmUOlnSjWtnpRGHF3SauEiOsy82Cup83Vf2LcMlnc8= github.com/gobwas/pool v0.2.0/go.mod h1:q8bcK0KcYlCgd9e7WYLm9LpyS+YeLd8JVDW6WezmKEw= github.com/gobwas/ws v1.0.2 h1:CoAavW/wd/kulfZmSIBt6p24n4j7tHgNVCjsfHVNUbo= github.com/gobwas/ws v1.0.2/go.mod h1:szmBTxLgaFppYjEmNtny/v3w89xOydFnnZMcgRRu/EM= +github.com/godbus/dbus v0.0.0-20151105175453-c7fdd8b5cd55/go.mod h1:/YcGZj5zSblfDWMMoOzV4fas9FZnQYTkDnsGvmh2Grw= +github.com/godbus/dbus v0.0.0-20180201030542-885f9cc04c9c/go.mod h1:/YcGZj5zSblfDWMMoOzV4fas9FZnQYTkDnsGvmh2Grw= +github.com/godbus/dbus v0.0.0-20190422162347-ade71ed3457e/go.mod h1:bBOAhwG1umN6/6ZUMtDFBMQR8jRg9O75tm9K00oMsK4= github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2 h1:ZpnhV/YsD2/4cESfV5+Hoeu/iUR3ruzNvZ+yQfO03a0= github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2/go.mod h1:bBOAhwG1umN6/6ZUMtDFBMQR8jRg9O75tm9K00oMsK4= +github.com/godbus/dbus/v5 v5.0.3/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= +github.com/godbus/dbus/v5 v5.0.6/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= +github.com/gofrs/flock v0.0.0-20190320160742-5135e617513b/go.mod h1:F1TvTiK9OcQqauNUHlbJvyl9Qa1QvF/gOUDKA14jxHU= +github.com/gofrs/flock v0.7.3/go.mod h1:F1TvTiK9OcQqauNUHlbJvyl9Qa1QvF/gOUDKA14jxHU= github.com/gofrs/flock v0.8.1/go.mod h1:F1TvTiK9OcQqauNUHlbJvyl9Qa1QvF/gOUDKA14jxHU= +github.com/gofrs/uuid v3.3.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= +github.com/gofrs/uuid v4.3.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= github.com/gogo/gateway v1.1.0 h1:u0SuhL9+Il+UbjM9VIE3ntfRujKbvVpFvNB4HbjeVQ0= github.com/gogo/gateway v1.1.0/go.mod h1:S7rR8FRQyG3QFESeSv4l2WnsyzlCLG0CzBbUUo/mbic= +github.com/gogo/googleapis v1.1.0/go.mod h1:gf4bu3Q80BeJ6H1S1vYPm8/ELATdvryBaNFGgqEef3s= +github.com/gogo/googleapis v1.2.0/go.mod h1:Njal3psf3qN6dwBtQfUmBZh2ybovJ0tlu3o/AC7HYjU= +github.com/gogo/googleapis v1.3.2/go.mod h1:5YRNX2z1oM5gXdAkurHa942MDgEJyk02w4OecKY87+c= +github.com/gogo/googleapis v1.4.0/go.mod h1:5YRNX2z1oM5gXdAkurHa942MDgEJyk02w4OecKY87+c= +github.com/gogo/googleapis v1.4.1/go.mod h1:2lpHqI5OcWCtVElxXnPt+s8oJvMpySlOyM6xDCrzib4= +github.com/golang-jwt/jwt/v4 v4.0.0/go.mod h1:/xlHOz8bRuivTWchD4jCa+NbatV+wEUSzwAxVc6locg= +github.com/golang-jwt/jwt/v4 v4.1.0/go.mod h1:/xlHOz8bRuivTWchD4jCa+NbatV+wEUSzwAxVc6locg= +github.com/golang-jwt/jwt/v4 v4.3.0/go.mod h1:/xlHOz8bRuivTWchD4jCa+NbatV+wEUSzwAxVc6locg= +github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe/go.mod h1:8vg3r2VgvsThLBIFL93Qb5yWzgyZWhEmBwUJWevAkK0= +github.com/golang-sql/sqlexp v0.0.0-20170517235910-f1bb20e5a188/go.mod h1:vXjM/+wXQnTPR4KqTKDgJukSZ6amVRtWMPEjE6sQoK8= +github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k= +github.com/golang/geo v0.0.0-20190916061304-5b978397cfec/go.mod h1:QZ0nwyI2jOfgRAoBvP+ab5aRr7c9x7lhGEJrKvBwjWI= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= +github.com/golang/glog v1.1.2 h1:DVjP2PbBOzHyzA+dn3WhHIq4NdVu3Q+pvivFICf/7fo= +github.com/golang/glog v1.1.2/go.mod h1:zR+okUeTbrL6EL3xHUDxZuEtGv04p5shwip1+mL/rLQ= github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da h1:oI5xCqsCo564l8iNU+DwB5epxmsaqB+rhGL0m5jtYqE= +github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/lint v0.0.0-20180702182130-06c8688daad7/go.mod h1:tluoj9z5200jBnyusfRPU2LqT6J+DAorxEvtC7LHB+E= +github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y= github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= @@ -390,6 +1470,7 @@ github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71 github.com/golang/mock v1.5.0/go.mod h1:CWnOUgYIOo4TcNZ0wHX3YZCqsaM1I1Jvs6v3mP3KVu8= github.com/golang/mock v1.6.0 h1:ErTB+efbowRARo13NNdxyJji2egdxLGQhRaY+DUumQc= github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs= +github.com/golang/protobuf v0.0.0-20161109072736-4bd1920723d7/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.1.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.0/go.mod h1:Qd/q+1AKNOZr9uGQzbzCmRO6sUih6GTPZv6a1/R87v0= @@ -408,28 +1489,51 @@ github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= github.com/golang/protobuf v1.5.1/go.mod h1:DopwsBzvsk0Fs44TXzsVbJyPhcCPeIwnvohx4u74HPM= -github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw= github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= +github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= +github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/golang/snappy v0.0.3-0.20201103224600-674baa8c7fc3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= -github.com/golang/snappy v0.0.3 h1:fHPg5GQYlCeLIPB9BZqMVR5nR9A+IM5zcgeTdjMYmLA= github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= +github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM= +github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= 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/errcheck v0.0.0-20181223084120-ef45e06d44b6/go.mod h1:DbHgvLiFKX1Sh2T1w8Q/h4NAI8MHIpzCdnBUDTXU3I0= github.com/golangci/go-misc v0.0.0-20180628070357-927a3d87b613/go.mod h1:SyvUF2NxV+sN8upjjeVYr5W7tyxaT1JVtvhKhOn2ii8= +github.com/golangci/go-misc v0.0.0-20220329215616-d24fe342adfe/go.mod h1:gjqyPShc/m8pEMpk0a3SeagVb0kaqvhscv+i9jI5ZhQ= +github.com/golangci/goconst v0.0.0-20180610141641-041c5f2b40f3/go.mod h1:JXrF4TWy4tXYn62/9x8Wm/K/dm06p8tCKwFRDPZG/1o= +github.com/golangci/gocyclo v0.0.0-20180528134321-2becd97e67ee/go.mod h1:ozx7R9SIwqmqf5pRP90DhR2Oay2UIjGuKheCBCNwAYU= +github.com/golangci/gocyclo v0.0.0-20180528144436-0a533e8fa43d/go.mod h1:ozx7R9SIwqmqf5pRP90DhR2Oay2UIjGuKheCBCNwAYU= github.com/golangci/gofmt v0.0.0-20190930125516-244bba706f1a/go.mod h1:9qCChq59u/eW8im404Q2WWTrnBUQKjpNYKMbU4M7EFU= +github.com/golangci/gofmt v0.0.0-20220901101216-f2edd75033f2/go.mod h1:9wOXstvyDRshQ9LggQuzBCGysxs3b6Uo/1MvYCR2NMs= +github.com/golangci/golangci-lint v1.23.7/go.mod h1:g/38bxfhp4rI7zeWSxcdIeHTQGS58TCak8FYcyCmavQ= +github.com/golangci/golangci-lint v1.27.0/go.mod h1:+eZALfxIuthdrHPtfM7w/R3POJLjHDfJJw8XZl9xOng= github.com/golangci/golangci-lint v1.42.1/go.mod h1:MuInrVlgg2jq4do6XI1jbkErbVHVbwdrLLtGv6p2wPI= +github.com/golangci/golangci-lint v1.50.1/go.mod h1:AQjHBopYS//oB8xs0y0M/dtxdKHkdhl0RvmjUct0/4w= +github.com/golangci/ineffassign v0.0.0-20190609212857-42439a7714cc/go.mod h1:e5tpTHCfVze+7EpLEozzMB3eafxo2KT5veNg1k6byQU= +github.com/golangci/lint-1 v0.0.0-20181222135242-d2cdd8c08219/go.mod h1:/X8TswGSh1pIozq4ZwCfxS0WA5JGXguxk94ar/4c87Y= 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.0.0-20180809174111-950f5d19e770/go.mod h1:dEbvlSfYbMQDtrpRMQU675gSDLDNa8sCPPChZ7PhiVA= github.com/golangci/misspell v0.3.5/go.mod h1:dEbvlSfYbMQDtrpRMQU675gSDLDNa8sCPPChZ7PhiVA= +github.com/golangci/prealloc v0.0.0-20180630174525-215b22d4de21/go.mod h1:tf5+bzsHdTM0bsB7+8mt0GUMvjCgwLpTapNZHU8AajI= +github.com/golangci/revgrep v0.0.0-20180526074752-d9c87f5ffaf0/go.mod h1:qOQCunEYvmd/TLamH+7LlVccLvUH5kZNhbCgTHoBbp4= +github.com/golangci/revgrep v0.0.0-20180812185044-276a5c0a1039/go.mod h1:qOQCunEYvmd/TLamH+7LlVccLvUH5kZNhbCgTHoBbp4= github.com/golangci/revgrep v0.0.0-20210208091834-cd28932614b5/go.mod h1:LK+zW4MpyytAWQRz0M4xnzEk50lSvqDQKfx304apFkY= +github.com/golangci/revgrep v0.0.0-20220804021717-745bb2f7c2e6/go.mod h1:0AKcRCkMoKvUvlf89F6O7H2LYdhr1zBh736mBItOdRs= github.com/golangci/unconvert v0.0.0-20180507085042-28b1c447d1f4/go.mod h1:Izgrg8RkN3rCIMLGE9CyYmU9pY2Jer6DgANEnZ/L/cQ= +github.com/google/btree v0.0.0-20180124185431-e89373fe6b4a/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= -github.com/google/btree v1.0.0 h1:0udJVsspx3VBr5FwtLhQQtuAsVc79tTq0ocGIPAU6qo= github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= +github.com/google/btree v1.0.1/go.mod h1:xXMiIv4Fb/0kKde4SpL7qlzvu5cMJDRkFDxJfI9uaxA= +github.com/google/btree v1.1.2 h1:xf4v41cLI2Z6FxbKm+8Bu+m8ifhj15JuZ9sa0jZCMUU= +github.com/google/btree v1.1.2/go.mod h1:qOPhT0dTNdNzV6Z/lhRX0YXUafgPLFUh+gZMl761Gm4= 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/crfs v0.0.0-20191108021818-71d77da419c9/go.mod h1:etGhoOqfwPkooV6aqoX3eBGQOJblqdoc9XvWOeuxpPw= +github.com/google/flatbuffers v1.11.0/go.mod h1:1AeVuKshWv4vARoZatz6mlQ0JxURH0Kv5+zNeJKJCa8= github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= @@ -441,16 +1545,34 @@ github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/ github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.7/go.mod h1:n+brtR0CgQNWTVd5ZUFpTBC8YFBDLK/h/bpaJ8/DtOE= +github.com/google/go-cmp v0.5.8/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= +github.com/google/go-containerregistry v0.0.0-20191010200024-a3d713f9b7f8/go.mod h1:KyKXa9ciM8+lgMXwOVsXi7UxGrsf9mM61Mzs+xKUrKE= +github.com/google/go-containerregistry v0.1.2/go.mod h1:GPivBPgdAyd2SU+vf6EpsgOtWDuPqjW0hJZt4rNdTZ4= +github.com/google/go-containerregistry v0.5.1/go.mod h1:Ct15B4yir3PLOP5jsy0GNeYVaIZs/MK/Jz5any1wFW0= +github.com/google/go-github v17.0.0+incompatible/go.mod h1:zLgOLi98H3fifZn+44m+umXrS52loVEgC2AApnigrVQ= +github.com/google/go-github/v28 v28.1.1/go.mod h1:bsqJWQX05omyWVmc00nEUql9mhQyv38lDZ8kPZcQVoM= +github.com/google/go-querystring v1.0.0/go.mod h1:odCYkC5MyYFN7vkCjXpyrEuKhc/BUO6wN/zVPAxq5ck= +github.com/google/go-replayers/grpcreplay v0.1.0/go.mod h1:8Ig2Idjpr6gifRd6pNVggX6TC1Zw6Jx74AKp7QNH2QE= +github.com/google/go-replayers/httpreplay v0.1.0/go.mod h1:YKZViNhiGgqdBlUbI2MwGpq4pXxNmhJLPHQ7cv2b5no= +github.com/google/gofuzz v0.0.0-20161122191042-44d81051d367/go.mod h1:HP5RmnzzSNb993RKQDq4+1A4ia9nllfqcQFTQJedwGI= github.com/google/gofuzz v0.0.0-20170612174753-24818f796faf/go.mod h1:HP5RmnzzSNb993RKQDq4+1A4ia9nllfqcQFTQJedwGI= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= +github.com/google/gofuzz v1.1.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/gofuzz v1.1.1-0.20200604201612-c04b05f3adfa/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= +github.com/google/martian v2.1.1-0.20190517191504-25dcb96d9e51+incompatible h1:xmapqc1AyLoB+ddYT6r04bD9lIjlOqGaREovi0SzFaE= +github.com/google/martian v2.1.1-0.20190517191504-25dcb96d9e51+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= github.com/google/martian/v3 v3.1.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= +github.com/google/martian/v3 v3.2.1/go.mod h1:oBOf6HBosgwRXnUGWUB05QECsc6uvmMiJ3+6W4l/CUk= +github.com/google/martian/v3 v3.3.2 h1:IqNFLAmvJOgVlpdEBiQbDc2EwKW77amAycfTuWKdfvw= +github.com/google/martian/v3 v3.3.2/go.mod h1:oBOf6HBosgwRXnUGWUB05QECsc6uvmMiJ3+6W4l/CUk= github.com/google/orderedcode v0.0.1 h1:UzfcAexk9Vhv8+9pNOgRu41f16lHq725vPwnSeiG/Us= github.com/google/orderedcode v0.0.1/go.mod h1:iVyU4/qPKHY5h/wSd6rZZCDcLJNxiWO6dvsYES2Sb20= github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= @@ -463,27 +1585,72 @@ github.com/google/pprof v0.0.0-20200507031123-427632fa3b1c/go.mod h1:ZgVRPoUq/hf github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= github.com/google/pprof v0.0.0-20201023163331-3e6fc7fc9c4c/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20201218002935-b9804c9f04c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20210122040257-d980be63207e/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20210226084205-cbba55b83ad5/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210407192527-94a9f03dee38/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210601050228-01bbb1931b22/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210609004039-a478d1d731e9/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= +github.com/google/rpmpack v0.0.0-20191226140753-aa36bfddb3a0/go.mod h1:RaTPr0KUf2K7fnZYLNDrr8rxAamWs3iNywJLtQ2AzBg= +github.com/google/s2a-go v0.1.4 h1:1kZ/sQM3srePvKs3tXAvQzo66XfcReoqFpIpIccE7Oc= +github.com/google/s2a-go v0.1.4/go.mod h1:Ej+mSEMGRnqRzjc7VtF+jdBwYG5fuJfiZ8ELkjEwM0A= +github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510/go.mod h1:pupxD2MaaD3pAXIBCelhxNneeOaAeabZDe5s4K6zSpQ= +github.com/google/subcommands v1.0.1/go.mod h1:ZjhPrFU+Olkh9WazFPsl27BQ4UPiG37m3yTrtFlrHVk= 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.0.0/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.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.2.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= +github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/wire v0.3.0/go.mod h1:i1DMg/Lu8Sz5yYl25iOdmc5CT5qusaa+zmRWs16741s= +github.com/google/wire v0.4.0/go.mod h1:ngWDr9Qvq3yZA10YrxfyGELY/AFWGVpy9c1LTRi1EoU= +github.com/googleapis/enterprise-certificate-proxy v0.0.0-20220520183353-fd19c99a87aa/go.mod h1:17drOmN3MwGY7t0e+Ei9b45FFGA3fBs3x36SsCg1hq8= +github.com/googleapis/enterprise-certificate-proxy v0.1.0/go.mod h1:17drOmN3MwGY7t0e+Ei9b45FFGA3fBs3x36SsCg1hq8= +github.com/googleapis/enterprise-certificate-proxy v0.2.0/go.mod h1:8C0jb7/mgJe/9KK8Lm7X9ctZC2t60YyIpYEI16jx0Qg= +github.com/googleapis/enterprise-certificate-proxy v0.2.3 h1:yk9/cqRKtT9wXZSsRH9aurXEpJX+U6FLtpYTdC3R06k= +github.com/googleapis/enterprise-certificate-proxy v0.2.3/go.mod h1:AwSRAtLfXpU5Nm3pW+v7rGDHp09LsPtGY9MduiEsR9k= +github.com/googleapis/gax-go v2.0.0+incompatible/go.mod h1:SFVmujtThgffbyetf+mdk2eWhX2bMyUtNHzFKcPA9HY= +github.com/googleapis/gax-go v2.0.2+incompatible/go.mod h1:SFVmujtThgffbyetf+mdk2eWhX2bMyUtNHzFKcPA9HY= github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= +github.com/googleapis/gax-go/v2 v2.1.0/go.mod h1:Q3nei7sK6ybPYH7twZdmQpAd1MKb7pfu6SK+H1/DsU0= +github.com/googleapis/gax-go/v2 v2.1.1/go.mod h1:hddJymUZASv3XPyGkUpKj8pPO47Rmb0eJc8R6ouapiM= +github.com/googleapis/gax-go/v2 v2.2.0/go.mod h1:as02EH8zWkzwUoLbBaFeQ+arQaj/OthfcblKl4IGNaM= +github.com/googleapis/gax-go/v2 v2.3.0/go.mod h1:b8LNqSzNabLiUpXKkY7HAR5jr6bIT99EXz9pXxye9YM= +github.com/googleapis/gax-go/v2 v2.4.0/go.mod h1:XOTVJ59hdnfJLIP/dh8n5CGryZR2LxK9wbMD5+iXC6c= +github.com/googleapis/gax-go/v2 v2.5.1/go.mod h1:h6B0KMMFNtI2ddbGJn3T3ZbwkeT6yqEF02fYlzkUCyo= +github.com/googleapis/gax-go/v2 v2.6.0/go.mod h1:1mjbznJAPHFpesgE5ucqfYEscaz5kMdcIDwU/6+DDoY= +github.com/googleapis/gax-go/v2 v2.11.0 h1:9V9PWXEsWnPpQhu/PeQIkS4eGzMlTLGgt80cUUI8Ki4= +github.com/googleapis/gax-go/v2 v2.11.0/go.mod h1:DxmR61SGKkGLa2xigwuZIQpkCI2S5iydzRfb3peWZJI= +github.com/googleapis/gnostic v0.0.0-20170729233727-0c5108395e2d/go.mod h1:sJBsCZ4ayReDTBIg8b9dl28c5xFWyhBTVRp3pOg5EKY= +github.com/googleapis/gnostic v0.2.2/go.mod h1:sJBsCZ4ayReDTBIg8b9dl28c5xFWyhBTVRp3pOg5EKY= +github.com/googleapis/gnostic v0.4.1/go.mod h1:LRhVm6pbyptWbWbuZ38d1eyptfvIytN3ir6b65WBswg= +github.com/googleapis/gnostic v0.5.1/go.mod h1:6U4PtQXGIEt/Z3h5MAT7FNofLnw9vXk2cUuW7uA/OeU= +github.com/googleapis/gnostic v0.5.5/go.mod h1:7+EbHbldMins07ALC74bsA81Ovc97DwqyJO1AENw9kA= +github.com/googleapis/go-type-adapters v1.0.0/go.mod h1:zHW75FOG2aur7gAO2B+MLby+cLsWGBF62rFAi7WjWO4= +github.com/googleapis/google-cloud-go-testing v0.0.0-20200911160855-bcd43fbb19e8/go.mod h1:dvDLG8qkwmyD9a/MJJN3XJcT3xFxOKAvTZGvuZmac9g= +github.com/gookit/color v1.2.4/go.mod h1:AhIE+pS6D4Ql0SQWbBeXPHw7gY0/sjHoA4s/n1KB7xg= github.com/gookit/color v1.4.2/go.mod h1:fqRyamkC1W8uxl+lxCQxOT09l/vYfZ+QeiX3rKQHCoQ= -github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1 h1:EGx4pi6eqNxGaHF6qqu48+N2wcFQ5qg5FXgOdqsJ5d8= +github.com/gookit/color v1.5.1/go.mod h1:wZFzea4X8qN6vHOSP2apMb4/+w/orMznEzYsIHPaqKM= +github.com/gophercloud/gophercloud v0.1.0/go.mod h1:vxM41WHh5uqHVBMZHzuwNOHh8XEoIEcSTewFxm1c5g8= github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= github.com/gordonklaus/ineffassign v0.0.0-20200309095847-7953dde2c7bf/go.mod h1:cuNKsD1zp2v6XfE/orVX2QE1LC+i254ceGcVeDT3pTU= github.com/gordonklaus/ineffassign v0.0.0-20210225214923-2e10b2664254/go.mod h1:M9mZEtGIsR1oDaZagNPNG9iq9n2HrhZ17dsXk73V3Lw= +github.com/gordonklaus/ineffassign v0.0.0-20210914165742-4cc7213b9bc8/go.mod h1:Qcp2HIAYhR7mNUVSIxZww3Guk4it82ghYcEXIAk+QT0= +github.com/goreleaser/goreleaser v0.136.0/go.mod h1:wiKrPUeSNh6Wu8nUHxZydSOVQ/OZvOaO7DTtFqie904= +github.com/goreleaser/nfpm v1.2.1/go.mod h1:TtWrABZozuLOttX2uDlYyECfQX7x5XYkVxhjYcR6G9w= +github.com/goreleaser/nfpm v1.3.0/go.mod h1:w0p7Kc9TAUgWMyrub63ex3M2Mgw88M4GZXoTq5UCb40= github.com/gorhill/cronexpr v0.0.0-20180427100037-88b0669f7d75/go.mod h1:g2644b03hfBX9Ov0ZBDgXXens4rxSxmqFBbhvKv2yVA= github.com/gorilla/context v1.1.1/go.mod h1:kBGZzfjB9CEq2AlWe17Uuf7NDRt0dE0s8S51q0aT7Yg= +github.com/gorilla/handlers v0.0.0-20150720190736-60c7bfde3e33/go.mod h1:Qkdc/uu4tH4g6mTK6auzZ766c4CA0Ng8+o/OAirnOIQ= github.com/gorilla/handlers v1.5.1 h1:9lRY6j8DEeeBT10CvO9hGW0gmky0BprnvDI5vfhUHH4= github.com/gorilla/handlers v1.5.1/go.mod h1:t8XrUpc4KVXb7HGyJ4/cEnwQiaxrX/hz1Zv/4g96P1Q= github.com/gorilla/mux v1.6.2/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= +github.com/gorilla/mux v1.7.2/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= github.com/gorilla/mux v1.7.3/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= github.com/gorilla/mux v1.8.0 h1:i40aqfkR1h2SlN9hojwV5ZA91wcXFOvkdNIeFDP5koI= github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So= @@ -491,33 +1658,45 @@ github.com/gorilla/websocket v0.0.0-20170926233335-4201258b820c/go.mod h1:E7qHFY github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= github.com/gorilla/websocket v1.4.1-0.20190629185528-ae1634f6a989/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= github.com/gorilla/websocket v1.4.1/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= -github.com/gorilla/websocket v1.4.2 h1:+/TMaTYc4QFitKJxsQ7Yye35DkWvkdLcvGKqM+x0Ufc= github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= +github.com/gorilla/websocket v1.5.0 h1:PPwGk2jz7EePpoHN/+ClbZu8SPxiqlu12wZP/3sWmnc= +github.com/gorilla/websocket v1.5.0/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= 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.4.1/go.mod h1:18U/DLpRgIUd459wGxVHE0fRgmo1UgHDcbw7F5idXu0= +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.0.0-20200621232751-01d4955beaa5/go.mod h1:qZEedyP/sY1lTGV1uJ3VhWZ2mqag3IkWsDHVbplHXak= +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 v1.4.0/go.mod h1:zZKM6oeNM8k+FRljX1mnzVYeS8wiGgQyvST1/GafPbY= github.com/gotestyourself/gotestyourself v2.2.0+incompatible/go.mod h1:zZKM6oeNM8k+FRljX1mnzVYeS8wiGgQyvST1/GafPbY= github.com/graph-gophers/graphql-go v0.0.0-20191115155744-f33e81362277/go.mod h1:9CQHMSxwO4MprSdzoIEobiHpoLtHm77vfxsvsIN5Vuc= +github.com/graph-gophers/graphql-go v1.3.0/go.mod h1:9CQHMSxwO4MprSdzoIEobiHpoLtHm77vfxsvsIN5Vuc= +github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA= 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/go-grpc-middleware v1.0.1-0.20190118093823-f849b5445de4/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= -github.com/grpc-ecosystem/go-grpc-middleware v1.2.1/go.mod h1:EaizFBKfUKtMIF5iaDEhniwNedqGo9FuLFzppDr3uwI= +github.com/grpc-ecosystem/go-grpc-middleware v1.2.0/go.mod h1:mJzapYve32yjrKlk9GbyCZHuPgZsrbyIbyKhSzOpg6s= github.com/grpc-ecosystem/go-grpc-middleware v1.2.2/go.mod h1:EaizFBKfUKtMIF5iaDEhniwNedqGo9FuLFzppDr3uwI= github.com/grpc-ecosystem/go-grpc-middleware v1.3.0 h1:+9834+KizmvFV7pXQGSXQTsaWhq2GjuNUt0aUU0YBYw= github.com/grpc-ecosystem/go-grpc-middleware v1.3.0/go.mod h1:z0ButlSOZa5vEBq9m2m2hlwIgKw+rp3sdCBRoJY+30Y= github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk= +github.com/grpc-ecosystem/grpc-gateway v1.5.0/go.mod h1:RSKVYQBd5MCa4OVpNdGskqpgL2+G+NZTnrVHpWWfpdw= +github.com/grpc-ecosystem/grpc-gateway v1.6.2/go.mod h1:RSKVYQBd5MCa4OVpNdGskqpgL2+G+NZTnrVHpWWfpdw= github.com/grpc-ecosystem/grpc-gateway v1.8.5/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= github.com/grpc-ecosystem/grpc-gateway v1.9.0/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= +github.com/grpc-ecosystem/grpc-gateway v1.9.2/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= github.com/grpc-ecosystem/grpc-gateway v1.9.5/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 v1.14.7/go.mod h1:oYZKL012gGh6LMyg/xA7Q2yq6j8bu0wa+9w14EEthWU= github.com/grpc-ecosystem/grpc-gateway v1.16.0 h1:gmcG1KaJ57LophUzW0Hy8NmPhnMZb4M0+kPpLofRdBo= github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= +github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645/go.mod h1:6iZfnjpejD4L/4DwD7NryNaJyCQdzwWwH2MWhCA90Kw= github.com/gsterjov/go-libsecret v0.0.0-20161001094733-a6f4afe4910c h1:6rhixN/i8ZofjG1Y75iExal34USq5p+wiN1tpie8IrU= github.com/gsterjov/go-libsecret v0.0.0-20161001094733-a6f4afe4910c/go.mod h1:NMPJylDgVpX0MLRlPy15sqSwOFv/U1GZ2m21JhFfek0= github.com/gtank/merlin v0.1.1-0.20191105220539-8318aed1a79f/go.mod h1:T86dnYJhcGOh5BjZFCJWTDeTK7XW8uE+E21Cy/bIQ+s= @@ -525,106 +1704,237 @@ github.com/gtank/merlin v0.1.1 h1:eQ90iG7K9pOhtereWsmyRJ6RAwcP4tHTDBHXNg+u5is= github.com/gtank/merlin v0.1.1/go.mod h1:T86dnYJhcGOh5BjZFCJWTDeTK7XW8uE+E21Cy/bIQ+s= github.com/gtank/ristretto255 v0.1.2 h1:JEqUCPA1NvLq5DwYtuzigd7ss8fwbYay9fi4/5uMzcc= github.com/gtank/ristretto255 v0.1.2/go.mod h1:Ph5OpO6c7xKUGROZfWVLiJf9icMDwUeIvY4OmlYW69o= +github.com/hanwen/go-fuse v1.0.0/go.mod h1:unqXarDXqzAk0rt98O2tVndEPIpUgLD9+rwFisZH3Ok= +github.com/hanwen/go-fuse/v2 v2.0.3/go.mod h1:0EQM6aH2ctVpvZ6a+onrQ/vaykxh2GH7hy3e13vzTUY= +github.com/hanwen/go-fuse/v2 v2.1.1-0.20220112183258-f57e95bda82d/go.mod h1:B1nGE/6RBFyBRC1RRnf23UpwCdyJ31eukw34oAKukAc= github.com/hashicorp/consul/api v1.1.0/go.mod h1:VmuI/Lkw1nC05EYQWNKwWGbkg+FbDBtguAZLlVdkD9Q= github.com/hashicorp/consul/api v1.3.0/go.mod h1:MmDNSzIMUjNpY/mQ398R4bk2FnqQLoPndWW5VkKPlCE= +github.com/hashicorp/consul/api v1.10.1/go.mod h1:XjsvQN+RJGWI2TWy1/kqaE16HrR2J/FWgkYjdZQsX9M= +github.com/hashicorp/consul/api v1.11.0/go.mod h1:XjsvQN+RJGWI2TWy1/kqaE16HrR2J/FWgkYjdZQsX9M= +github.com/hashicorp/consul/api v1.12.0/go.mod h1:6pVBMo0ebnYdt2S3H87XhekM/HHrUoTD2XXb/VrZVy0= +github.com/hashicorp/consul/api v1.15.3/go.mod h1:/g/qgcoBcEXALCNZgRRisyTW0nY86++L0KbeAMXYCeY= github.com/hashicorp/consul/sdk v0.1.1/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8= github.com/hashicorp/consul/sdk v0.3.0/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8= +github.com/hashicorp/consul/sdk v0.8.0/go.mod h1:GBvyrGALthsZObzUGsfgHZQDXjg4lOjagTIwIR1vPms= +github.com/hashicorp/errwrap v0.0.0-20141028054710-7554cd9344ce/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= +github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= +github.com/hashicorp/go-bexpr v0.1.10/go.mod h1:oxlubA2vC/gFVfX1A6JGp7ls7uCDlfJn732ehYYg+g0= github.com/hashicorp/go-cleanhttp v0.5.0/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= github.com/hashicorp/go-cleanhttp v0.5.1/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= -github.com/hashicorp/go-immutable-radix v1.0.0 h1:AKDB1HM5PWEA7i4nhcpwOrO2byshxBjXVn/J/3+z5/0= +github.com/hashicorp/go-cleanhttp v0.5.2 h1:035FKYIWjmULyFRBKPs8TBQoi0x6d9G4xc9neXJWAZQ= +github.com/hashicorp/go-cleanhttp v0.5.2/go.mod h1:kO/YDlP8L1346E6Sodw+PrpBSV4/SoxCXGY6BqNFT48= +github.com/hashicorp/go-getter v1.7.0 h1:bzrYP+qu/gMrL1au7/aDvkoOVGUJpeKBgbqRHACAFDY= +github.com/hashicorp/go-getter v1.7.0/go.mod h1:W7TalhMmbPmsSMdNjD0ZskARur/9GJ17cfHTRtXV744= +github.com/hashicorp/go-hclog v0.9.2/go.mod h1:5CU+agLiy3J7N7QjHK5d05KxGsuXiQLrjA0H7acj2lQ= +github.com/hashicorp/go-hclog v0.12.0/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= +github.com/hashicorp/go-hclog v0.16.2/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= +github.com/hashicorp/go-hclog v1.0.0/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= +github.com/hashicorp/go-hclog v1.2.0/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= +github.com/hashicorp/go-immutable-radix v1.3.1 h1:DKHmCUm2hRBK510BaiZlwvpD40f8bJFeZnpfm2KLowc= +github.com/hashicorp/go-immutable-radix v1.3.1/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= github.com/hashicorp/go-msgpack v0.5.3/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM= +github.com/hashicorp/go-multierror v0.0.0-20161216184304-ed905158d874/go.mod h1:JMRHfdO9jKNzS/+BTlxCjKNQHg/jZAft8U7LloJvN7I= github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk= +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-retryablehttp v0.5.3/go.mod h1:9B5zBasrRhHXnJnui7y6sL7es7NDiJgTc6Er0maI1Xs= +github.com/hashicorp/go-retryablehttp v0.6.4/go.mod h1:vAew36LZh98gCBJNLH42IQ1ER/9wtLZZ8meHqQvEYWY= +github.com/hashicorp/go-retryablehttp v0.6.6/go.mod h1:vAew36LZh98gCBJNLH42IQ1ER/9wtLZZ8meHqQvEYWY= +github.com/hashicorp/go-retryablehttp v0.7.0/go.mod h1:vAew36LZh98gCBJNLH42IQ1ER/9wtLZZ8meHqQvEYWY= github.com/hashicorp/go-rootcerts v1.0.0/go.mod h1:K6zTfqpRlCUIjkwsN4Z+hiSfzSTQa6eBIzfwKfwNnHU= +github.com/hashicorp/go-rootcerts v1.0.2/go.mod h1:pqUvnprVnM5bf7AOirdbb01K4ccR319Vf4pU3K5EGc8= +github.com/hashicorp/go-safetemp v1.0.0 h1:2HR189eFNrjHQyENnQMMpCiBAsRxzbTMIgBhEyExpmo= +github.com/hashicorp/go-safetemp v1.0.0/go.mod h1:oaerMy3BhqiTbVye6QuFhFtIceqFoDHxNAB65b+Rj1I= github.com/hashicorp/go-sockaddr v1.0.0/go.mod h1:7Xibr9yA9JjQq1JpNB2Vw7kxv8xerXegt+ozgdvDeDU= github.com/hashicorp/go-syslog v1.0.0/go.mod h1:qPfqrKkXGihmCqbJM2mZgkZGvKG1dFdvsLplgctolz4= github.com/hashicorp/go-uuid v1.0.0/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= github.com/hashicorp/go-uuid v1.0.1 h1:fv1ep09latC32wFoVwnqcnKJGnMSdBanPczbHAYm1BE= github.com/hashicorp/go-uuid v1.0.1/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= github.com/hashicorp/go-version v1.2.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= +github.com/hashicorp/go-version v1.2.1/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= +github.com/hashicorp/go-version v1.6.0 h1:feTTfFNnjP967rlCxM/I9g701jU+RN74YKx2mOkIeek= +github.com/hashicorp/go-version v1.6.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= github.com/hashicorp/go.net v0.0.1/go.mod h1:hjKkEWcCURg++eb33jQU7oqQcI9XDCnUzHA0oac0k90= github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= -github.com/hashicorp/golang-lru v0.5.4 h1:YDjusn29QI/Das2iO9M0BHnIbxPeyuCHsjMW+lJfyTc= +github.com/hashicorp/golang-lru v0.5.3/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= github.com/hashicorp/golang-lru v0.5.4/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= +github.com/hashicorp/golang-lru v0.5.5-0.20210104140557-80c98217689d h1:dg1dEPuWpEqDnvIw251EVy4zlP8gWbsGj4BsUKCRpYs= +github.com/hashicorp/golang-lru v0.5.5-0.20210104140557-80c98217689d/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64= github.com/hashicorp/mdns v1.0.0/go.mod h1:tL+uN++7HEJ6SQLQ2/p+z2pH24WQKWjBPkE0mNTz8vQ= +github.com/hashicorp/mdns v1.0.1/go.mod h1:4gW7WsVCke5TE7EPeYliwHlRUyBtfCwuFwuMg2DmyNY= +github.com/hashicorp/mdns v1.0.4/go.mod h1:mtBihi+LeNXGtG8L9dX59gAEa12BDtBQSp4v/YAJqrc= github.com/hashicorp/memberlist v0.1.3/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I= +github.com/hashicorp/memberlist v0.2.2/go.mod h1:MS2lj3INKhZjWNqd3N0m3J+Jxf3DAOnAH9VT3Sh9MUE= +github.com/hashicorp/memberlist v0.3.0/go.mod h1:MS2lj3INKhZjWNqd3N0m3J+Jxf3DAOnAH9VT3Sh9MUE= github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/JwenrHc= -github.com/hdevalence/ed25519consensus v0.0.0-20210204194344-59a8610d2b87 h1:uUjLpLt6bVvZ72SQc/B4dXcPBw4Vgd7soowdRl52qEM= +github.com/hashicorp/serf v0.9.5/go.mod h1:UWDWwZeL5cuWDJdl0C6wrvrUwEqtQ4ZKBKKENpqIUyk= +github.com/hashicorp/serf v0.9.6/go.mod h1:TXZNMjZQijwlDvp+r0b63xZ45H7JmCmgg4gpTwn9UV4= +github.com/hashicorp/serf v0.9.7/go.mod h1:TXZNMjZQijwlDvp+r0b63xZ45H7JmCmgg4gpTwn9UV4= +github.com/hashicorp/serf v0.9.8/go.mod h1:TXZNMjZQijwlDvp+r0b63xZ45H7JmCmgg4gpTwn9UV4= +github.com/hashicorp/uuid v0.0.0-20160311170451-ebb0a03e909c/go.mod h1:fHzc09UnyJyqyW+bFuq864eh+wC7dj65aXmXLRe5to0= github.com/hdevalence/ed25519consensus v0.0.0-20210204194344-59a8610d2b87/go.mod h1:XGsKKeXxeRr95aEOgipvluMPlgjr7dGlk9ZTWOjcUcg= +github.com/hdevalence/ed25519consensus v0.0.0-20220222234857-c00d1f31bab3 h1:aSVUgRRRtOrZOC1fYmY9gV0e9z/Iu+xNVSASWjsuyGU= +github.com/hdevalence/ed25519consensus v0.0.0-20220222234857-c00d1f31bab3/go.mod h1:5PC6ZNPde8bBqU/ewGZig35+UIZtw9Ytxez8/q5ZyFE= +github.com/hexops/gotextdiff v1.0.3/go.mod h1:pSWU5MAI3yDq+fZBTazCSJysOMbxWL1BSow5/V2vxeg= +github.com/holiman/bloomfilter/v2 v2.0.3/go.mod h1:zpoh+gs7qcpqrHr3dB55AMiJwo0iURXE7ZOP9L9hSkA= github.com/holiman/uint256 v1.1.1/go.mod h1:y4ga/t+u+Xwd7CpDgZESaRcWy0I7XMlTMA25ApIH5Jw= +github.com/holiman/uint256 v1.2.0/go.mod h1:y4ga/t+u+Xwd7CpDgZESaRcWy0I7XMlTMA25ApIH5Jw= github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= 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/hudl/fargo v1.3.0/go.mod h1:y3CKSmjA+wD2gak7sUSXTAoopbhU08POFhmITJgmKTg= +github.com/hudl/fargo v1.4.0/go.mod h1:9Ai6uvFy5fQNq6VPKtg+Ceq1+eTY4nKUlR2JElEOcDo= github.com/huin/goupnp v1.0.0/go.mod h1:n9v9KO1tAxYH82qOn+UTIFQDmx5n1Zxd/ClZDMX7Bnc= +github.com/huin/goupnp v1.0.3-0.20220313090229-ca81a64b4204/go.mod h1:ZxNlw5WqJj6wSsRK5+YfflQGXYfccj5VgQsMNixHM7Y= github.com/huin/goutil v0.0.0-20170803182201-1ca381bf3150/go.mod h1:PpLOETDnJ0o3iZrZfqZzyLl6l7F3c6L1oWn7OICBi6o= github.com/iancoleman/orderedmap v0.2.0 h1:sq1N/TFpYH++aViPcaKjys3bDClUEU7s5B+z6jq8pNA= github.com/iancoleman/orderedmap v0.2.0/go.mod h1:N0Wam8K1arqPXNWjMo21EXnBPOPp36vB07FNRdD2geA= +github.com/iancoleman/strcase v0.2.0/go.mod h1:iwCmte+B7n89clKwxIoIXy/HfoL7AsD47ZCWhYzw7ho= github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/imdario/mergo v0.3.4/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= +github.com/imdario/mergo v0.3.5/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= github.com/imdario/mergo v0.3.8/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= -github.com/improbable-eng/grpc-web v0.14.1 h1:NrN4PY71A6tAz2sKDvC5JCauENWp0ykG8Oq1H3cpFvw= +github.com/imdario/mergo v0.3.9/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= +github.com/imdario/mergo v0.3.10/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA= +github.com/imdario/mergo v0.3.11/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA= +github.com/imdario/mergo v0.3.12/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA= +github.com/imdario/mergo v0.3.13/go.mod h1:4lJ1jqUDcsbIECGy0RUJAXNIhg+6ocWgb1ALK2O4oXg= github.com/improbable-eng/grpc-web v0.14.1/go.mod h1:zEjGHa8DAlkoOXmswrNvhUGEYQA9UI7DhrGeHR1DMGU= -github.com/inconshreveable/mousetrap v1.0.0 h1:Z8tu5sraLXCXIcARxBp/8cbvlwVa7Z1NHg9XEKhtSvM= +github.com/improbable-eng/grpc-web v0.15.0 h1:BN+7z6uNXZ1tQGcNAuaU1YjsLTApzkjt2tzCixLaUPQ= +github.com/improbable-eng/grpc-web v0.15.0/go.mod h1:1sy9HKV4Jt9aEs9JSnkWlRJPuPtwNr0l57L4f878wP8= github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= +github.com/inconshreveable/mousetrap v1.0.1 h1:U3uMjPSQEBMNp1lFxmllqCPM6P5u/Xq7Pgzkat/bFNc= +github.com/inconshreveable/mousetrap v1.0.1/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= +github.com/influxdata/flux v0.65.1/go.mod h1:J754/zds0vvpfwuq7Gc2wRdVwEodfpCFM7mYlOw2LqY= github.com/influxdata/influxdb v1.2.3-0.20180221223340-01288bdb0883/go.mod h1:qZna6X/4elxqT3yI9iZYdZrWWdeFOOprn86kgg4+IzY= +github.com/influxdata/influxdb v1.8.3/go.mod h1:JugdFhsvvI8gadxOI6noqNeeBHvWNTbfYGtiAn+2jhI= +github.com/influxdata/influxdb-client-go/v2 v2.4.0/go.mod h1:vLNHdxTJkIf2mSLvGrpj8TCcISApPoXkaxP8g9uRlW8= github.com/influxdata/influxdb1-client v0.0.0-20191209144304-8bf82d3c094d/go.mod h1:qj24IKcXYK6Iy9ceXlo3Tc+vtHo9lIhSX5JddghvEPo= +github.com/influxdata/influxdb1-client v0.0.0-20200827194710-b269163b24ab/go.mod h1:qj24IKcXYK6Iy9ceXlo3Tc+vtHo9lIhSX5JddghvEPo= +github.com/influxdata/influxql v1.1.1-0.20200828144457-65d3ef77d385/go.mod h1:gHp9y86a/pxhjJ+zMjNXiQAA197Xk9wLxaz+fGG+kWk= +github.com/influxdata/line-protocol v0.0.0-20180522152040-32c6aa80de5e/go.mod h1:4kt73NQhadE3daL3WhR5EJ/J2ocX0PZzwxQ0gXJ7oFE= +github.com/influxdata/line-protocol v0.0.0-20200327222509-2487e7298839/go.mod h1:xaLFMmpvUxqXtVkUJfg9QmT88cDaCJ3ZKgdZ78oO8Qo= +github.com/influxdata/line-protocol v0.0.0-20210311194329-9aa0e372d097/go.mod h1:xaLFMmpvUxqXtVkUJfg9QmT88cDaCJ3ZKgdZ78oO8Qo= +github.com/influxdata/promql/v2 v2.12.0/go.mod h1:fxOPu+DY0bqCTCECchSRtWfc+0X19ybifQhZoQNF5D8= +github.com/influxdata/roaring v0.4.13-0.20180809181101-fc520f41fab6/go.mod h1:bSgUQ7q5ZLSO+bKBGqJiCBGAl+9DxyW63zLTujjUlOE= +github.com/influxdata/tdigest v0.0.0-20181121200506-bf2b5ad3c0a9/go.mod h1:Js0mqiSBE6Ffsg94weZZ2c+v/ciT8QRHFOap7EKDrR0= +github.com/influxdata/usage-client v0.0.0-20160829180054-6d3895376368/go.mod h1:Wbbw6tYNvwa5dlB6304Sd+82Z3f7PmVZHVKU637d4po= +github.com/informalsystems/tm-load-test v1.3.0/go.mod h1:OQ5AQ9TbT5hKWBNIwsMjn6Bf4O0U4b1kRc+0qZlQJKw= +github.com/intel/goresctrl v0.2.0/go.mod h1:+CZdzouYFn5EsxgqAQTEzMfwKwuc0fVdMrT9FCCAVRQ= +github.com/ishidawataru/sctp v0.0.0-20191218070446-00ab2ac2db07/go.mod h1:co9pwDoBCm1kGxawmb4sPq0cSIOOWNPT4KnHotMP1Zg= +github.com/j-keck/arping v0.0.0-20160618110441-2cf9dc699c56/go.mod h1:ymszkNOg6tORTn+6F6j+Jc8TOr5osrynvN6ivFWZ2GA= +github.com/j-keck/arping v1.0.2/go.mod h1:aJbELhR92bSk7tp79AWM/ftfc90EfEi2bQJrbBFOsPw= github.com/jackpal/go-nat-pmp v1.0.2-0.20160603034137-1fa385a6f458/go.mod h1:QPH045xvCAeXUZOxsnwmrtiCoxIr9eob+4orBN1SBKc= +github.com/jackpal/go-nat-pmp v1.0.2/go.mod h1:QPH045xvCAeXUZOxsnwmrtiCoxIr9eob+4orBN1SBKc= +github.com/jaguilar/vt100 v0.0.0-20150826170717-2703a27b14ea/go.mod h1:QMdK4dGB3YhEW2BmA1wgGpPYI3HZy/5gD705PXKUVSg= +github.com/jarcoal/httpmock v1.0.5/go.mod h1:ATjnClrvW/3tijVmpL/va5Z3aAyGvqU3gCT8nX0Txik= +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/jedisct1/go-minisign v0.0.0-20190909160543-45766022959e/go.mod h1:G1CVv03EnqU1wYL2dFwXxW2An0az9JTl/ZsqXQeBlkU= +github.com/jellevandenhooff/dkim v0.0.0-20150330215556-f50fe3d243e1/go.mod h1:E0B/fFc00Y+Rasa88328GlI/XbtyysCtTHZS8h7IrBU= 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/jessevdk/go-flags v1.5.0/go.mod h1:Fw0T6WPc1dYxT4mKEZRfG5kJhaTDP9pj1c2EWnYs/m4= github.com/jgautheron/goconst v1.5.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/protoreflect v1.6.1/go.mod h1:RZQ/lnuN+zqeRVpQigTwO6o0AJUkxbnSnpuG7toUTG4= -github.com/jhump/protoreflect v1.9.0 h1:npqHz788dryJiR/l6K/RUQAyh2SwV91+d1dnh4RjO9w= github.com/jhump/protoreflect v1.9.0/go.mod h1:7GcYQDdMU/O/BBrl/cX6PNHpXh6cenjd8pneu5yW7Tg= +github.com/jhump/protoreflect v1.11.0/go.mod h1:U7aMIjN0NWq9swDP7xDdoMfRHb35uiuTd3Z9nFXJf5E= +github.com/jhump/protoreflect v1.13.1-0.20220928232736-101791cb1b4c/go.mod h1:JytZfP5d0r8pVNLZvai7U/MCuTWITgrI4tTg7puQFKI= +github.com/jhump/protoreflect v1.15.1 h1:HUMERORf3I3ZdX05WaQ6MIpd/NJ434hTp5YiKgfCL6c= +github.com/jhump/protoreflect v1.15.1/go.mod h1:jD/2GMKKE6OqX8qTjhADU1e6DShO+gavG9e0Q693nKo= +github.com/jingyugao/rowserrcheck v0.0.0-20191204022205-72ab7603b68a/go.mod h1:xRskid8CManxVta/ALEhJha/pweKBaVG6fWgc0yH25s= github.com/jingyugao/rowserrcheck v1.1.0/go.mod h1:TOQpc2SLx6huPfoFGK3UOnEG+u02D3C1GeosjupAKCA= +github.com/jingyugao/rowserrcheck v1.1.1/go.mod h1:4yvlZSDb3IyDTUZJUmpZfm2Hwok+Dtp+nu2qOq+er9c= +github.com/jirfag/go-printf-func-name v0.0.0-20191110105641-45db9963cdd3/go.mod h1:HEWGJkRDzjJY2sqdDwxccsGicWEf9BQOZsq2tV+xzM0= github.com/jirfag/go-printf-func-name v0.0.0-20200119135958-7558a9eaa5af/go.mod h1:HEWGJkRDzjJY2sqdDwxccsGicWEf9BQOZsq2tV+xzM0= +github.com/jmespath/go-jmespath v0.0.0-20160202185014-0b12d6b521d8/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= +github.com/jmespath/go-jmespath v0.0.0-20160803190731-bd40a432e4c7/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= +github.com/jmespath/go-jmespath v0.3.0/go.mod h1:9QtRXoHjLGCJ5IBSaohpXITPlowMeeYCZ7fLUTSywik= +github.com/jmespath/go-jmespath v0.4.0 h1:BEgLn5cpjn8UN1mAw4NjwDrS35OdebyEtFe+9YPoQUg= github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo= +github.com/jmespath/go-jmespath/internal/testify v1.5.1 h1:shLQSRRSCCPj3f2gpwzGwWFoC7ycTf1rcQZHOlsJ6N8= github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U= github.com/jmhodges/levigo v1.0.0 h1:q5EC36kV79HWeTBWsod3mG11EgStG3qArTKcvlksN1U= github.com/jmhodges/levigo v1.0.0/go.mod h1:Q6Qx+uH3RAqyK4rFQroq9RL7mdkABMcfhEI+nNuzMJQ= github.com/jmoiron/sqlx v1.2.0/go.mod h1:1FEQNm3xlJgrMD+FBdI9+xvCksHtbpVBBw5dYhBSsks= +github.com/jmoiron/sqlx v1.2.1-0.20190826204134-d7d95172beb5/go.mod h1:1FEQNm3xlJgrMD+FBdI9+xvCksHtbpVBBw5dYhBSsks= +github.com/joefitzgerald/rainbow-reporter v0.1.0/go.mod h1:481CNgqmVHQZzdIbN52CupLJyoVwB10FQ/IQlF1pdL8= +github.com/joho/godotenv v1.3.0/go.mod h1:7hK45KPybAkOC6peb+G5yklZfMxEjkZhHbwpqxOKXbg= github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo= github.com/jonboulle/clockwork v0.2.0/go.mod h1:Pkfl5aHPm1nk2H9h0bjmnJD/BcgbGXUBGnn1kMkgxc8= +github.com/jonboulle/clockwork v0.2.2/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/jpillora/backoff v0.0.0-20180909062703-3050d21c67d7/go.mod h1:2iMrUgbbvHEiQClaW2NsSzMyGHqN+rDFqY705q49KG0= github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4= github.com/jrick/logrotate v1.0.0/go.mod h1:LNinyqDIJnpAur+b8yyulnQw/wDuN1+BYKlTRt3OuAQ= +github.com/json-iterator/go v0.0.0-20180612202835-f2b4162afba3/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= +github.com/json-iterator/go v0.0.0-20180701071628-ab8a2e0c74be/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= github.com/json-iterator/go v1.1.7/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/json-iterator/go v1.1.8/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/json-iterator/go v1.1.9/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= -github.com/json-iterator/go v1.1.11 h1:uVUAXhF2To8cbw/3xN3pxj6kk7TYKs98NIrTqPlMWAQ= github.com/json-iterator/go v1.1.11/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= +github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= -github.com/jtolds/gls v4.20.0+incompatible h1:xdiiI2gbIgH/gLH7ADydsJ1uDOEzR8yvV7C0MuV77Wo= +github.com/jsternberg/zap-logfmt v1.0.0/go.mod h1:uvPs/4X51zdkcm5jXl5SYoN+4RK21K8mysFmDaM/h+o= github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= github.com/juju/ratelimit v1.0.1/go.mod h1:qapgC/Gy+xNh9UxzV13HGGl/6UXNN+ct+vwSgWNm/qk= github.com/julienschmidt/httprouter v1.1.1-0.20170430222011-975b5c4c7c21/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM= github.com/julz/importas v0.0.0-20210419104244-841f0c0fe66d/go.mod h1:oSFU2R4XK/P7kNBrnL/FEQlDGN1/6WoxXEjSSXO0DV0= +github.com/julz/importas v0.1.0/go.mod h1:oSFU2R4XK/P7kNBrnL/FEQlDGN1/6WoxXEjSSXO0DV0= +github.com/jung-kurt/gofpdf v1.0.3-0.20190309125859-24315acbbda5/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes= +github.com/jwilder/encoding v0.0.0-20170811194829-b4e1701a28ef/go.mod h1:Ct9fl0F6iIOGgxJ5npU/IUOhOhqlVrGjyIZc8/MagT0= github.com/k0kubun/colorstring v0.0.0-20150214042306-9440f1994b88/go.mod h1:3w7q1U84EfirKl04SVQ/s7nPm1ZPhiXd34z40TNz36k= github.com/karalabe/usb v0.0.0-20190919080040-51dc0efba356/go.mod h1:Od972xHfMJowv7NGVDiWVxk2zxnWgjLlJzE+F4F7AGU= +github.com/karalabe/usb v0.0.2/go.mod h1:Od972xHfMJowv7NGVDiWVxk2zxnWgjLlJzE+F4F7AGU= +github.com/kevinburke/ssh_config v1.2.0/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF4nAY/ojJ6r6mM= +github.com/keybase/go-keychain v0.0.0-20190712205309-48d3d31d256d/go.mod h1:JJNrCn9otv/2QP4D7SMJBgaleKpOf66PnW6F5WGNRIc= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/errcheck v1.6.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= +github.com/kisielk/errcheck v1.6.2/go.mod h1:nXw/i/MfnvRHqXa7XXmQMUB0oNFGuBrNI8d8NLy0LPw= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= +github.com/kkHAIKE/contextcheck v1.1.3/go.mod h1:PG/cwd6c0705/LM0KTr1acO2gORUxkSVWyLJOFW5qoo= github.com/kkdai/bstream v0.0.0-20161212061736-f391b8402d23/go.mod h1:J+Gs4SYgM6CZQHDETBtE9HaSEkGmuNXF86RwHhHUvq4= github.com/kkdai/bstream v1.0.0/go.mod h1:FDnDOHt5Yx4p3FaHcioFT0QjDOtgUpvjeZqAs+NVZZA= +github.com/klauspost/compress v1.4.0/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A= +github.com/klauspost/compress v1.4.1/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A= github.com/klauspost/compress v1.10.3/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= github.com/klauspost/compress v1.10.7/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= github.com/klauspost/compress v1.11.0/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= -github.com/klauspost/compress v1.11.7 h1:0hzRabrMN4tSTvMfnL3SCv1ZGeAP23ynzodBgaHeMeg= +github.com/klauspost/compress v1.11.3/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= github.com/klauspost/compress v1.11.7/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= +github.com/klauspost/compress v1.11.13/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= +github.com/klauspost/compress v1.12.3/go.mod h1:8dP1Hq4DHOhN9w426knH3Rhby4rFm6D8eO+e+Dq5Gzg= +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.13.6/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk= +github.com/klauspost/compress v1.15.1/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk= +github.com/klauspost/compress v1.15.11/go.mod h1:QPwzmACJjUTFsnSHH934V6woptycfrDDJnH7hvFVbGM= +github.com/klauspost/compress v1.16.0 h1:iULayQNOReoYUe+1qtKOqw9CwJv3aNQu8ivo7lw1HU4= +github.com/klauspost/compress v1.16.0/go.mod h1:ntbaceVETuRiXiv4DpjP66DpAtAGkEQskQzEyD//IeE= +github.com/klauspost/cpuid v0.0.0-20170728055534-ae7887de9fa5/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek= +github.com/klauspost/cpuid v0.0.0-20180405133222-e7e905edc00e/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek= +github.com/klauspost/cpuid v1.2.0/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek= +github.com/klauspost/crc32 v0.0.0-20161016154125-cb6bfca970f6/go.mod h1:+ZoRqAPRLkC4NPOvfYeR5KNOrY6TD+/sAC3HXPZgDYg= +github.com/klauspost/pgzip v1.0.2-0.20170402124221-0bf5dcad4ada/go.mod h1:Ch1tH69qFZu15pkjo5kYi6mth2Zzwzt50oCQKQE9RUs= +github.com/klauspost/pgzip v1.2.5/go.mod h1:Ch1tH69qFZu15pkjo5kYi6mth2Zzwzt50oCQKQE9RUs= github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= @@ -633,432 +1943,859 @@ github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFB github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= +github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk= +github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= +github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= +github.com/kr/pty v1.1.3/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= +github.com/kr/pty v1.1.5/go.mod h1:9r2w37qlBe7rQ6e1fg1S/9xpWHSnaqNdHD3WcMdbPDA= +github.com/kr/pty v1.1.8/go.mod h1:O1sed60cT9XZ5uDucP5qwvh+TE3NnUj51EiZO/lmSfw= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/kulti/thelper v0.4.0/go.mod h1:vMu2Cizjy/grP+jmsvOFDx1kYP6+PD1lqg4Yu5exl2U= +github.com/kulti/thelper v0.6.3/go.mod h1:DsqKShOvP40epevkFrvIwkCMNYxMeTNjdWL4dqWHZ6I= github.com/kunwardeep/paralleltest v1.0.2/go.mod h1:ZPqNm1fVHPllh5LPVujzbVz1JN2GhLxSfY+oqUsvG30= +github.com/kunwardeep/paralleltest v1.0.6/go.mod h1:Y0Y0XISdZM5IKm3TREQMZ6iteqn1YuwCsJO/0kL9Zes= +github.com/kylelemons/godebug v0.0.0-20170820004349-d65d576e9348/go.mod h1:B69LEHPfb2qLo0BaaOLcbitczOKLWTsrBG9LczfCD4k= github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= github.com/kyoh86/exportloopref v0.1.8/go.mod h1:1tUcJeiioIs7VWe5gcOObrux3lb66+sBqGZrRkMwPgg= +github.com/labstack/echo/v4 v4.2.1/go.mod h1:AA49e0DZ8kk5jTOOCKNuPR6oTnBS0dYiM4FW1e6jwpg= +github.com/labstack/gommon v0.3.0/go.mod h1:MULnywXg0yavhxWKc+lOruYdAhDwPK9wf0OL7NoOu+k= github.com/ldez/gomoddirectives v0.2.2/go.mod h1:cpgBogWITnCfRq2qGoDkKMEVSaarhdBr6g8G04uz6d0= +github.com/ldez/gomoddirectives v0.2.3/go.mod h1:cpgBogWITnCfRq2qGoDkKMEVSaarhdBr6g8G04uz6d0= github.com/ldez/tagliatelle v0.2.0/go.mod h1:8s6WJQwEYHbKZDsp/LjArytKOG8qaMrKQQ3mFukHs88= +github.com/ldez/tagliatelle v0.3.1/go.mod h1:8s6WJQwEYHbKZDsp/LjArytKOG8qaMrKQQ3mFukHs88= +github.com/leanovate/gopter v0.2.9/go.mod h1:U2L/78B+KVFIx2VmW6onHJQzXtFb+p5y3y2Sh+Jxxv8= github.com/leodido/go-urn v1.2.0 h1:hpXL4XnriNwQ/ABnpepYM/1vCLWNDfUNts8dX3xTG6Y= github.com/leodido/go-urn v1.2.0/go.mod h1:+8+nEpDfqqsY+g338gtMEUOtuK+4dEMhiQEgxpxOKII= +github.com/leonklingele/grouper v1.1.0/go.mod h1:uk3I3uDfi9B6PeUjsCKi6ndcf63Uy7snXgR4yDYQVDY= github.com/letsencrypt/pkcs11key/v4 v4.0.0/go.mod h1:EFUvBDay26dErnNb70Nd0/VW3tJiIbETBPTl9ATXQag= +github.com/lib/pq v0.0.0-20180327071824-d34b9ff171c2/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= github.com/lib/pq v1.0.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= +github.com/lib/pq v1.1.1/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.2 h1:AqzbZs4ZoCBp+GtejcpCpcxM3zlSMx29dXbUSeVtJb8= github.com/lib/pq v1.10.2/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= -github.com/libp2p/go-buffer-pool v0.0.2 h1:QNK2iAFa8gjAe1SPz6mHSMuCcjs+X1wlHzeOSqcmlfs= -github.com/libp2p/go-buffer-pool v0.0.2/go.mod h1:MvaB6xw5vOrDl8rYZGLFdKAuk/hRoRZd1Vi32+RXyFM= +github.com/lib/pq v1.10.4/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= +github.com/lib/pq v1.10.6/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= +github.com/lib/pq v1.10.7 h1:p7ZhMD+KsSRozJr34udlUrhboJwWAgCg34+/ZZNvZZw= +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/lightstep/lightstep-tracer-common/golang/gogo v0.0.0-20190605223551-bc2310a04743/go.mod h1:qklhhLq1aX+mtWk9cPHPzaBjWImj5ULL6C7HFJtXQMM= github.com/lightstep/lightstep-tracer-go v0.18.1/go.mod h1:jlF1pusYV4pidLvZ+XD0UBX0ZE6WURAspgAczcDHrL4= +github.com/linuxkit/virtsock v0.0.0-20201010232012-f8cee7dfc7a3/go.mod h1:3r6x7q95whyfWQpmGZTu3gk3v2YkMi05HEzl7Tf7YEo= github.com/logrusorgru/aurora v0.0.0-20181002194514-a7b3b318ed4e/go.mod h1:7rIyQOR62GCctdiQpZ/zOJlFyk6y+94wXzv6RNZgaR4= github.com/lucasjones/reggen v0.0.0-20180717132126-cdb49ff09d77/go.mod h1:5ELEyG+X8f+meRWHuqUOewBOhvHkl7M76pdGEansxW4= +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 v0.5.3/go.mod h1:V0xaHgaf5oCCqmcxYcWiDfTiKsZsRc87/1qhoTACD8w= +github.com/lyft/protoc-gen-validate v0.0.13/go.mod h1:XbGvPuh87YZc5TdIa2/I4pLk0QoUACkjt2znoq26NVQ= +github.com/magefile/mage v1.14.0/go.mod h1:z5UZb/iS3GoOSn0JgWuiw7dxlurVYTu+/jHXqQg881A= github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= github.com/magiconair/properties v1.8.1/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= -github.com/magiconair/properties v1.8.5 h1:b6kJs+EmPFMYGkow9GiUyCyOvIwYetYJ3fSaWak/Gls= github.com/magiconair/properties v1.8.5/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60= +github.com/magiconair/properties v1.8.6 h1:5ibWZ6iY0NctNGWo87LalDlEZ6R41TqbbDamhfG/Qzo= +github.com/magiconair/properties v1.8.6/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60= +github.com/mailru/easyjson v0.0.0-20160728113105-d5b7844b561a/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= +github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= +github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= +github.com/mailru/easyjson v0.7.0/go.mod h1:KAzv3t3aY1NaHWoQz1+4F1ccyAH66Jk7yos7ldAVICs= +github.com/mailru/easyjson v0.7.6/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= +github.com/manifoldco/promptui v0.9.0 h1:3V4HzJk1TtXW1MTZMP7mdlwbBpIinw3HztaIlYthEiA= +github.com/manifoldco/promptui v0.9.0/go.mod h1:ka04sppxSGFAtxX0qhlYQjISsg9mR4GWtQEhdbn6Pgg= +github.com/maratori/testableexamples v1.0.0/go.mod h1:4rhjL1n20TUTT4vdh3RDqSizKLyXp7K2u6HgraZCGzE= github.com/maratori/testpackage v1.0.1/go.mod h1:ddKdw+XG0Phzhx8BFDTKgpWP4i7MpApTE5fXSKAqwDU= +github.com/maratori/testpackage v1.1.0/go.mod h1:PeAhzU8qkCwdGEMTEupsHJNlQu2gZopMC6RjbhmHeDc= +github.com/marstr/guid v1.1.0/go.mod h1:74gB1z2wpxxInTG6yaqA7KrtM0NZ+RbrcqDvYHefzho= +github.com/matoous/godox v0.0.0-20190911065817-5d6d842e92eb/go.mod h1:1BELzlh859Sh1c6+90blK8lbYy0kwQf1bYlBhBysy1s= github.com/matoous/godox v0.0.0-20210227103229-6504466cf951/go.mod h1:1BELzlh859Sh1c6+90blK8lbYy0kwQf1bYlBhBysy1s= +github.com/matryer/is v1.2.0/go.mod h1:2fLPjFQM9rhQ15aVEtbuwhJinnOqrmgXPNdZsdwlWXA= +github.com/matryer/is v1.4.0/go.mod h1:8I/i5uYgLzgsgEloJE1U6xx5HkBQpAZvepWuujKwMRU= +github.com/matryer/moq v0.0.0-20190312154309-6cfb0558e1bd/go.mod h1:9ELz6aaclSIGnZBoaSLZ3NAl1VTufbOrXBPvtcy6WiQ= github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= github.com/mattn/go-colorable v0.1.0/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= +github.com/mattn/go-colorable v0.1.1/go.mod h1:FuOcm+DKB9mbwrcAfNl7/TZVBZ6rcnceauSikq3lYCQ= +github.com/mattn/go-colorable v0.1.2/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= 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.7/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.9/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= +github.com/mattn/go-colorable v0.1.12/go.mod h1:u5H1YNBxpqRaxsYJYSkiCWKzEfiAb1Gb520KVy5xxl4= +github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA= +github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg= github.com/mattn/go-ieproxy v0.0.0-20190610004146-91bb50d98149/go.mod h1:31jz6HNzdxOmlERGGEc4v/dMssOfmp2p5bT/okiKFFc= github.com/mattn/go-ieproxy v0.0.0-20190702010315-6dee0af9227d/go.mod h1:31jz6HNzdxOmlERGGEc4v/dMssOfmp2p5bT/okiKFFc= +github.com/mattn/go-ieproxy v0.0.1/go.mod h1:pYabZ6IHcRpFh7vIaLfK7rdcWgFEb3SFJ6/gNWuh88E= github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= github.com/mattn/go-isatty v0.0.4/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= github.com/mattn/go-isatty v0.0.5-0.20180830101745-3fb116b82035/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= +github.com/mattn/go-isatty v0.0.5/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= +github.com/mattn/go-isatty v0.0.9/go.mod h1:YNRxwqDuOph6SZLI9vUUz6OYw3QyUt7WiY2yME+cCiQ= 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-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= -github.com/mattn/go-isatty v0.0.14 h1:yVuAays6BHfxijgZPzw+3Zlu5yQgKGP2/hcQbHb7S9Y= github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= +github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= +github.com/mattn/go-isatty v0.0.18 h1:DOKFKCQ7FNG2L1rbrmstDN4QVRdS89Nkh85u68Uwp98= +github.com/mattn/go-isatty v0.0.18/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= github.com/mattn/go-runewidth v0.0.3/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= github.com/mattn/go-runewidth v0.0.4/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= 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-shellwords v1.0.3/go.mod h1:3xCvwCdWdlDJUrvuMn7Wuy9eWs4pE8vqg+NOMyg4B2o= +github.com/mattn/go-shellwords v1.0.6/go.mod h1:3xCvwCdWdlDJUrvuMn7Wuy9eWs4pE8vqg+NOMyg4B2o= +github.com/mattn/go-shellwords v1.0.10/go.mod h1:EZzvwXDESEeg03EKmM+RmDnNOPKG4lLtQsUlTZDWQ8Y= +github.com/mattn/go-shellwords v1.0.12/go.mod h1:EZzvwXDESEeg03EKmM+RmDnNOPKG4lLtQsUlTZDWQ8Y= github.com/mattn/go-sqlite3 v1.9.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc= +github.com/mattn/go-sqlite3 v1.11.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc= +github.com/mattn/go-sqlite3 v1.14.9/go.mod h1:NyWgC/yNuGj7Q9rpYnZvas74GogHl5/Z4A/KQRfk6bU= +github.com/mattn/go-tty v0.0.0-20180907095812-13ff1204f104/go.mod h1:XPvLUNfbS4fJH25nqRHfWLMa1ONC8Amw+mIA639KxkE= +github.com/mattn/go-zglob v0.0.1/go.mod h1:9fxibJccNxU2cnpIKLRRFA7zX7qhkJIQWBb449FYHOo= github.com/mattn/goveralls v0.0.2/go.mod h1:8d1ZMHsd7fW6IRPKQh46F2WRpyib5/X4FOpevwGNQEw= -github.com/matttproud/golang_protobuf_extensions v1.0.1 h1:4hp9jkHxhMHkqkrB3Ix0jegS5sx/RkqARlsWZ6pIwiU= github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= +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/maxbrunsfeld/counterfeiter/v6 v6.2.2/go.mod h1:eD9eIE7cdwcMi9rYluz88Jz2VyhSmden33/aXg4oVIY= github.com/mbilski/exhaustivestruct v1.2.0/go.mod h1:OeTBVxQWoEmB2J2JCHmXWPJ0aksxSUOUy+nvtVEfzXc= github.com/mgechev/dots v0.0.0-20190921121421-c36f7dcfbb81/go.mod h1:KQ7+USdGKfpPjXk4Ga+5XxQM4Lm4e3gAogrreFAYpOg= +github.com/mgechev/dots v0.0.0-20210922191527-e955255bf517/go.mod h1:KQ7+USdGKfpPjXk4Ga+5XxQM4Lm4e3gAogrreFAYpOg= github.com/mgechev/revive v1.1.1/go.mod h1:PKqk4L74K6wVNwY2b6fr+9Qqr/3hIsHVfZCJdbvozrY= +github.com/mgechev/revive v1.2.4/go.mod h1:iAWlQishqCuj4yhV24FTnKSXGpbAA+0SckXB8GQMX/Q= +github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b/go.mod h1:01TrycV0kFyexm33Z7vhZRXopbI8J3TDReVlkTgMUxE= github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg= +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/mimoo/StrobeGo v0.0.0-20181016162300-f8f6d4d2b643 h1:hLDRPB66XQT/8+wG9WsDpiCvZf1yKO7sz7scAjSlBa0= +github.com/miekg/pkcs11 v1.1.1/go.mod h1:XsNlhZGX73bx86s2hdc/FuaLm2CPZJemRLMA+WTFxgs= github.com/mimoo/StrobeGo v0.0.0-20181016162300-f8f6d4d2b643/go.mod h1:43+3pMjjKimDBf5Kr4ZFNGbLql1zKkbImw+fZbw3geM= -github.com/minio/highwayhash v1.0.1 h1:dZ6IIu8Z14VlC0VpfKofAhCy74wu/Qb5gcn52yWoz/0= +github.com/mimoo/StrobeGo v0.0.0-20210601165009-122bf33a46e0 h1:QRUSJEgZn2Snx0EmT/QLXibWjSUDjKWvXIT19NBVp94= +github.com/mimoo/StrobeGo v0.0.0-20210601165009-122bf33a46e0/go.mod h1:43+3pMjjKimDBf5Kr4ZFNGbLql1zKkbImw+fZbw3geM= github.com/minio/highwayhash v1.0.1/go.mod h1:BQskDq+xkJ12lmlUUi7U0M5Swg3EWR+dLTk+kldvVxY= +github.com/minio/highwayhash v1.0.2 h1:Aak5U0nElisjDCfPSG79Tgzkn2gl66NxOMspRrKnA/g= +github.com/minio/highwayhash v1.0.2/go.mod h1:BQskDq+xkJ12lmlUUi7U0M5Swg3EWR+dLTk+kldvVxY= +github.com/mistifyio/go-zfs v2.1.2-0.20190413222219-f784269be439+incompatible/go.mod h1:8AuVvqP/mXw1px98n46wfvcGfQ4ci2FwoAjKYxuo3Z4= github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc= +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-homedir v1.0.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y= github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= +github.com/mitchellh/go-ps v0.0.0-20190716172923-621e5597135b/go.mod h1:r1VsdOzOPt1ZSrGZWFoNhsAedKnEd6r9Np1+5blZCWk= github.com/mitchellh/go-ps v1.0.0/go.mod h1:J4lOc8z8yJs6vUwklHw2XEIiT4z4C40KtWVN3nvg8Pg= github.com/mitchellh/go-testing-interface v1.0.0/go.mod h1:kRemZodwjscx+RGhAo8eIhFbs2+BFgRtFPeD/KE+zxI= +github.com/mitchellh/go-testing-interface v1.14.1 h1:jrgshOhYAUVNMAJiKbEu7EqAwgJJ2JqpQmpLJOu07cU= +github.com/mitchellh/go-testing-interface v1.14.1/go.mod h1:gfgS7OtZj6MA4U1UrDRp04twqAjfvlZyCfX3sDjEym8= github.com/mitchellh/gox v0.4.0/go.mod h1:Sd9lOJ0+aimLBi73mGofS1ycjY8lL3uZM3JPS42BGNg= +github.com/mitchellh/hashstructure v1.0.0/go.mod h1:QjSHrPWS+BGUVBYkbTZWEnOh3G1DutKwClXU/ABz6AQ= +github.com/mitchellh/hashstructure/v2 v2.0.2/go.mod h1:MG3aRVU/N29oo/V/IhBX8GR/zz4kQkprJgF2EVszyDE= github.com/mitchellh/iochan v1.0.0/go.mod h1:JwYml1nuB7xOzsp52dPpHFffvOCDupsG0QubkSMEySY= github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= +github.com/mitchellh/mapstructure v1.3.1/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/mitchellh/mapstructure v1.3.3/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= -github.com/mitchellh/mapstructure v1.4.1 h1:CpVNEelQCZBooIPDn+AR3NpivK/TIKU8bDxdASFVQag= github.com/mitchellh/mapstructure v1.4.1/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= +github.com/mitchellh/mapstructure v1.4.2/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= +github.com/mitchellh/mapstructure v1.4.3/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= +github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY= +github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= +github.com/mitchellh/osext v0.0.0-20151018003038-5e2d6d41470f/go.mod h1:OkQIRizQZAeMln+1tSwduZz7+Af5oFlKirV/MSYes2A= +github.com/mitchellh/pointerstructure v1.2.0/go.mod h1:BRAsLI5zgXmw97Lf6s25bs8ohIXc3tViBH44KcwB2g4= 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.8.1/go.mod h1:/kyU1hKy/aYCuP39GZA9MaKioovHku57N6cqlKZIaiQ= +github.com/moby/buildkit v0.10.4/go.mod h1:Yajz9vt1Zw5q9Pp4pdb3TCSUXJBIroIQGQ3TTs/sLug= +github.com/moby/locker v1.0.1/go.mod h1:S7SDdo5zpBK84bzzVlKr2V0hz+7x9hWbYC/kq7oQppc= +github.com/moby/spdystream v0.2.0/go.mod h1:f7i0iNDQJ059oMTcWxx8MA/zKFIuD/lY+0GqbN2Wy8c= +github.com/moby/sys/mount v0.1.0/go.mod h1:FVQFLDRWwyBjDTBNQXDlWnSFREqOo3OKX9aqhmeoo74= +github.com/moby/sys/mount v0.1.1/go.mod h1:FVQFLDRWwyBjDTBNQXDlWnSFREqOo3OKX9aqhmeoo74= +github.com/moby/sys/mount v0.3.0/go.mod h1:U2Z3ur2rXPFrFmy4q6WMwWrBOAQGYtYTRVM8BIvzbwk= +github.com/moby/sys/mountinfo v0.1.0/go.mod h1:w2t2Avltqx8vE7gX5l+QiBKxODu2TX0+Syr3h52Tw4o= +github.com/moby/sys/mountinfo v0.1.3/go.mod h1:w2t2Avltqx8vE7gX5l+QiBKxODu2TX0+Syr3h52Tw4o= +github.com/moby/sys/mountinfo v0.4.0/go.mod h1:rEr8tzG/lsIZHBtN/JjGG+LMYx9eXgW2JI+6q0qou+A= github.com/moby/sys/mountinfo v0.4.1/go.mod h1:rEr8tzG/lsIZHBtN/JjGG+LMYx9eXgW2JI+6q0qou+A= +github.com/moby/sys/mountinfo v0.5.0/go.mod h1:3bMD3Rg+zkqx8MRYPi7Pyb0Ie97QEBmdxbhnCLlSvSU= +github.com/moby/sys/mountinfo v0.6.0/go.mod h1:3bMD3Rg+zkqx8MRYPi7Pyb0Ie97QEBmdxbhnCLlSvSU= +github.com/moby/sys/signal v0.6.0/go.mod h1:GQ6ObYZfqacOwTtlXvcmh9A26dVRul/hbOZn88Kg8Tg= +github.com/moby/sys/symlink v0.1.0/go.mod h1:GGDODQmbFOjFsXvfLVn3+ZRxkch54RkSiGqsZeMYowQ= +github.com/moby/sys/symlink v0.2.0/go.mod h1:7uZVF2dqJjG/NsClqul95CqKOBRQyYSNnJ6BMgR/gFs= +github.com/moby/term v0.0.0-20200312100748-672ec06f55cd/go.mod h1:DdlQx2hp0Ss5/fLikoLlEeIYiATotOjgB//nb973jeo= +github.com/moby/term v0.0.0-20200915141129-7f0af18e79f2/go.mod h1:TjQg8pa4iejrUrjiz0MCtMV38jdMNW4doKSiBrEvCQQ= +github.com/moby/term v0.0.0-20201216013528-df9cb8a40635/go.mod h1:FBS0z0QWA44HXygs7VXDUOGoN/1TV3RuWkLO04am3wc= +github.com/moby/term v0.0.0-20210610120745-9d4ed1856297/go.mod h1:vgPCkQMyxTZ7IDy8SXRufE172gr8+K/JE/7hHFxHW3A= +github.com/moby/term v0.0.0-20210619224110-3f7ff695adc6/go.mod h1:E2VnQOmVuvZB6UYnnDB0qG5Nq/1tD9acaOpo6xmt0Kw= +github.com/moby/term v0.0.0-20220808134915-39b0c02b01ae/go.mod h1:E2VnQOmVuvZB6UYnnDB0qG5Nq/1tD9acaOpo6xmt0Kw= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/reflect2 v0.0.0-20180320133207-05fbef0ca5da/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= -github.com/modern-go/reflect2 v1.0.1 h1:9f412s+6RmYXLWZSEzVVgPGK7C2PphHj5RJrvfx9AWI= github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= +github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= +github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= +github.com/modocache/gover v0.0.0-20171022184752-b58185e213c5/go.mod h1:caMODM3PzxT8aQXRPkAt8xlV/e7d7w8GM5g0fa5F0D8= 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/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-20190404164649-a3c1b6cfecfd/go.mod h1:SrKMQvPiws7F7iqYp8/TX+IhxCYhzr6N/1yb8cwHsGk= +github.com/mozilla/tls-observatory v0.0.0-20200317151703-4fa42e1c2dee/go.mod h1:SrKMQvPiws7F7iqYp8/TX+IhxCYhzr6N/1yb8cwHsGk= github.com/mozilla/tls-observatory v0.0.0-20210609171429-7bc42856d2e5/go.mod h1:FUqVoUPHSEdDR0MnFM3Dh8AU0pZHLXUD127SAJGER/s= +github.com/mrunalp/fileutils v0.0.0-20200520151820-abd8a0e76976/go.mod h1:x8F1gnqOkIEiO4rqoeEEEqQbo7HjGMTvyoq3gej4iT0= github.com/mrunalp/fileutils v0.5.0/go.mod h1:M1WthSahJixYnrXQl/DFQuteStB1weuxD2QJNHXfbSQ= +github.com/mschoch/smat v0.0.0-20160514031455-90eadee771ae/go.mod h1:qAyveg+e4CE+eKJXWVjKXM4ck2QobLqTDytGJbLLhJg= github.com/mtibben/percent v0.2.1 h1:5gssi8Nqo8QU/r2pynCm+hBQHpkB/uNK7BJCFogWdzs= github.com/mtibben/percent v0.2.1/go.mod h1:KG9uO+SZkUp+VkRHsCdYQV3XSZrrSpR3O9ibNBTZrns= +github.com/munnerz/goautoneg v0.0.0-20120707110453-a547fc61f48d/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= +github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f h1:KUppIJq7/+SVif2QVs3tOP0zanoHgBEVAwHxUSIzRqU= github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= 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/mwitkow/grpc-proxy v0.0.0-20181017164139-0f1106ef9c76/go.mod h1:x5OoJHDHqxHS801UIuhqGl6QdSAEJvtausosHSdazIo= +github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f/go.mod h1:ZdcZmHo+o7JKHSa8/e818NopupXU1YMK5fe1lsApnBw= github.com/nakabonne/nestif v0.3.0/go.mod h1:dI314BppzXjJ4HsCnbo7XzrJHPszZsjnk5wEBSYHI2c= +github.com/nakabonne/nestif v0.3.1/go.mod h1:9EtoZochLn5iUprVDmDjqGKPofoUEBL8U4Ngq6aY7OE= github.com/naoina/go-stringutil v0.1.0/go.mod h1:XJ2SJL9jCtBh+P9q5btrd/Ylo8XwT/h1USek5+NqSA0= github.com/naoina/toml v0.1.2-0.20170918210437-9fafd6967416/go.mod h1:NBIhNtsFMo3G2szEBne+bO4gS192HuIYRqfvOWb4i1E= github.com/nats-io/jwt v0.3.0/go.mod h1:fRYCDE99xlTsqUzISS1Bi75UBJ6ljOJQOAAu5VglpSg= github.com/nats-io/jwt v0.3.2/go.mod h1:/euKqTS1ZD+zzjYrY7pseZrTtWQSjujC7xjPc8wL6eU= +github.com/nats-io/jwt v1.2.2/go.mod h1:/xX356yQA6LuXI9xWW7mZNpxgF2mBmGecH+Fj34sP5Q= +github.com/nats-io/jwt/v2 v2.0.3/go.mod h1:VRP+deawSXyhNjXmxPCHskrR6Mq50BqpEI5SEcNiGlY= github.com/nats-io/nats-server/v2 v2.1.2/go.mod h1:Afk+wRZqkMQs/p45uXdrVLuab3gwv3Z8C4HTBu8GD/k= +github.com/nats-io/nats-server/v2 v2.5.0/go.mod h1:Kj86UtrXAL6LwYRA6H4RqzkHhK0Vcv2ZnKD5WbQ1t3g= github.com/nats-io/nats.go v1.9.1/go.mod h1:ZjDU1L/7fJ09jvUSRVBR2e7+RnLiiIQyqyzEE/Zbp4w= +github.com/nats-io/nats.go v1.12.1/go.mod h1:BPko4oXsySz4aSWeFgOHLZs3G4Jq4ZAyE6/zMCxRT6w= github.com/nats-io/nkeys v0.1.0/go.mod h1:xpnFELMwJABBLVhffcfd1MZx6VsNRFpEugbxziKVo7w= github.com/nats-io/nkeys v0.1.3/go.mod h1:xpnFELMwJABBLVhffcfd1MZx6VsNRFpEugbxziKVo7w= +github.com/nats-io/nkeys v0.2.0/go.mod h1:XdZpAbhgyyODYqjTawOnIOI7VlbKSarI9Gfy1tqEu/s= +github.com/nats-io/nkeys v0.3.0/go.mod h1:gvUNGjVcM2IPr5rCsRsC6Wb3Hr2CQAm08dsxtV6A5y4= github.com/nats-io/nuid v1.0.1/go.mod h1:19wcPz3Ph3q0Jbyiqsd0kePYG7A95tJPxeL+1OSON2c= +github.com/nbutton23/zxcvbn-go v0.0.0-20180912185939-ae427f1e4c1d/go.mod h1:o96djdrsSGy3AWPyBgZMAGfxZNfgntdJG+11KU4QvbU= github.com/nbutton23/zxcvbn-go v0.0.0-20210217022336-fa2cb2858354/go.mod h1:KSVJerMDfblTH7p5MZaTt+8zaT2iEk3AkVb9PQdZuE8= +github.com/ncw/swift v1.0.47/go.mod h1:23YIA4yWVnGwv2dQlN4bB7egfYX6YLn0Yo/S6zZO/ZM= github.com/neilotoole/errgroup v0.1.5/go.mod h1:Q2nLGf+594h0CLBs/Mbg6qOr7GtqDK7C2S41udRnToE= -github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e h1:fD57ERR4JtEqsWbfPhv4DMiApHyliiK5xCTNVSPiaAs= +github.com/neilotoole/errgroup v0.1.6/go.mod h1:Q2nLGf+594h0CLBs/Mbg6qOr7GtqDK7C2S41udRnToE= +github.com/networkplumbing/go-nft v0.2.0/go.mod h1:HnnM+tYvlGAsMU7yoYwXEVLLiDW9gdMmb5HoGcwpuQs= github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= github.com/nishanths/exhaustive v0.2.3/go.mod h1:bhIX678Nx8inLM9PbpvK1yv6oGtoP8BfaIeMzgBNKvc= +github.com/nishanths/exhaustive v0.8.3/go.mod h1:qj+zJJUgJ76tR92+25+03oYUhzF4R7/2Wk7fGTfCHmg= github.com/nishanths/predeclared v0.0.0-20190419143655-18a43bb90ffc/go.mod h1:62PewwiQTlm/7Rj+cxVYqZvDIUc+JjZq6GHAC1fsObQ= github.com/nishanths/predeclared v0.0.0-20200524104333-86fad755b4d3/go.mod h1:nt3d53pc1VYcphSCIaYAJtnPYnr3Zyn8fMq2wvPGPso= github.com/nishanths/predeclared v0.2.1/go.mod h1:HvkGJcA3naj4lOwnFXFDkFxVtSqQMB9sbB1usJ+xjQE= +github.com/nishanths/predeclared v0.2.2/go.mod h1:RROzoN6TnGQupbC+lqggsOlcgysk3LMK/HI84Mp280c= github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= github.com/nxadm/tail v1.4.8 h1:nPr65rt6Y5JFSKQO7qToXr7pePgD6Gwiw05lkbyAQTE= github.com/nxadm/tail v1.4.8/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+AU= github.com/oklog/oklog v0.3.2/go.mod h1:FCV+B7mhrz4o+ueLpx+KqkyXRGMWOYEvfiXtdGtbWGs= github.com/oklog/run v1.0.0/go.mod h1:dlhp/R75TPv97u0XWUtDeV/lRKWPKSdTuV0TZvrmrQA= github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= +github.com/oklog/ulid/v2 v2.1.0/go.mod h1:rcEKHmBBKfef9DhnvX7y1HZBYxjXb0cP5ExxNsTT1QQ= github.com/olekukonko/tablewriter v0.0.0-20170122224234-a0225b3f23b5/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo= github.com/olekukonko/tablewriter v0.0.1/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo= github.com/olekukonko/tablewriter v0.0.2-0.20190409134802-7e037d187b0c/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 v0.0.0-20151202141238-7f8ab55aaf3b/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v0.0.0-20170829012221-11459a886d9c/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.8.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.10.1/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.10.3/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.11.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.12.0/go.mod h1:oUhWkIvk5aDxtKvDDuw8gItl8pKl42LzjC9KZE0HfGg= github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk= +github.com/onsi/ginkgo v1.13.0/go.mod h1:+REjRxOmWfHCjfv9TTWB1jD1Frx4XydAD3zm1lskyM0= github.com/onsi/ginkgo v1.14.0/go.mod h1:iSB4RoI2tjJc9BBv4NKIKWKya62Rps+oPG/Lv9klQyY= github.com/onsi/ginkgo v1.16.2/go.mod h1:CObGmKUOKaSC0RjmoAK7tKyn4Azo5P2IWuoMnvwxz1E= github.com/onsi/ginkgo v1.16.4 h1:29JGrr5oVBm5ulCWet69zQkzWipVXIol6ygQUe/EzNc= github.com/onsi/ginkgo v1.16.4/go.mod h1:dX+/inL/fNMqNlz0e9LfyB9TswhZpCVdJM/Z6Vvnwo0= +github.com/onsi/ginkgo/v2 v2.1.3/go.mod h1:vw5CSIxN1JObi/U8gcbwft7ZxR2dgaR70JSE3/PpL4c= +github.com/onsi/ginkgo/v2 v2.1.4/go.mod h1:um6tUpWM/cxCK3/FK8BXqEiUMUwRgSM4JXG47RKZmLU= +github.com/onsi/gomega v0.0.0-20151007035656-2152b45fa28a/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA= +github.com/onsi/gomega v0.0.0-20170829124025-dcabb60a477c/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA= github.com/onsi/gomega v1.4.1/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA= github.com/onsi/gomega v1.4.3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= +github.com/onsi/gomega v1.5.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= +github.com/onsi/gomega v1.7.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= +github.com/onsi/gomega v1.8.1/go.mod h1:Ho0h+IUsWyvy1OpqCwxlQ/21gkhVunqlU8fDGcoTdcA= +github.com/onsi/gomega v1.9.0/go.mod h1:Ho0h+IUsWyvy1OpqCwxlQ/21gkhVunqlU8fDGcoTdcA= github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= -github.com/onsi/gomega v1.13.0 h1:7lLHu94wT9Ij0o6EWWclhu0aOh32VxhkwEJvzuWPeak= +github.com/onsi/gomega v1.10.3/go.mod h1:V9xEwhxec5O8UDM77eCW8vLymOMltsqPVYWrpDsH8xc= github.com/onsi/gomega v1.13.0/go.mod h1:lRk9szgn8TxENtWd0Tp4c3wjlRfMTMH27I+3Je41yGY= +github.com/onsi/gomega v1.15.0/go.mod h1:cIuvLEne0aoVhAgh/O6ac0Op8WWw9H6eYCriF+tEHG0= +github.com/onsi/gomega v1.17.0/go.mod h1:HnhC7FXeEQY45zxNK3PPoIUhzk/80Xly9PcubAlGdZY= +github.com/onsi/gomega v1.19.0/go.mod h1:LY+I3pBVzYsTBU1AnDwOSxaYi9WoWiqgwooUqq9yPro= +github.com/onsi/gomega v1.20.0 h1:8W0cWlwFkflGPLltQvLRB7ZVD5HuP6ng320w2IS245Q= +github.com/onsi/gomega v1.20.0/go.mod h1:DtrZpjmvpn2mPm4YWQa0/ALMDj9v4YxLgojwPeREyVo= github.com/op/go-logging v0.0.0-20160315200505-970db520ece7/go.mod h1:HzydrMdWErDVzsI23lYNej1Htcns9BCg93Dk0bBINWk= +github.com/opencontainers/go-digest v0.0.0-20170106003457-a6d0ee40d420/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s= +github.com/opencontainers/go-digest v0.0.0-20180430190053-c9281466c8b2/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s= github.com/opencontainers/go-digest v1.0.0-rc1/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s= +github.com/opencontainers/go-digest v1.0.0-rc1.0.20180430190053-c9281466c8b2/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s= github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= -github.com/opencontainers/image-spec v1.0.1 h1:JMemWkRwHx4Zj+fVxWoMCFm/8sYGGrUVojFA6h/TRcI= +github.com/opencontainers/image-spec v1.0.0/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= github.com/opencontainers/image-spec v1.0.1/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= +github.com/opencontainers/image-spec v1.0.2-0.20211117181255-693428a734f5/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= +github.com/opencontainers/image-spec v1.0.2/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= +github.com/opencontainers/image-spec v1.0.3-0.20211202183452-c5a74bcca799/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= +github.com/opencontainers/image-spec v1.1.0-rc2 h1:2zx/Stx4Wc5pIPDvIxHXvXtQFW/7XWJGmnM7r3wg034= +github.com/opencontainers/image-spec v1.1.0-rc2/go.mod h1:3OVijpioIKYWTqjiG0zfF6wvoJ4fAXGbjdZuI2NgsRQ= +github.com/opencontainers/runc v0.0.0-20190115041553-12f6a991201f/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U= github.com/opencontainers/runc v0.1.1/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U= -github.com/opencontainers/runc v1.0.2 h1:opHZMaswlyxz1OuGpBE53Dwe4/xF7EZTY0A2L/FpCOg= +github.com/opencontainers/runc v1.0.0-rc10/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U= +github.com/opencontainers/runc v1.0.0-rc8.0.20190926000215-3e425f80a8c9/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U= +github.com/opencontainers/runc v1.0.0-rc9/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U= +github.com/opencontainers/runc v1.0.0-rc92/go.mod h1:X1zlU4p7wOlX4+WRCz+hvlRv8phdL7UqbYD+vQwNMmE= +github.com/opencontainers/runc v1.0.0-rc93/go.mod h1:3NOsor4w32B2tC0Zbl8Knk4Wg84SM2ImC1fxBuqJ/H0= github.com/opencontainers/runc v1.0.2/go.mod h1:aTaHFFwQXuA71CiyxOdFFIorAoemI04suvGRQFzWTD0= +github.com/opencontainers/runc v1.1.0/go.mod h1:Tj1hFw6eFWp/o33uxGf5yF2BX5yz2Z6iptFpuvbbKqc= +github.com/opencontainers/runc v1.1.1/go.mod h1:Tj1hFw6eFWp/o33uxGf5yF2BX5yz2Z6iptFpuvbbKqc= +github.com/opencontainers/runc v1.1.2/go.mod h1:Tj1hFw6eFWp/o33uxGf5yF2BX5yz2Z6iptFpuvbbKqc= +github.com/opencontainers/runc v1.1.3 h1:vIXrkId+0/J2Ymu2m7VjGvbSlAId9XNRPhn2p4b+d8w= +github.com/opencontainers/runc v1.1.3/go.mod h1:1J5XiS+vdZ3wCyZybsuxXZWGrgSr8fFJHLXuG2PsnNg= +github.com/opencontainers/runtime-spec v0.1.2-0.20190507144316-5b71a03e2700/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= +github.com/opencontainers/runtime-spec v1.0.1/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= +github.com/opencontainers/runtime-spec v1.0.2-0.20190207185410-29686dbc5559/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= +github.com/opencontainers/runtime-spec v1.0.2/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= +github.com/opencontainers/runtime-spec v1.0.3-0.20200728170252-4d89ac9fbff6/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= +github.com/opencontainers/runtime-spec v1.0.3-0.20200929063507-e6143ca7d51d/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= github.com/opencontainers/runtime-spec v1.0.3-0.20210326190908-1c3f411f0417/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= +github.com/opencontainers/runtime-tools v0.0.0-20181011054405-1d69bd0f9c39/go.mod h1:r3f7wjNzSs2extwzU3Y+6pKfobzPh+kKFJ3ofN+3nfs= +github.com/opencontainers/selinux v1.6.0/go.mod h1:VVGKuOLlE7v4PJyT6h7mNWvq1rzqiriPsEqVhc+svHE= +github.com/opencontainers/selinux v1.8.0/go.mod h1:RScLhm78qiWa2gbVCcGkC7tCGdgk3ogry1nUQF8Evvo= github.com/opencontainers/selinux v1.8.2/go.mod h1:MUIHuUEvKB1wtJjQdOyYRgOnLD2xAPP8dBsCoU0KuF8= +github.com/opencontainers/selinux v1.10.0/go.mod h1:2i0OySw99QjzBBQByd1Gr9gSjvuho1lHsJxIJ3gGbJI= +github.com/opencontainers/selinux v1.10.1/go.mod h1:2i0OySw99QjzBBQByd1Gr9gSjvuho1lHsJxIJ3gGbJI= github.com/opentracing-contrib/go-observer v0.0.0-20170622124052-a52f23424492/go.mod h1:Ngi6UdF0k5OKD5t5wlmGhe/EDKPoUM3BXZSSfIuJbis= +github.com/opentracing-contrib/go-stdlib v1.0.0/go.mod h1:qtI1ogk+2JhVPIXVc6q+NHziSmy2W5GbdQZFUHADCBU= github.com/opentracing/basictracer-go v1.0.0/go.mod h1:QfBfYuafItcjQuMwinw9GhYKwFXS9KnPs5lxoYwgW74= github.com/opentracing/opentracing-go v1.0.2/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= +github.com/opentracing/opentracing-go v1.0.3-0.20180606204148-bd9c31933947/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= +github.com/opentracing/opentracing-go v1.2.0/go.mod h1:GxEUsuufX4nBwe+T+Wl9TAgYrxe9dPLANfrWvHYVTgc= github.com/openzipkin-contrib/zipkin-go-opentracing v0.4.5/go.mod h1:/wsWhb9smxSfWAKL3wpBW7V8scJMt8N8gnaMCS9E/cA= +github.com/openzipkin/zipkin-go v0.1.1/go.mod h1:NtoC/o8u3JlF1lSlyPNswIbeQH9bJTmOf0Erfk+hxe8= +github.com/openzipkin/zipkin-go v0.1.3/go.mod h1:NtoC/o8u3JlF1lSlyPNswIbeQH9bJTmOf0Erfk+hxe8= github.com/openzipkin/zipkin-go v0.1.6/go.mod h1:QgAqvLzwWbR/WpD4A3cGpPtJrZXNIiJc5AZX7/PBEpw= github.com/openzipkin/zipkin-go v0.2.1/go.mod h1:NaW6tEwdmWMaCDZzg8sh+IBNOxHMPnhQw8ySjnjRyN4= github.com/openzipkin/zipkin-go v0.2.2/go.mod h1:NaW6tEwdmWMaCDZzg8sh+IBNOxHMPnhQw8ySjnjRyN4= +github.com/openzipkin/zipkin-go v0.2.5/go.mod h1:KpXfKdgRDnnhsxw4pNIH9Md5lyFqKUa4YDFlwRYAMyE= github.com/ory/dockertest v3.3.5+incompatible h1:iLLK6SQwIhcbrG783Dghaaa3WPzGc+4Emza6EbVUUGA= github.com/ory/dockertest v3.3.5+incompatible/go.mod h1:1vX4m9wsvi00u5bseYwXaSnhNrne+V0E6LAcBILJdPs= -github.com/otiai10/copy v1.6.0 h1:IinKAryFFuPONZ7cm6T6E2QX/vcJwSnlaA5lfoaXIiQ= +github.com/ory/dockertest/v3 v3.9.1/go.mod h1:42Ir9hmvaAPm0Mgibk6mBPi7SFvTXxEcnztDYOJ//uM= +github.com/otiai10/copy v1.2.0/go.mod h1:rrF5dJ5F0t/EWSYODDu4j9/vEeYHMkc8jt0zJChqQWw= github.com/otiai10/copy v1.6.0/go.mod h1:XWfuS3CrI0R6IE0FbgHsEazaXO8G0LpMp9o8tos0x4E= 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.3.2/go.mod h1:/yxELlJQ0ufhjUwhshSj+wFjZ78CnZ48/1wtmBH1OTc= github.com/pact-foundation/pact-go v1.0.4/go.mod h1:uExwJY4kCzNPcHRj+hCR/HBbOOIwwtUjcrb0b5/5kLM= github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= github.com/pascaldekloe/goe v0.1.0 h1:cBOtyMzM9HTpWjXfbbunk26uA6nG3a8n06Wieeh0MwY= github.com/pascaldekloe/goe v0.1.0/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= +github.com/paulbellamy/ratecounter v0.2.0/go.mod h1:Hfx1hDpSGoqxkVVpBi/IlYD7kChlfo5C6hzIHwPqfFE= +github.com/pborman/getopt v0.0.0-20170112200414-7148bc3a4c30/go.mod h1:85jBQOZwpVEaDAr341tbn15RS4fCAsIst0qp7i8ex1o= github.com/pborman/uuid v0.0.0-20170112150404-1b00554d8222/go.mod h1:VyrYX9gd7irzKovcSS6BIIEwPRkP2Wm2m9ufcdFSJ34= github.com/pborman/uuid v1.2.0/go.mod h1:X/NO0urCmaxf9VXbdlT7C2Yzkj2IKimNn4k+gtPdI/k= github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= -github.com/pelletier/go-toml v1.9.3 h1:zeC5b1GviRUyKYd6OJPvBU/mcVDVoL1OhT17FCt5dSQ= +github.com/pelletier/go-toml v1.8.0/go.mod h1:D6yutnOGMveHEPV7VQOuvI/gXY61bv+9bAOTRnLElKs= +github.com/pelletier/go-toml v1.8.1/go.mod h1:T2/BmBdy8dvIRq1a/8aqjN41wvWlN4lrapLU/GW4pbc= github.com/pelletier/go-toml v1.9.3/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= +github.com/pelletier/go-toml v1.9.4/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= +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.1/go.mod h1:r9LEWfGN8R5k0VXJ+0BkIe7MYkRdwZOjgMj2KwnJFUo= +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.0.7 h1:muncTPStnKRos5dpVKULv2FVd4bMOhNePj9CjgDb8Us= +github.com/pelletier/go-toml/v2 v2.0.7/go.mod h1:eumQOmlWiOPt5WriQQqoM5y18pDHwha2N+QD+EUNTek= github.com/performancecopilot/speed v3.0.0+incompatible/go.mod h1:/CLtqpZ5gBg1M9iaPbIdPPGyKcA8hKdoy6hAWba7Yac= +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/peterh/liner v1.0.1-0.20180619022028-8c1271fcf47f/go.mod h1:xIteQHvHuaLYG9IFj6mSxM0fCKrs34IrEQUhOYuGPHc= github.com/peterh/liner v1.1.1-0.20190123174540-a2c9a5303de7/go.mod h1:CRroGNssyjTd/qIG2FyxByd2S8JEAZXBl4qUrZf8GS0= -github.com/petermattis/goid v0.0.0-20180202154549-b0b1615b78e5 h1:q2e307iGHPdTGp0hoxKjt1H5pDo6utceo3dQVK3I5XQ= github.com/petermattis/goid v0.0.0-20180202154549-b0b1615b78e5/go.mod h1:jvVRKCrJTQWu0XVbaOlby/2lO20uSCHEMzzplHXte1o= +github.com/petermattis/goid v0.0.0-20230317030725-371a4b8eda08 h1:hDSdbBuw3Lefr6R18ax0tZ2BJeNB3NehB3trOwYBsdU= +github.com/petermattis/goid v0.0.0-20230317030725-371a4b8eda08/go.mod h1:pxMtw7cyUw6B2bRH0ZBANSPg+AoSud1I1iyJHI69jH4= github.com/phayes/checkstyle v0.0.0-20170904204023-bfd46e6a821d/go.mod h1:3OzsM7FXDQlpCiw2j81fOmAwQLnZnLGXVKUzeKQXIAw= +github.com/philhofer/fwd v1.0.0/go.mod h1:gk3iGcWd9+svBvR0sR+KPcfE+RNWozjowpeBVG3ZVNU= +github.com/philhofer/fwd v1.1.1/go.mod h1:gk3iGcWd9+svBvR0sR+KPcfE+RNWozjowpeBVG3ZVNU= github.com/pierrec/lz4 v1.0.2-0.20190131084431-473cd7ce01a1/go.mod h1:3/3N9NVKO0jef7pBehbT1qWhCMrIgbYNnFAZCqQ5LRc= github.com/pierrec/lz4 v2.0.5+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= +github.com/pjbgf/sha1cd v0.2.3/go.mod h1:HOK9QrgzdHpbc2Kzip0Q1yi3M2MFGPADtR6HjG65m5M= +github.com/pkg/browser v0.0.0-20180916011732-0a3d74bf9ce4/go.mod h1:4OwLy04Bl9Ef3GJJCoec+30X3LQs/0/m4HFRt/2LUSA= +github.com/pkg/browser v0.0.0-20210911075715-681adbf594b8/go.mod h1:HKlIX3XHQyzLZPlr7++PzdhaXEj94dEiJgZDTsxEqUI= +github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA= github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pkg/errors v0.8.1-0.20171018195549-f15c970de5b7/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/profile v1.2.1/go.mod h1:hJw3o1OdXxsrSjjVksARp5W95eeEaEfptyVZyv6JUPA= +github.com/pkg/profile v1.5.0/go.mod h1:qBsxPvzyUincmltOk6iyRVxHYg4adc0OFOv72ZdLa18= +github.com/pkg/profile v1.6.0/go.mod h1:qBsxPvzyUincmltOk6iyRVxHYg4adc0OFOv72ZdLa18= github.com/pkg/sftp v1.10.1/go.mod h1:lYOWFsE0bwd1+KfKJaKeuokY15vzFx25BLbzYYoAxZI= +github.com/pkg/sftp v1.13.1/go.mod h1:3HaPG6Dq1ILlpPZRO0HVMrsydcdLt6HRDccSgb87qRg= +github.com/pkg/term v0.0.0-20180730021639-bffc007b7fd5/go.mod h1:eCbImbZ95eXtAUIbLAuAVnBnwf83mjf6QIVH8SHYwqQ= github.com/pmezard/go-difflib v0.0.0-20151028094244-d8ed2627bdf0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/polyfloyd/go-errorlint v0.0.0-20210722154253-910bb7978349/go.mod h1:wi9BfjxjF/bwiZ701TzmfKu6UKC357IOAtNr0Td0Lvw= +github.com/polyfloyd/go-errorlint v1.0.5/go.mod h1:APVvOesVSAnne5SClsPxPdfvZTVDojXh1/G3qb5wjGI= github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI= +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/pquerna/cachecontrol v0.0.0-20171018203845-0dec1b30a021/go.mod h1:prYjPmNq4d1NPVmpShWobRqXY3q7Vp+80DqgxxUrUIA= +github.com/prometheus/client_golang v0.0.0-20180209125602-c332b6f63c06/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= +github.com/prometheus/client_golang v0.8.0/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= github.com/prometheus/client_golang v0.9.3-0.20190127221311-3c4408c8b829/go.mod h1:p2iRAGwDERtqlqzRXnrOVns+ignqQo//hLXqYxZYVNs= github.com/prometheus/client_golang v0.9.3/go.mod h1:/TN21ttK/J9q6uSwhBd54HahCDft0ttaMvbicHlPoso= github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo= +github.com/prometheus/client_golang v1.1.0/go.mod h1:I1FGZT9+L76gKKOs5djB6ezCbFQP1xR9D75/vuwEF3g= github.com/prometheus/client_golang v1.3.0/go.mod h1:hJaj2vgQTGQmVCsAACORcieXFeDPbaTKGT+JTgUa3og= github.com/prometheus/client_golang v1.4.0/go.mod h1:e9GMxYsXl05ICDXkRhurwBS4Q3OK1iX/F2sw+iXX5zU= github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M= -github.com/prometheus/client_golang v1.8.0/go.mod h1:O9VU6huf47PktckDQfMTX0Y8tY0/7TSWwj+ITvv0TnM= -github.com/prometheus/client_golang v1.11.0 h1:HNkLOAEQMIDv/K+04rukrLx6ch7msSRwf3/SASFAGtQ= github.com/prometheus/client_golang v1.11.0/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0= +github.com/prometheus/client_golang v1.11.1/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0= +github.com/prometheus/client_golang v1.12.1/go.mod h1:3Z9XVyYiZYEO+YQWt3RD2R3jrbd179Rt297l4aS6nDY= +github.com/prometheus/client_golang v1.14.0 h1:nJdhIvne2eSX/XRAFV9PcvFFRbrjbcTUj0VP62TMhnw= +github.com/prometheus/client_golang v1.14.0/go.mod h1:8vpkKitgIVNcqrRBWh1C4TIUQgYNtG/XQE4E/Zae36Y= +github.com/prometheus/client_model v0.0.0-20171117100541-99fa1f4be8e5/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= github.com/prometheus/client_model v0.0.0-20190115171406-56726106282f/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.1.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/client_model v0.2.0 h1:uq5h0d+GuxiXLJLNABMgp2qUWDPiLvgCzz2dUR+/W/M= github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/prometheus/client_model v0.3.0 h1:UBgGFHqYdG/TPFD1B1ogZywDqEkwp3fBMvqdiQ7Xew4= +github.com/prometheus/client_model v0.3.0/go.mod h1:LDGWKZIo7rky3hgvBe+caln+Dr3dPggB5dvjtD7w9+w= +github.com/prometheus/common v0.0.0-20180110214958-89604d197083/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= +github.com/prometheus/common v0.0.0-20180801064454-c7de2306084e/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= github.com/prometheus/common v0.0.0-20181113130724-41aa239b4cce/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= github.com/prometheus/common v0.2.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= github.com/prometheus/common v0.4.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= +github.com/prometheus/common v0.6.0/go.mod h1:eBmuwkDJBwy6iBfxCBob6t6dR6ENT/y+J+Zk0j9GMYc= github.com/prometheus/common v0.7.0/go.mod h1:DjGbpBbp5NYNiECxcL/VnbXCCaQpKd3tt26CguLLsqA= github.com/prometheus/common v0.9.1/go.mod h1:yhUN8i9wzaXS3w1O07YhxHEBxD+W35wd8bs7vj7HSQ4= github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo= -github.com/prometheus/common v0.14.0/go.mod h1:U+gB1OBLb1lF3O42bTCL+FK18tX9Oar16Clt/msog/s= github.com/prometheus/common v0.15.0/go.mod h1:U+gB1OBLb1lF3O42bTCL+FK18tX9Oar16Clt/msog/s= github.com/prometheus/common v0.26.0/go.mod h1:M7rCNAaPfAosfx8veZJCuw84e35h3Cfd9VFqTh1DIvc= -github.com/prometheus/common v0.29.0 h1:3jqPBvKT4OHAbje2Ql7KeaaSicDBCxMYwEJU1zRJceE= github.com/prometheus/common v0.29.0/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= +github.com/prometheus/common v0.30.0/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= +github.com/prometheus/common v0.32.1/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= +github.com/prometheus/common v0.37.0/go.mod h1:phzohg0JFMnBEFGxTDbfu3QyL5GI8gTQJFhYO5B3mfA= +github.com/prometheus/common v0.42.0 h1:EKsfXEYo4JpWMHH5cg+KOUWeuJSov1Id8zGR8eeI1YM= +github.com/prometheus/common v0.42.0/go.mod h1:xBwqVerjNdUDjgODMpudtOMwlOwf2SaTr1yjz4b7Zbc= +github.com/prometheus/procfs v0.0.0-20180125133057-cb4147076ac7/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= +github.com/prometheus/procfs v0.0.0-20180725123919-05ee40e3a273/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.0-20190117184657-bf6a532e95b1/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.0-20190507164030-5867b95ac084/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= +github.com/prometheus/procfs v0.0.0-20190522114515-bc1a522cf7b1/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= +github.com/prometheus/procfs v0.0.3/go.mod h1:4A/X28fw3Fc593LaREMrKMqOKvUAntwMDaekg4FpcdQ= +github.com/prometheus/procfs v0.0.5/go.mod h1:4A/X28fw3Fc593LaREMrKMqOKvUAntwMDaekg4FpcdQ= github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+GxbHq6oeK9A= github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= github.com/prometheus/procfs v0.2.0/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= github.com/prometheus/procfs v0.3.0/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= -github.com/prometheus/procfs v0.6.0 h1:mxy4L2jP6qMonqmq+aTtOx1ifVWUgG/TAmntgbh3xv4= 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.9.0 h1:wzCHvIvM5SxWqYvwgVL7yJY8Lz3PKn49KQtpgMYJfhI= +github.com/prometheus/procfs v0.9.0/go.mod h1:+pB4zwohETzFnmlpe6yd2lSc+0/46IYZRB/chUwxUZY= github.com/prometheus/tsdb v0.6.2-0.20190402121629-4f204dcbc150/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= 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-consistent v0.0.0-20190521200055-c6f3937de18c/go.mod h1:5STLWrekHfjyYwxBRVRXNOSewLJ3PWfDJd1VyTS21fI= +github.com/quasilyte/go-ruleguard v0.1.2-0.20200318202121-b00d7a75d3d8/go.mod h1:CGFX09Ci3pq9QZdj86B+VGIdNj4VyCo2iPOGS9esB/k= github.com/quasilyte/go-ruleguard v0.3.1-0.20210203134552-1b5a410e1cc8/go.mod h1:KsAh3x0e7Fkpgs+Q9pNLS5XpFSvYCEVl5gP9Pp1xp30= github.com/quasilyte/go-ruleguard v0.3.4/go.mod h1:57FZgMnoo6jqxkYKmVj5Fc8vOt0rVzoE/UNAmFFIPqA= +github.com/quasilyte/go-ruleguard v0.3.18/go.mod h1:lOIzcYlgxrQ2sGJ735EHXmf/e9MJ516j16K/Ifcttvs= github.com/quasilyte/go-ruleguard/dsl v0.3.0/go.mod h1:KeCP03KrjuSO0H1kTuZQCWlQPulDV6YMIXmpQss17rU= github.com/quasilyte/go-ruleguard/dsl v0.3.2/go.mod h1:KeCP03KrjuSO0H1kTuZQCWlQPulDV6YMIXmpQss17rU= +github.com/quasilyte/go-ruleguard/dsl v0.3.21/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-20210203162857-b223e0831f88/go.mod h1:4cgAphtvu7Ftv7vOT2ZOYhC6CvBxZixcasr8qIOTA50= +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/regex/syntax v0.0.0-20200407221936-30656e2c4a95/go.mod h1:rlzQ04UMyJXu/aOvhd8qT+hvDrFpiwqp8MRXDY9szc0= +github.com/quasilyte/stdinfo v0.0.0-20220114132959-f7386bf02567/go.mod h1:DWNGW8A4Y+GyBgPuaQJuWiy0XYftx4Xm/y5Jqk9I6VQ= github.com/rakyll/statik v0.1.7 h1:OF3QCZUuyPxuGEP7B4ypUa7sB/iHtqOTDYZXGM8KOdQ= github.com/rakyll/statik v0.1.7/go.mod h1:AlZONWzMtEnMs7W4e/1LURLiI49pIMmp6V9Unghqrcc= github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= -github.com/rcrowley/go-metrics v0.0.0-20200313005456-10cdbea86bc0 h1:MkV+77GLUNo5oJ0jf870itWm3D0Sjh7+Za9gazKc5LQ= -github.com/rcrowley/go-metrics v0.0.0-20200313005456-10cdbea86bc0/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= +github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 h1:N/ElC8H3+5XpJzTSTfLsJV/mx9Q9g7kxmchpfZyxgzM= +github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= github.com/regen-network/cosmos-proto v0.3.1 h1:rV7iM4SSFAagvy8RiyhiACbWEGotmqzywPxOvwMdxcg= github.com/regen-network/cosmos-proto v0.3.1/go.mod h1:jO0sVX6a1B36nmE8C9xBFXpNwWejXC7QqCOnH3O0+YM= 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/remyoudompheng/bigfft v0.0.0-20170806203942-52369c62f446/go.mod h1:uYEyJGbgTkfkS4+E/PavXkNJcbFIpEtjt2B0KDQ5+9M= +github.com/remyoudompheng/go-dbus v0.0.0-20121104212943-b7232d34b1d5/go.mod h1:+u151txRmLpwxBmpYn9z3d1sdJdjRPQpsXuYeY9jNls= +github.com/remyoudompheng/go-liblzma v0.0.0-20190506200333-81bf2d431b96/go.mod h1:90HvCY7+oHHUKkbeMCiHt1WuFR2/hPJ9QrljDG+v6ls= +github.com/remyoudompheng/go-misc v0.0.0-20190427085024-2d6ac652a50e/go.mod h1:80FQABjoFzZ2M5uEa6FUaJYEmqU2UOKojlFVak1UAwI= +github.com/retailnext/hllpp v1.0.1-0.20180308014038-101a6d2f8b52/go.mod h1:RDpi1RftBQPUCDRw6SmxeaREsAaRKnOclghuzp/WRzc= github.com/rjeczalik/notify v0.9.1/go.mod h1:rKwnCoCGeuQnwBtTSPL9Dad03Vh2n40ePRrjvIXnJho= github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= +github.com/rogpeppe/fastuuid v1.1.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= +github.com/rogpeppe/go-internal v1.5.2/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= +github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= github.com/rogpeppe/go-internal v1.6.2/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= +github.com/rogpeppe/go-internal v1.8.1/go.mod h1:JeRgkft04UBgHMgCIwADu4Pn6Mtm5d4nPKWu0nJ5d+o= +github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8= +github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= github.com/rs/cors v0.0.0-20160617231935-a62a804a8a00/go.mod h1:gFx+x8UowdsKA9AchylcLynDq+nNFfI8FkUZdN/jGCU= -github.com/rs/cors v1.7.0 h1:+88SsELBHx5r+hZ8TCkggzSstaWNbDvThkVK8H6f9ik= github.com/rs/cors v1.7.0/go.mod h1:gFx+x8UowdsKA9AchylcLynDq+nNFfI8FkUZdN/jGCU= +github.com/rs/cors v1.8.2 h1:KCooALfAYGs415Cwu5ABvv9n9509fSiG5SQJn/AQo4U= +github.com/rs/cors v1.8.2/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU= github.com/rs/xhandler v0.0.0-20160618193221-ed27b6fd6521/go.mod h1:RvLn4FgxWubrpZHtQLnOf6EwhN2hEMusxZOhcW9H3UQ= github.com/rs/xid v1.2.1/go.mod h1:+uKXf+4Djp6Md1KODXJxgGQPKngRmWyn10oCKFzNHOQ= -github.com/rs/zerolog v1.23.0 h1:UskrK+saS9P9Y789yNNulYKdARjPZuS35B8gJF2x60g= +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.23.0/go.mod h1:6c7hFfxPOy7TacJc4Fcdi24/J0NKYGzjG8FWRI916Qo= +github.com/rs/zerolog v1.27.0/go.mod h1:7frBqO0oezxmnO7GF86FY++uy8I0Tk/If5ni1G9Qc0U= +github.com/rs/zerolog v1.29.1 h1:cO+d60CHkknCbvzEWxP0S9K6KqyTjrCNUy1LdQLCGPc= +github.com/rs/zerolog v1.29.1/go.mod h1:Le6ESbR7hc+DP6Lt1THiV8CQSdkkNrd3R0XbEgp3ZBU= +github.com/rubiojr/go-vhd v0.0.0-20160810183302-0bfd3b39853c/go.mod h1:DM5xW0nvfNNm2uytzsvhI3OnX8uzaRAg8UX/CnDqbto= github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g= +github.com/russross/blackfriday v1.6.0/go.mod h1:ti0ldHuxg49ri4ksnFxlkCfN+hvslNlmVHqNRXXJNAY= github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= +github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= +github.com/ryancurrah/gomodguard v1.0.4/go.mod h1:9T/Cfuxs5StfsocWr4WzDL36HqnX0fVb9d5fSEaLhoE= +github.com/ryancurrah/gomodguard v1.1.0/go.mod h1:4O8tr7hBODaGE6VIhfJDHcwzh5GUccKSJBU0UMXJFVM= github.com/ryancurrah/gomodguard v1.2.3/go.mod h1:rYbA/4Tg5c54mV1sv4sQTP5WOPBcoLtnBZ7/TEhXAbg= +github.com/ryancurrah/gomodguard v1.2.4/go.mod h1:+Kem4VjWwvFpUJRJSwa16s1tBJe+vbv02+naTow2f6M= github.com/ryanrolds/sqlclosecheck v0.3.0/go.mod h1:1gREqxyTGR3lVtpngyFo3hZAgk0KCtEdgEkHwDbigdA= github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= +github.com/safchain/ethtool v0.0.0-20190326074333-42ed695e3de8/go.mod h1:Z0q5wiBQGYcxhMZ6gUqHn6pYNLypFAvaL3UvgZLR0U4= +github.com/safchain/ethtool v0.0.0-20210803160452-9aa261dae9b1/go.mod h1:Z0q5wiBQGYcxhMZ6gUqHn6pYNLypFAvaL3UvgZLR0U4= +github.com/sagikazarmark/crypt v0.3.0/go.mod h1:uD/D+6UF4SrIR1uGEv7bBNkNqLGqUr43MRiaGWX1Nig= +github.com/sagikazarmark/crypt v0.6.0/go.mod h1:U8+INwJo3nBv1m6A/8OBXAq7Jnpspk5AxSgDyEQcea8= +github.com/sagikazarmark/crypt v0.8.0/go.mod h1:TmKwZAo97S4Fy4sfMH/HX/cQP5D+ijra2NyLpNNmttY= github.com/samuel/go-zookeeper v0.0.0-20190923202752-2cc03de413da/go.mod h1:gi+0XIa01GRL2eRQVjQkKGqKF3SF9vZR/HnPullcV2E= github.com/sanposhiho/wastedassign/v2 v2.0.6/go.mod h1:KyZ0MWTwxxBmfwn33zh3k1dmsbF2ud9pAAGfoLfjhtI= -github.com/sasha-s/go-deadlock v0.2.0/go.mod h1:StQn567HiB1fF2yJ44N9au7wOhrPS3iZqiDbRupzT10= -github.com/sasha-s/go-deadlock v0.2.1-0.20190427202633-1595213edefa h1:0U2s5loxrTy6/VgfVoLuVLFJcURKLH49ie0zSch7gh4= -github.com/sasha-s/go-deadlock v0.2.1-0.20190427202633-1595213edefa/go.mod h1:F73l+cr82YSh10GxyRI6qZiCgK64VaZjwesgfQ1/iLM= +github.com/sasha-s/go-deadlock v0.3.1 h1:sqv7fDNShgjcaxkO0JNcOAlr8B9+cV5Ey/OB71efZx0= +github.com/sasha-s/go-deadlock v0.3.1/go.mod h1:F73l+cr82YSh10GxyRI6qZiCgK64VaZjwesgfQ1/iLM= +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/sassoftware/go-rpmutils v0.0.0-20190420191620-a8f1baeba37b/go.mod h1:am+Fp8Bt506lA3Rk3QCmSqmYmLMnPDhdDUcosQCAx+I= +github.com/satori/go.uuid v1.2.0/go.mod h1:dA0hQrYB0VpLJoorglMZABFdXlWrHn1NEOzdhQKdks0= +github.com/sclevine/agouti v3.0.0+incompatible/go.mod h1:b4WX9W9L1sfQKXeJf1mUTLZKJ48R1S7H23Ji7oFO5Bw= +github.com/sclevine/spec v1.2.0/go.mod h1:W4J29eT/Kzv7/b9IWLB055Z+qvVC9vt0Arko24q7p+U= github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc= github.com/seccomp/libseccomp-golang v0.9.1/go.mod h1:GbW5+tmTXfcxTToHLXlScSlAvWlF4P2Ca7zGrPiEpWo= +github.com/seccomp/libseccomp-golang v0.9.2-0.20210429002308-3879420cc921/go.mod h1:JA8cRccbGaA1s33RQf7Y1+q9gHmZX1yB/z9WDN1C6fg= +github.com/seccomp/libseccomp-golang v0.9.2-0.20220502022130-f33da4d89646/go.mod h1:JA8cRccbGaA1s33RQf7Y1+q9gHmZX1yB/z9WDN1C6fg= +github.com/securego/gosec v0.0.0-20200103095621-79fbf3af8d83/go.mod h1:vvbZ2Ae7AzSq3/kywjUDxSNq2SJ27RxCz2un0H3ePqE= +github.com/securego/gosec v0.0.0-20200401082031-e946c8c39989/go.mod h1:i9l/TNj+yDFh9SZXUTvspXTjbFXgZGP/UvhU1S65A4A= +github.com/securego/gosec/v2 v2.3.0/go.mod h1:UzeVyUXbxukhLeHKV3VVqo7HdoQR9MrRfFmZYotn8ME= github.com/securego/gosec/v2 v2.8.1/go.mod h1:pUmsq6+VyFEElJMUX+QB3p3LWNHXg1R3xh2ssVJPs8Q= +github.com/securego/gosec/v2 v2.13.1/go.mod h1:EO1sImBMBWFjOTFzMWfTRrZW6M15gm60ljzrmy/wtHo= github.com/segmentio/fasthash v1.0.3/go.mod h1:waKX8l2N8yckOgmSsXJi7x1ZfdKZ4x7KRMzBtS3oedY= +github.com/segmentio/kafka-go v0.1.0/go.mod h1:X6itGqS9L4jDletMsxZ7Dz+JFWxM6JHfPOCvTvk+EJo= +github.com/segmentio/kafka-go v0.2.0/go.mod h1:X6itGqS9L4jDletMsxZ7Dz+JFWxM6JHfPOCvTvk+EJo= +github.com/sergi/go-diff v1.0.0/go.mod h1:0CfEIISq7TuYL3j771MWULgwwjU+GofnZX9QAmXWZgo= 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/serialx/hashring v0.0.0-20190422032157-8b2912629002/go.mod h1:/yeG0My1xr/u+HZrFQ1tOQQQQrOawfyMUH13ai5brBc= github.com/shazow/go-diff v0.0.0-20160112020656-b6b7b6733b8c/go.mod h1:/PevMnwAxekIXwN8qQyfc5gl2NlkB3CQlkizAbOkeBs= +github.com/shirou/gopsutil v0.0.0-20190901111213-e4ec7b275ada/go.mod h1:WWnYX4lzhCH5h/3YBfyVA3VbLYjlMZZAQcW9ojMexNc= github.com/shirou/gopsutil v2.20.5+incompatible/go.mod h1:5b4v6he4MtMOwMlS0TUMTu2PcXUg8+E1lC7eC3UO/RA= +github.com/shirou/gopsutil v3.21.4-0.20210419000835-c7a38de76ee5+incompatible/go.mod h1:5b4v6he4MtMOwMlS0TUMTu2PcXUg8+E1lC7eC3UO/RA= github.com/shirou/gopsutil/v3 v3.21.7/go.mod h1:RGl11Y7XMTQPmHh8F0ayC6haKNBgH4PXMJuTAcMOlz4= +github.com/shirou/gopsutil/v3 v3.22.9/go.mod h1:bBYl1kjgEJpWpxeHmLI+dVHWtyAwfcmSBLDsp2TNT8A= +github.com/shirou/w32 v0.0.0-20160930032740-bb4de0191aa4/go.mod h1:qsXQc7+bwAM3Q1u/4XEfrquwF8Lw7D7y5cD8CuHnfIc= 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/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= +github.com/sirupsen/logrus v1.0.4-0.20170822132746-89742aefa4b2/go.mod h1:pMByvHTf9Beacp5x1UXfOR9xyW/9antXMhjMPG0dEzc= +github.com/sirupsen/logrus v1.0.6/go.mod h1:pMByvHTf9Beacp5x1UXfOR9xyW/9antXMhjMPG0dEzc= github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q= github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88= github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= -github.com/sirupsen/logrus v1.8.1 h1:dJKuHgqk1NNQlqoA6BTlM1Wf9DOH3NBjQyu0h9+AZZE= github.com/sirupsen/logrus v1.8.1/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= -github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d h1:zE9ykElWQ6/NYmHa3jpm/yHnI4xSofP+UP6SpjHcSeM= +github.com/sirupsen/logrus v1.9.0 h1:trlNQbNUG3OdDrDil03MCb1H2o9nJ1x4/5LYw7byDE0= +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/nosnakecase v1.7.0/go.mod h1:CwDzrzPea40/GB6uynrNLiorAlgFRvRbFSgJx2Gs+QY= +github.com/sivchari/tenv v1.7.0/go.mod h1:64yStXKSOxDfX47NlhVwND4dHwfZDdbp2Lyl018Icvg= +github.com/skeema/knownhosts v1.1.0/go.mod h1:sKFq3RD6/TKZkSWn8boUbDC7Qkgcv+8XXijpFO6roag= github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= -github.com/smartystreets/goconvey v1.6.4 h1:fv0U8FUIMPNf1L9lnHLvLhgicrIVChEkdzIKYqbNC9s= +github.com/smartystreets/assertions v1.0.0/go.mod h1:kHHU4qYBaI3q23Pp3VPrmWhuIUrLW/7eUrw0BU5VaoM= +github.com/smartystreets/go-aws-auth v0.0.0-20180515143844-0c1422d1fdb9/go.mod h1:SnhjPscd9TpLiy1LpzGSKh3bXCfxxXuqd9xmQJy3slM= +github.com/smartystreets/goconvey v0.0.0-20190330032615-68dc04aab96a/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= +github.com/smartystreets/gunit v1.0.0/go.mod h1:qwPWnhz6pn0NnRBP++URONOVyNkPyr4SauJk4cUOwJs= github.com/snikch/goodman v0.0.0-20171125024755-10e37e294daa/go.mod h1:oJyF+mSPHbB5mVY2iO9KV3pTt/QbIkGaO8gQ2WrDbP4= github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM= +github.com/soheilhy/cmux v0.1.5/go.mod h1:T7TcVDs9LWfQgPlPsdngu6I6QIoyIFZDDC6sNE1GqG0= github.com/sonatard/noctx v0.0.1/go.mod h1:9D2D/EoULe8Yy2joDHJj7bv3sZoq9AaSb8B4lqBjiZI= github.com/sony/gobreaker v0.4.1/go.mod h1:ZKptC7FHNvhBz7dN2LGjPVBz2sZJmc0/PkyDJOjmxWY= +github.com/sourcegraph/go-diff v0.5.1/go.mod h1:j2dHj3m8aZgQO8lMTcTnBcXkRRRqi34cd2MNlA9u1mE= +github.com/sourcegraph/go-diff v0.5.3/go.mod h1:v9JDtjCE4HHHCZGId75rg8gkKKa98RVjBcBGsVmMmak= github.com/sourcegraph/go-diff v0.6.1/go.mod h1:iBszgVvyxdc8SFZ7gm69go2KDdt3ag071iBaWPF6cjs= github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/spaolacci/murmur3 v1.1.0 h1:7c1g84S4BPRrfL5Xrdp6fOJ206sU9y293DDHaoy0bLI= github.com/spaolacci/murmur3 v1.1.0/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ= -github.com/spf13/afero v1.6.0 h1:xoax2sJ2DT8S8xA2paPFjDCScCNeWsg75VG0DLRreiY= +github.com/spf13/afero v1.2.2/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk= +github.com/spf13/afero v1.3.3/go.mod h1:5KUK8ByomD5Ti5Artl0RtHeI5pTF7MIDuXL3yY520V4= github.com/spf13/afero v1.6.0/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z93I= +github.com/spf13/afero v1.8.2/go.mod h1:CtAatgMJh6bJEIs48Ay/FOnkljP3WeGUG0MC1RfAqwo= +github.com/spf13/afero v1.9.2 h1:j49Hj62F0n+DaZ1dDCvhABaPNSGNkt32oRFxI33IEMw= +github.com/spf13/afero v1.9.2/go.mod h1:iUV7ddyEEZPO5gA3zD4fJt6iStLlL+Lg4m2cihcDf8Y= github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= -github.com/spf13/cast v1.3.1 h1:nFm6S0SMdyzrzcmThSipiEubIDy8WEXKNZ0UOgiRpng= github.com/spf13/cast v1.3.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= +github.com/spf13/cast v1.4.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= +github.com/spf13/cast v1.5.0 h1:rj3WzYc11XZaIZMPKmwP96zkFEnnAmV8s6XbB2aY32w= +github.com/spf13/cast v1.5.0/go.mod h1:SpXXQ5YoyJw6s3/6cMTQuxvgRl3PCJiyaX9p6b155UU= +github.com/spf13/cobra v0.0.2-0.20171109065643-2da4a54c5cee/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= github.com/spf13/cobra v0.0.5/go.mod h1:3K3wKZymM7VvHMDS9+Akkh4K60UwM26emMESw8tLCHU= github.com/spf13/cobra v1.0.0/go.mod h1:/6GTrnGXV9HjY+aR4k0oJ5tcvakLuG6EuKReYlHNrgE= -github.com/spf13/cobra v1.1.1/go.mod h1:WnodtKOvamDL/PwE2M4iKs8aMDBZ5Q5klgD3qfVJQMI= -github.com/spf13/cobra v1.2.1 h1:+KmjbUw1hriSNMF55oPrkZcb27aECyrj8V2ytv7kWDw= +github.com/spf13/cobra v1.1.3/go.mod h1:pGADOWyqRD/YMrPZigI/zbliZ2wVD/23d+is3pSWzOo= github.com/spf13/cobra v1.2.1/go.mod h1:ExllRjgxM/piMAM+3tAZvg8fsklGAf3tPfi+i8t68Nk= +github.com/spf13/cobra v1.3.0/go.mod h1:BrRVncBjOJa/eUcVVm9CE+oC6as8k+VYr4NY7WCi9V4= +github.com/spf13/cobra v1.4.0/go.mod h1:Wo4iy3BUC+X2Fybo0PDqwJIv3dNRiZLHQymsfxlB84g= +github.com/spf13/cobra v1.6.0/go.mod h1:IOw/AERYS7UzyrGinqmz6HLUo219MORXGxhbaJUqzrY= +github.com/spf13/cobra v1.6.1 h1:o94oiPyS4KD1mPy2fmcYYHHfCxLqYjJOhGsCHFZtEzA= +github.com/spf13/cobra v1.6.1/go.mod h1:IOw/AERYS7UzyrGinqmz6HLUo219MORXGxhbaJUqzrY= github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= github.com/spf13/jwalterweatherman v1.1.0 h1:ue6voC5bR5F8YxI5S67j9i582FU4Qvo2bmqnqMYADFk= github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo= +github.com/spf13/pflag v0.0.0-20170130214245-9ff6c6923cff/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= +github.com/spf13/pflag v1.0.1-0.20171106142849-4c012f6dcd95/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/spf13/pflag v1.0.1/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/spf13/viper v1.3.2/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DMA2s= github.com/spf13/viper v1.4.0/go.mod h1:PTJ7Z/lr49W6bUbkmS1V3by4uWynFiR9p7+dSq/yZzE= +github.com/spf13/viper v1.6.1/go.mod h1:t3iDnF5Jlj76alVNuyFBk5oUMCvsrkbvZK0WQdfDi5k= github.com/spf13/viper v1.7.0/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg= github.com/spf13/viper v1.7.1/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg= -github.com/spf13/viper v1.8.1 h1:Kq1fyeebqsBfbjZj4EL7gj2IO0mMaiyjYUWcUsl2O44= github.com/spf13/viper v1.8.1/go.mod h1:o0Pch8wJ9BVSWGQMbra6iw0oQ5oktSIBaujf1rJH9Ns= +github.com/spf13/viper v1.10.0/go.mod h1:SoyBPwAtKDzypXNDFKN5kzH7ppppbGZtls1UpIy5AsM= +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.14.0 h1:Rg7d3Lo706X9tHsJMUjdiwMpHB7W8WnSVOssIY+JElU= +github.com/spf13/viper v1.14.0/go.mod h1:WT//axPky3FdvXHzGw33dNdXXXfFQqmEalje+egj8As= github.com/ssgreg/nlreturn/v2 v2.1.0/go.mod h1:E/iiPB78hV7Szg2YfRgyIrk1AD6JVMTRkkxBiELzh2I= +github.com/ssgreg/nlreturn/v2 v2.2.1/go.mod h1:E/iiPB78hV7Szg2YfRgyIrk1AD6JVMTRkkxBiELzh2I= github.com/status-im/keycard-go v0.0.0-20190316090335-8537d3370df4/go.mod h1:RZLeN1LMWmRsyYjvAu+I6Dm9QmlDaIIt+Y+4Kd7Tp+Q= +github.com/stbenjam/no-sprintf-host-port v0.1.1/go.mod h1:TLhvtIvONRzdmkFiio4O8LHsN9N74I+PhRquPsxpL0I= github.com/steakknife/bloomfilter v0.0.0-20180922174646-6819c0d2a570/go.mod h1:8OR4w3TdeIHIh1g6EMY5p0gVNOovcWC+1vpc7naMuAw= github.com/steakknife/hamming v0.0.0-20180906055917-c99c65617cd3/go.mod h1:hpGUWaI9xL8pRQCTXQgocU38Qw1g0Us7n5PxxTwTCYU= +github.com/stefanberger/go-pkcs11uri v0.0.0-20201008174630-78d3cae3a980/go.mod h1:AO3tvPzVZ/ayst6UlUKUv6rcPQInYe3IknH3jYhAKu8= +github.com/stoewer/go-strcase v1.2.0/go.mod h1:IBiWB2sKIp3wVVQ3Y035++gc+knqhUQag1KpM8ahLw8= github.com/streadway/amqp v0.0.0-20190404075320-75d898a42a94/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw= github.com/streadway/amqp v0.0.0-20190827072141-edfb9018d271/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw= +github.com/streadway/amqp v1.0.0/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw= github.com/streadway/handy v0.0.0-20190108123426-d5acb3125c2a/go.mod h1:qNTQ5P5JnDBl6z3cMAg/SywNDC5ABu5ApDIw6lUbRmI= +github.com/streadway/handy v0.0.0-20200128134331-0f66f006fb2e/go.mod h1:qNTQ5P5JnDBl6z3cMAg/SywNDC5ABu5ApDIw6lUbRmI= +github.com/stretchr/objx v0.0.0-20180129172003-8a3f7159479f/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.2.0 h1:Hbg2NidpLE8veEBkEZTL3CvlkUIVzuU9jDplZO54c48= github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE= +github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= +github.com/stretchr/objx v0.5.0 h1:1zr/of2m5FGMsad5YfcqgdqdWrIhu+EBEJRhR1U7z/c= +github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= +github.com/stretchr/testify v0.0.0-20151208002404-e3a8ff8ce365/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v0.0.0-20170130113145-4d4bfba8f1d1/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= +github.com/stretchr/testify v0.0.0-20180303142811-b89eecf5ca5d/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.1.4/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= +github.com/stretchr/testify v1.2.0/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/subosito/gotenv v1.2.0 h1:Slr1R9HxAlEKefgq5jn9U+DnETlIUa6HfgEzj0g5d7s= +github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.7.2/go.mod h1:R6va5+xMeoiuVRoj+gSkQ7d3FALtqAAGI1FQKckRals= +github.com/stretchr/testify v1.7.5/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= +github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= +github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= +github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= +github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw= +github.com/subosito/gotenv v1.3.0/go.mod h1:YzJjq/33h7nrwdY+iHMhEOEEbW0ovIz0tB6t6PwAXzs= +github.com/subosito/gotenv v1.4.0/go.mod h1:mZd6rFysKEcUhUHXJk0C/08wAgyDBFuwEYL7vWWGaGo= +github.com/subosito/gotenv v1.4.1 h1:jyEFiXpy21Wm81FBN71l9VoMMV8H8jG+qIK3GCpY6Qs= +github.com/subosito/gotenv v1.4.1/go.mod h1:ayKnFf/c6rvx/2iiLrJUk1e6plDbT3edrFNGqEflhK0= +github.com/syndtr/gocapability v0.0.0-20170704070218-db04d3cc01c8/go.mod h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww= +github.com/syndtr/gocapability v0.0.0-20180916011248-d98352740cb2/go.mod h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww= github.com/syndtr/gocapability v0.0.0-20200815063812-42c35b437635/go.mod h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww= -github.com/syndtr/goleveldb v1.0.1-0.20200815110645-5c35d600f0ca h1:Ld/zXl5t4+D69SiV4JoN7kkfvJdOWlPpfxrzxpLMoUk= -github.com/syndtr/goleveldb v1.0.1-0.20200815110645-5c35d600f0ca/go.mod h1:u2MKkTVTVJWe5D1rCvame8WqhBd88EuIwODJZ1VHCPM= +github.com/syndtr/goleveldb v1.0.1-0.20210819022825-2ae1ddf74ef7 h1:epCh84lMvA70Z7CTTCmYQn2CKbY8j86K7/FAIr141uY= +github.com/syndtr/goleveldb v1.0.1-0.20210819022825-2ae1ddf74ef7/go.mod h1:q4W45IWZaF22tdD+VEXcAWRA037jwmWEB5VWYORlTpc= +github.com/tarm/serial v0.0.0-20180830185346-98f6abe2eb07/go.mod h1:kDXzergiv9cbyO7IOYJZWg1U88JhDg3PB6klq9Hg2pA= +github.com/tchap/go-patricia v2.2.6+incompatible/go.mod h1:bmLyhP68RS6kStMGxByiQ23RP/odRBOTVjwp2cDyi6I= +github.com/tdakkota/asciicheck v0.0.0-20200416190851-d7f85be797a2/go.mod h1:yHp0ai0Z9gUljN3o0xMhYJnH/IcvkdTBOX2fmJ93JEM= github.com/tdakkota/asciicheck v0.0.0-20200416200610-e657995f937b/go.mod h1:yHp0ai0Z9gUljN3o0xMhYJnH/IcvkdTBOX2fmJ93JEM= +github.com/tdakkota/asciicheck v0.1.1/go.mod h1:yHp0ai0Z9gUljN3o0xMhYJnH/IcvkdTBOX2fmJ93JEM= github.com/tecbot/gorocksdb v0.0.0-20191217155057-f0fad39f321c h1:g+WoO5jjkqGAzHWCjJB1zZfXPIAaDpzXIEJ0eS6B5Ok= github.com/tecbot/gorocksdb v0.0.0-20191217155057-f0fad39f321c/go.mod h1:ahpPrc7HpcfEWDQRZEmnXMzHY03mLDYMCxeDzy46i+8= -github.com/tendermint/btcd v0.1.1 h1:0VcxPfflS2zZ3RiOAHkBiFUcPvbtRj5O7zHmcJWHV7s= github.com/tendermint/btcd v0.1.1/go.mod h1:DC6/m53jtQzr/NFmMNEu0rxf18/ktVoVtMrnDD5pN+U= -github.com/tendermint/crypto v0.0.0-20191022145703-50d29ede1e15 h1:hqAk8riJvK4RMWx1aInLzndwxKalgi5rTqgfXxOxbEI= github.com/tendermint/crypto v0.0.0-20191022145703-50d29ede1e15/go.mod h1:z4YtwM70uOnk8h0pjJYlj3zdYwi9l03By6iAIF5j/Pk= github.com/tendermint/go-amino v0.16.0 h1:GyhmgQKvqF82e2oZeuMSp9JTN0N09emoSZlb2lyGa2E= github.com/tendermint/go-amino v0.16.0/go.mod h1:TQU0M1i/ImAo+tYpZi73AU3V/dKeCoMC9Sphe2ZwGME= github.com/tendermint/spm v0.1.9 h1:O1DJF4evS8wgk5SZqRcO29irNNtKQmTpvQ0xFzUiczI= github.com/tendermint/spm v0.1.9/go.mod h1:iHgfQ5YOI6ONc9E7ugGQolVdfSMHpeXfZ/OpXuN/42Q= -github.com/tendermint/tendermint v0.34.0-rc4/go.mod h1:yotsojf2C1QBOw4dZrTcxbyxmPUrT4hNuOQWX9XUwB4= -github.com/tendermint/tendermint v0.34.0-rc6/go.mod h1:ugzyZO5foutZImv0Iyx/gOFCX6mjJTgbLHTwi17VDVg= -github.com/tendermint/tendermint v0.34.0/go.mod h1:Aj3PIipBFSNO21r+Lq3TtzQ+uKESxkbA3yo/INM4QwQ= -github.com/tendermint/tendermint v0.34.13/go.mod h1:6RVVRBqwtKhA+H59APKumO+B7Nye4QXSFc6+TYxAxCI= -github.com/tendermint/tendermint v0.34.14 h1:GCXmlS8Bqd2Ix3TQCpwYLUNHe+Y+QyJsm5YE+S/FkPo= -github.com/tendermint/tendermint v0.34.14/go.mod h1:FrwVm3TvsVicI9Z7FlucHV6Znfd5KBc/Lpp69cCwtk0= -github.com/tendermint/tm-db v0.6.2/go.mod h1:GYtQ67SUvATOcoY8/+x6ylk8Qo02BQyLrAs+yAcLvGI= -github.com/tendermint/tm-db v0.6.3/go.mod h1:lfA1dL9/Y/Y8wwyPp2NMLyn5P5Ptr/gvDFNWtrCWSf8= -github.com/tendermint/tm-db v0.6.4 h1:3N2jlnYQkXNQclQwd/eKV/NzlqPlfK21cpRRIx80XXQ= github.com/tendermint/tm-db v0.6.4/go.mod h1:dptYhIpJ2M5kUuenLr+Yyf3zQOv1SgBZcl8/BmWlMBw= +github.com/tendermint/tm-db v0.6.7 h1:fE00Cbl0jayAoqlExN6oyQJ7fR/ZtoVOmvPJ//+shu8= +github.com/tendermint/tm-db v0.6.7/go.mod h1:byQDzFkZV1syXr/ReXS808NxA2xvyuuVgXOJ/088L6I= +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 v0.3.7/go.mod h1:/7NLHhv08H1+8DNj0MElpAACw1ajsCuf3TKNQxA5S+0= +github.com/tetafro/godot v0.4.2/go.mod h1:/7NLHhv08H1+8DNj0MElpAACw1ajsCuf3TKNQxA5S+0= github.com/tetafro/godot v1.4.9/go.mod h1:LR3CJpxDVGlYOWn3ZZg1PgNZdTUvzsZWu8xaEohUpn8= +github.com/tetafro/godot v1.4.11/go.mod h1:LR3CJpxDVGlYOWn3ZZg1PgNZdTUvzsZWu8xaEohUpn8= +github.com/tidwall/btree v1.5.0 h1:iV0yVY/frd7r6qGBXfEYs7DH0gTDgrKTrDjS7xt/IyQ= +github.com/tidwall/btree v1.5.0/go.mod h1:LGm8L/DZjPLmeWGjv5kFrY8dL4uVhMmzmmLYmsObdKE= github.com/tidwall/gjson v1.6.7/go.mod h1:zeFuBCIqD4sN/gmqBzZ4j7Jd6UcA2Fc56x7QFsv+8fI= +github.com/tidwall/gjson v1.12.1/go.mod h1:/wbyibRr2FHMks5tjHJ5F8dMZh3AcwJEMf5vlfC0lxk= +github.com/tidwall/gjson v1.14.0/go.mod h1:/wbyibRr2FHMks5tjHJ5F8dMZh3AcwJEMf5vlfC0lxk= github.com/tidwall/match v1.0.3/go.mod h1:eRSPERbgtNPcGhD8UCthc6PmLEQXEWd3PRB5JTxsfmM= +github.com/tidwall/match v1.1.1/go.mod h1:eRSPERbgtNPcGhD8UCthc6PmLEQXEWd3PRB5JTxsfmM= github.com/tidwall/pretty v1.0.2/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk= +github.com/tidwall/pretty v1.2.0/go.mod h1:ITEVvHYasfjBbM0u2Pg8T2nJnzm8xPwvNhhsoaGGjNU= github.com/tidwall/sjson v1.1.4/go.mod h1:wXpKXu8CtDjKAZ+3DrKY5ROCorDFahq8l0tey/Lx1fg= +github.com/tidwall/sjson v1.2.4/go.mod h1:098SZ494YoMWPmMO6ct4dcFnqxwj9r/gF0Etp19pSNM= +github.com/timakin/bodyclose v0.0.0-20190930140734-f7f2e9bca95e/go.mod h1:Qimiffbc6q9tBWlVV6x0P9sat/ao1xEkREYPPj9hphk= github.com/timakin/bodyclose v0.0.0-20200424151742-cb6215831a94/go.mod h1:Qimiffbc6q9tBWlVV6x0P9sat/ao1xEkREYPPj9hphk= +github.com/timakin/bodyclose v0.0.0-20210704033933-f49887972144/go.mod h1:Qimiffbc6q9tBWlVV6x0P9sat/ao1xEkREYPPj9hphk= +github.com/timonwong/loggercheck v0.9.3/go.mod h1:wUqnk9yAOIKtGA39l1KLE9Iz0QiTocu/YZoOf+OzFdw= +github.com/tinylib/msgp v1.0.2/go.mod h1:+d+yLhGm8mzTaHzB+wgMYrodPfmZrzkirds8fDWklFE= +github.com/tinylib/msgp v1.1.5/go.mod h1:eQsjooMTnV42mHu917E26IogZ2930nFyBQdofk10Udg= +github.com/tj/assert v0.0.0-20171129193455-018094318fb0/go.mod h1:mZ9/Rh9oLWpLLDRpvE+3b7gP/C2YyLFYxNmcLnPTMe0= +github.com/tj/go-elastic v0.0.0-20171221160941-36157cbbebc2/go.mod h1:WjeM0Oo1eNAjXGDx2yma7uG2XoyRZTq1uv3M/o7imD0= +github.com/tj/go-kinesis v0.0.0-20171128231115-08b17f58cb1b/go.mod h1:/yhzCV0xPfx6jb1bBgRFjl5lytqVqZXEaeqWP8lTEao= +github.com/tj/go-spin v1.1.0/go.mod h1:Mg1mzmePZm4dva8Qz60H2lHwmJ2loum4VIrLgVnKwh4= +github.com/tklauser/go-sysconf v0.3.5/go.mod h1:MkWzOF4RMCshBAMXuhXJs64Rte09mITnppBXY/rYEFI= github.com/tklauser/go-sysconf v0.3.7/go.mod h1:JZIdXh4RmBvZDBZ41ld2bGxRV3n4daiiqA3skYhAoQ4= +github.com/tklauser/go-sysconf v0.3.10/go.mod h1:C8XykCvCb+Gn0oNCWPIlcb0RuglQTYaQ2hGm7jmxEFk= +github.com/tklauser/numcpus v0.2.2/go.mod h1:x3qojaO3uyYt0i56EW/VUYs7uBvdl2fkfZFu0T9wgjM= github.com/tklauser/numcpus v0.2.3/go.mod h1:vpEPS/JC+oZGGQ/My/vJnNsvMDQL6PwOqt8dsCw5j+E= +github.com/tklauser/numcpus v0.4.0/go.mod h1:1+UI3pD8NW14VMwdgJNJ1ESk2UnwhAnz5hMwiKKqXCQ= github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= 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/tmc/grpc-websocket-proxy v0.0.0-20201229170055-e5319fda7802/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= github.com/tomarrell/wrapcheck/v2 v2.3.0/go.mod h1:aF5rnkdtqNWP/gC7vPUO5pKsB0Oac2FDTQP4F+dpZMU= +github.com/tomarrell/wrapcheck/v2 v2.7.0/go.mod h1:ao7l5p0aOlUNJKI0qVwB4Yjlqutd0IvAB9Rdwyilxvg= github.com/tomasen/realip v0.0.0-20180522021738-f0c99a92ddce/go.mod h1:o8v6yHRoik09Xen7gje4m9ERNah1d1PPsVq1VEx9vE4= +github.com/tommy-muehle/go-mnd v1.1.1/go.mod h1:dSUh0FtTP8VhvkL1S+gUR1OKd9ZnSaozuI6r3m6wOig= +github.com/tommy-muehle/go-mnd v1.3.1-0.20200224220436-e6f9a994e8fa/go.mod h1:dSUh0FtTP8VhvkL1S+gUR1OKd9ZnSaozuI6r3m6wOig= github.com/tommy-muehle/go-mnd/v2 v2.4.0/go.mod h1:WsUAkMJMYww6l/ufffCD3m+P7LEvr8TnZn9lwVDlgzw= +github.com/tommy-muehle/go-mnd/v2 v2.5.1/go.mod h1:WsUAkMJMYww6l/ufffCD3m+P7LEvr8TnZn9lwVDlgzw= +github.com/tonistiigi/fsutil v0.0.0-20201103201449-0834f99b7b85/go.mod h1:a7cilN64dG941IOXfhJhlH0qB92hxJ9A1ewrdUmJ6xo= +github.com/tonistiigi/fsutil v0.0.0-20220115021204-b19f7f9cb274/go.mod h1:oPAfvw32vlUJSjyDcQ3Bu0nb2ON2B+G0dtVN/SZNJiA= +github.com/tonistiigi/go-actions-cache v0.0.0-20220404170428-0bdeb6e1eac7/go.mod h1:qqvyZqkfwkoJuPU/bw61bItaoO0SJ8YSW0vSVRRvsRg= +github.com/tonistiigi/go-archvariant v1.0.0/go.mod h1:TxFmO5VS6vMq2kvs3ht04iPXtu2rUT/erOnGFYfk5Ho= +github.com/tonistiigi/units v0.0.0-20180711220420-6950e57a87ea/go.mod h1:WPnis/6cRcDZSUvVmezrxJPkiO87ThFYsoUiMwWNDJk= +github.com/tonistiigi/vt100 v0.0.0-20210615222946-8066bb97264f/go.mod h1:ulncasL3N9uLrVann0m+CDlJKWsIAP34MPcOJF6VRvc= +github.com/ttacon/chalk v0.0.0-20160626202418-22c06c80ed31/go.mod h1:onvgF043R+lC5RZ8IT9rBXDaEDnpnw/Cl+HFiw+v/7Q= github.com/tv42/httpunix v0.0.0-20150427012821-b75d8614f926/go.mod h1:9ESjWnEqriFuLhtthL60Sar/7RFoluCcXsuvEwTV5KM= +github.com/tv42/httpunix v0.0.0-20191220191345-2ba4b9c3382c/go.mod h1:hzIxponao9Kjc7aWznkXaL4U4TWaDSs8zcsY4Ka08nM= github.com/tyler-smith/go-bip39 v1.0.1-0.20181017060643-dbb3b84ba2ef/go.mod h1:sJ5fKU0s6JVwZjjcUEX2zFOnvq0ASQ2K9Zr6cf67kNs= github.com/tyler-smith/go-bip39 v1.0.2/go.mod h1:sJ5fKU0s6JVwZjjcUEX2zFOnvq0ASQ2K9Zr6cf67kNs= +github.com/uber/jaeger-client-go v2.25.0+incompatible/go.mod h1:WVhlPFC8FDjOFMMWRy2pZqQJSXxYSwNYOkTr/Z6d3Kk= +github.com/uber/jaeger-lib v2.2.0+incompatible/go.mod h1:ComeNDZlWwrWnDv8aPp0Ba6+uUTzImX/AauajbLI56U= github.com/ugorji/go v1.1.4/go.mod h1:uQMGLiO92mf5W77hV/PUCpI3pbzQx3CRekS0kk+RGrc= github.com/ugorji/go v1.1.7 h1:/68gy2h+1mWMrwZFeD1kQialdSzAb432dtpeJ42ovdo= github.com/ugorji/go v1.1.7/go.mod h1:kZn38zHttfInRq0xu/PH0az30d+z6vm202qpg1oXVMw= github.com/ugorji/go/codec v0.0.0-20181204163529-d75b2dcb6bc8/go.mod h1:VFNgLljTbGfSG7qAOspJ7OScBnGdDN/yBr0sguwnwf0= github.com/ugorji/go/codec v1.1.7 h1:2SvQaVZ1ouYrrKKwoSk2pzd4A9evlKJb9oTL+OaLUSs= github.com/ugorji/go/codec v1.1.7/go.mod h1:Ax+UKWsSmolVDwsd+7N3ZtXu+yMGCf907BLYF3GoBXY= +github.com/ulikunitz/xz v0.5.6/go.mod h1:2bypXElzHzzJZwzH67Y6wb67pO62Rzfn7BSiF4ABRW8= +github.com/ulikunitz/xz v0.5.7/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14= +github.com/ulikunitz/xz v0.5.10 h1:t92gobL9l3HE202wg3rlk19F6X+JOxl9BBrCCMYEYd8= +github.com/ulikunitz/xz v0.5.10/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14= +github.com/ultraware/funlen v0.0.2/go.mod h1:Dp4UiAus7Wdb9KUZsYWZEWiRzGuM2kXM1lPbfaF6xhA= github.com/ultraware/funlen v0.0.3/go.mod h1:Dp4UiAus7Wdb9KUZsYWZEWiRzGuM2kXM1lPbfaF6xhA= github.com/ultraware/whitespace v0.0.4/go.mod h1:aVMh/gQve5Maj9hQ/hg+F75lr/X5A89uZnzAmWSineA= +github.com/ultraware/whitespace v0.0.5/go.mod h1:aVMh/gQve5Maj9hQ/hg+F75lr/X5A89uZnzAmWSineA= +github.com/urfave/cli v0.0.0-20171014202726-7bc6a0acffa5/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA= github.com/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA= github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= +github.com/urfave/cli v1.22.2/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= +github.com/urfave/cli v1.22.4/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= +github.com/urfave/cli/v2 v2.3.0/go.mod h1:LJmUH05zAU44vOAcrfzZQKsZbVcdbOG8rtL3/XcUArI= +github.com/uudashr/gocognit v1.0.1/go.mod h1:j44Ayx2KW4+oB6SWMv8KsmHzZrOInQav7D3cQMJ5JUM= github.com/uudashr/gocognit v1.0.5/go.mod h1:wgYz0mitoKOTysqxTDMOUXg+Jb5SvtihkfmugIZYpEA= +github.com/uudashr/gocognit v1.0.6/go.mod h1:nAIUuVBnYU7pcninia3BHOvQkpQCeO76Uscky5BOwcY= github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc= +github.com/valyala/fasthttp v1.2.0/go.mod h1:4vX61m6KN+xDduDNwXrhIAVZaZaZiQ1luJk8LWSxF3s= github.com/valyala/fasthttp v1.16.0/go.mod h1:YOKImeEosDdBPnxc0gy7INqi3m1zK6A+xl6TwOBhHCA= +github.com/valyala/fasthttp v1.30.0/go.mod h1:2rsYD01CKFrjjsvFxx75KlEUNpWNBY9JWD3K/7o2Cus= +github.com/valyala/fasttemplate v1.0.1/go.mod h1:UQGH1tvbgY+Nz5t2n7tXsz52dQxojPUpymEIMZ47gx8= +github.com/valyala/fasttemplate v1.2.1/go.mod h1:KHLXt3tVN2HBp8eijSv/kGJopbvo7S+qRAEEKiv+SiQ= +github.com/valyala/quicktemplate v1.2.0/go.mod h1:EH+4AkTd43SvgIbQHYu59/cJyxDoOVRUAfrukLPuGJ4= github.com/valyala/quicktemplate v1.6.3/go.mod h1:fwPzK2fHuYEODzJ9pkw0ipCPNHZ2tD5KW4lOuSdPKzY= +github.com/valyala/quicktemplate v1.7.0/go.mod h1:sqKJnoaOF88V07vkO+9FL8fb9uZg/VPSJnLYn+LmLk8= github.com/valyala/tcplisten v0.0.0-20161114210144-ceec8f93295a/go.mod h1:v3UYOV9WzVtRmSR+PDvWpU/qWl4Wa5LApYYX4ZtKbio= +github.com/valyala/tcplisten v1.0.0/go.mod h1:T0xQ8SeCZGxckz9qRXTfG43PvQ/mcWh7FwZEA7Ioqkc= +github.com/vbatts/tar-split v0.11.2/go.mod h1:vV3ZuO2yWSVsz+pfFzDG/upWH1JhjOiEaWq6kXyQ3VI= +github.com/vdemeester/k8s-pkg-credentialprovider v1.17.4/go.mod h1:inCTmtUdr5KJbreVojo06krnTgaeAz/Z7lynpPk/Q2c= +github.com/vektra/mockery/v2 v2.14.0/go.mod h1:bnD1T8tExSgPD1ripLkDbr60JA9VtQeu12P3wgLZd7M= github.com/viki-org/dnscache v0.0.0-20130720023526-c70c1f23c5d8/go.mod h1:dniwbG03GafCjFohMDmz6Zc6oCuiqgH6tGNyXTkHzXE= +github.com/vishvananda/netlink v0.0.0-20181108222139-023a6dafdcdf/go.mod h1:+SR5DhBJrl6ZM7CoCKvpw5BKroDKQ+PJqOg65H/2ktk= github.com/vishvananda/netlink v1.1.0/go.mod h1:cTgwzPIzzgDAYoQrMm0EdrjRUBkTqKYppBueQtXaqoE= +github.com/vishvananda/netlink v1.1.1-0.20201029203352-d40f9887b852/go.mod h1:twkDnbuQxJYemMlGd4JFIcuhgX83tXhKS2B/PRMpOho= +github.com/vishvananda/netlink v1.1.1-0.20210330154013-f5de75959ad5/go.mod h1:twkDnbuQxJYemMlGd4JFIcuhgX83tXhKS2B/PRMpOho= +github.com/vishvananda/netns v0.0.0-20180720170159-13995c7128cc/go.mod h1:ZjcWmFBXmLKZu9Nxj3WKYEafiSqer2rnvPr0en9UNpI= github.com/vishvananda/netns v0.0.0-20191106174202-0a2b9b5464df/go.mod h1:JP3t17pCcGlemwknint6hfoeCVQrEMVwxRLRjXpq+BU= +github.com/vishvananda/netns v0.0.0-20200728191858-db3c7e526aae/go.mod h1:DD4vA1DwXk04H54A1oHXtwZmA0grkVMdPxx/VGLCah0= +github.com/vishvananda/netns v0.0.0-20210104183010-2eb08e3e575f/go.mod h1:DD4vA1DwXk04H54A1oHXtwZmA0grkVMdPxx/VGLCah0= github.com/vmihailenco/msgpack/v5 v5.1.4/go.mod h1:C5gboKD0TJPqWDTVTtrQNfRbiBwHZGo8UTqP/9/XvLI= +github.com/vmihailenco/msgpack/v5 v5.3.5/go.mod h1:7xyJ9e+0+9SaZT0Wt1RGleJXzli6Q/V5KbhBonMG9jc= github.com/vmihailenco/tagparser v0.1.2/go.mod h1:OeAg3pn3UbLjkWt+rN9oFYB6u/cQgqMEUPoW2WPyhdI= +github.com/vmihailenco/tagparser/v2 v2.0.0/go.mod h1:Wri+At7QHww0WTrCBeu4J6bNtoV6mEfg5OIWRZA9qds= +github.com/vmware/govmomi v0.20.3/go.mod h1:URlwyTFZX72RmxtxuaFL2Uj3fD1JTvZdx59bHWk6aFU= +github.com/willf/bitset v1.1.3/go.mod h1:RjeCKbqT1RxIR/KWY6phxZiaY1IyutSBfGjNPySAYV4= +github.com/willf/bitset v1.1.11-0.20200630133818-d5bec3311243/go.mod h1:RjeCKbqT1RxIR/KWY6phxZiaY1IyutSBfGjNPySAYV4= +github.com/willf/bitset v1.1.11/go.mod h1:83CECat5yLh5zVOf4P1ErAgKA5UDvKtgyUABdr3+MjI= github.com/wsddn/go-ecdh v0.0.0-20161211032359-48726bab9208/go.mod h1:IotVbo4F+mw0EzQ08zFqg7pK3FebNXpaMsRy2RT+Ees= +github.com/xanzy/go-gitlab v0.31.0/go.mod h1:sPLojNBn68fMUWSxIJtdVVIP8uSBYqesTfDUseX11Ug= +github.com/xanzy/go-gitlab v0.32.0/go.mod h1:sPLojNBn68fMUWSxIJtdVVIP8uSBYqesTfDUseX11Ug= +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/gojsonpointer v0.0.0-20190905194746-02993c407bfb/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU= +github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415/go.mod h1:GwrjFmJcFw6At/Gs6z4yjiIwzuJ1/+UwLxMQDVQXShQ= +github.com/xeipuuv/gojsonschema v0.0.0-20180618132009-1d523034197f/go.mod h1:5yf86TLmAcydyeJq5YvxkGPE2fm/u4myDekKRoLuqhs= +github.com/xeipuuv/gojsonschema v1.2.0/go.mod h1:anYRn/JVcOK2ZgGU+IjEV4nwlhoK5sQluxsYJ78Id3Y= +github.com/xhit/go-str2duration v1.2.0/go.mod h1:3cPSlfZlUHVlneIVfePFWcJZsuwf+P1v2SRTV4cUmp4= +github.com/xi2/xz v0.0.0-20171230120015-48954b6210f8/go.mod h1:HUYIGzjTL3rfEspMxjDjgmT5uz5wzYJKVo23qUhYTos= github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= +github.com/xlab/treeprint v0.0.0-20180616005107-d6fb6747feb6/go.mod h1:ce1O1j6UtZfjr22oyGxGLbauSBp2YVXpARAosm7dHBg= github.com/xo/terminfo v0.0.0-20210125001918-ca9a967f8778/go.mod h1:2MuV+tbUrU1zIOPMxZ5EncGwgmMJsa+9ucAQZXxsObs= github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q= +github.com/yagipy/maintidx v1.0.0/go.mod h1:0qNf/I/CCZXSMhsRsrEPDZ+DkekpKLXAJfsTACwgXLk= github.com/ybbus/jsonrpc v2.1.2+incompatible/go.mod h1:XJrh1eMSzdIYFbM08flv0wp5G35eRniyeGut1z+LSiE= github.com/yeya24/promlinter v0.1.0/go.mod h1:rs5vtZzeBHqqMwXqFScncpCF6u06lezhZepno9AB1Oc= +github.com/yeya24/promlinter v0.2.0/go.mod h1:u54lkmBOZrpEbQQ6gox2zWKKLKu2SGe+2KOiextY+IA= 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= @@ -1067,19 +2804,52 @@ github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9de github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= -github.com/zondax/hid v0.9.0 h1:eiT3P6vNxAEVxXMw66eZUAAnU2zD33JBkfG/EnfAKl8= +github.com/yuin/goldmark v1.4.0/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= +github.com/yuin/goldmark v1.4.1/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= +github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= +github.com/yusufpapurcu/wmi v1.2.2/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0= +github.com/yvasiyarov/go-metrics v0.0.0-20140926110328-57bccd1ccd43/go.mod h1:aX5oPXxHm3bOH+xeAttToC8pqch2ScQN/JoXYupl6xs= +github.com/yvasiyarov/gorelic v0.0.0-20141212073537-a9bba5b9ab50/go.mod h1:NUSPSUX/bi6SeDMUh6brw0nXpxHnc96TguQh0+r/ssA= +github.com/yvasiyarov/newrelic_platform_go v0.0.0-20140908184405-b21fdbd4370f/go.mod h1:GlGEuHIJweS1mbCqG+7vt2nvWLzLLnRHbXz5JKd/Qbg= github.com/zondax/hid v0.9.0/go.mod h1:l5wttcP0jwtdLjqjMMWFVEE7d1zO0jvSPA9OPZxWpEM= +github.com/zondax/hid v0.9.1 h1:gQe66rtmyZ8VeGFcOpbuH3r7erYtNEAezCAYu8LdkJo= +github.com/zondax/hid v0.9.1/go.mod h1:l5wttcP0jwtdLjqjMMWFVEE7d1zO0jvSPA9OPZxWpEM= +github.com/zondax/ledger-go v0.14.1 h1:Pip65OOl4iJ84WTpA4BKChvOufMhhbxED3BaihoZN4c= +github.com/zondax/ledger-go v0.14.1/go.mod h1:fZ3Dqg6qcdXWSOJFKMG8GCTnD7slO/RL2feOQv8K320= +gitlab.com/bosi/decorder v0.2.3/go.mod h1:9K1RB5+VPNQYtXtTDAzd2OEftsZb1oV0IrJrzChSdGE= go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= go.etcd.io/bbolt v1.3.3/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= go.etcd.io/bbolt v1.3.4/go.mod h1:G5EMThwa9y8QZGBClrRx5EY+Yw9kAhnjy3bSjsnlVTQ= -go.etcd.io/bbolt v1.3.5 h1:XAzx9gjCb0Rxj7EoqcClPD1d5ZBxZJk0jbuoPHenBt0= go.etcd.io/bbolt v1.3.5/go.mod h1:G5EMThwa9y8QZGBClrRx5EY+Yw9kAhnjy3bSjsnlVTQ= +go.etcd.io/bbolt v1.3.6 h1:/ecaJf0sk1l4l6V4awd65v2C3ILy7MSj+s/x1ADCIMU= +go.etcd.io/bbolt v1.3.6/go.mod h1:qXsaaIqmgQH0T+OPdb99Bf+PKfBBQVAdyD6TY9G8XM4= go.etcd.io/etcd v0.0.0-20191023171146-3cf2f69b5738/go.mod h1:dnLIgRNXwCJa5e+c6mIZCrds/GIG4ncV9HhK5PX7jPg= go.etcd.io/etcd v0.0.0-20200513171258-e048e166ab9c/go.mod h1:xCI7ZzBfRuGgBXyXO6yfWfDmlWd35khcWpUa4L0xI/k= +go.etcd.io/etcd v0.5.0-alpha.5.0.20200910180754-dd1b699fc489/go.mod h1:yVHk9ub3CSBatqGNg7GRmsnfLWtoW60w4eDYfh7vHDg= go.etcd.io/etcd/api/v3 v3.5.0/go.mod h1:cbVKeC6lCfl7j/8jBhAK6aIYO9XOjdptoxU/nLQcPvs= +go.etcd.io/etcd/api/v3 v3.5.1/go.mod h1:cbVKeC6lCfl7j/8jBhAK6aIYO9XOjdptoxU/nLQcPvs= +go.etcd.io/etcd/api/v3 v3.5.4/go.mod h1:5GB2vv4A4AOn3yk7MftYGHkUfGtDHnEraIjym4dYz5A= +go.etcd.io/etcd/api/v3 v3.5.5/go.mod h1:KFtNaxGDw4Yx/BA4iPPwevUTAuqcsPxzyX8PHydchN8= go.etcd.io/etcd/client/pkg/v3 v3.5.0/go.mod h1:IJHfcCEKxYu1Os13ZdwCwIUTUVGYTSAM3YSwc9/Ac1g= +go.etcd.io/etcd/client/pkg/v3 v3.5.1/go.mod h1:IJHfcCEKxYu1Os13ZdwCwIUTUVGYTSAM3YSwc9/Ac1g= +go.etcd.io/etcd/client/pkg/v3 v3.5.4/go.mod h1:IJHfcCEKxYu1Os13ZdwCwIUTUVGYTSAM3YSwc9/Ac1g= +go.etcd.io/etcd/client/pkg/v3 v3.5.5/go.mod h1:ggrwbk069qxpKPq8/FKkQ3Xq9y39kbFR4LnKszpRXeQ= go.etcd.io/etcd/client/v2 v2.305.0/go.mod h1:h9puh54ZTgAKtEbut2oe9P4L/oqKCVB6xsXlzd7alYQ= +go.etcd.io/etcd/client/v2 v2.305.1/go.mod h1:pMEacxZW7o8pg4CrFE7pquyCJJzZvkvdD2RibOCCCGs= +go.etcd.io/etcd/client/v2 v2.305.4/go.mod h1:Ud+VUwIi9/uQHOMA+4ekToJ12lTxlv0zB/+DHwTGEbU= +go.etcd.io/etcd/client/v2 v2.305.5/go.mod h1:zQjKllfqfBVyVStbt4FaosoX2iYd8fV/GRy/PbowgP4= +go.etcd.io/etcd/client/v3 v3.5.0/go.mod h1:AIKXXVX/DQXtfTEqBryiLTUXwON+GuvO6Z7lLS/oTh0= +go.etcd.io/etcd/client/v3 v3.5.4/go.mod h1:ZaRkVgBZC+L+dLCjTcF1hRXpgZXQPOvnA/Ak/gq3kiY= +go.etcd.io/etcd/client/v3 v3.5.5/go.mod h1:aApjR4WGlSumpnJ2kloS75h6aHUmAyaPLjHMxpc7E7c= +go.etcd.io/etcd/pkg/v3 v3.5.0/go.mod h1:UzJGatBQ1lXChBkQF0AuAtkRQMYnHubxAEYIrC3MSsE= +go.etcd.io/etcd/raft/v3 v3.5.0/go.mod h1:UFOHSIvO/nKwd4lhkwabrTD3cqW5yVyYYf/KlD00Szc= +go.etcd.io/etcd/server/v3 v3.5.0/go.mod h1:3Ah5ruV+M+7RZr0+Y/5mNLwC+eQlni+mQmOVdCRJoS4= go.mozilla.org/mozlog v0.0.0-20170222151521-4bb13139d403/go.mod h1:jHoPAGnDrCy6kaI2tAze5Prf0Nr0w/oNkROt2lw3n3o= +go.mozilla.org/pkcs7 v0.0.0-20200128120323-432b2356ecb1/go.mod h1:SNgMg+EgDFwmvSmLRTNKC5fegJjB7v23qTQ0XLGUNHk= +go.opencensus.io v0.15.0/go.mod h1:UffZAU+4sDEINUGP/B7UfBBkq4fqLu9zXAX7ke6CHW0= +go.opencensus.io v0.18.0/go.mod h1:vKdFvxhtzZ9onBp9VKHK8z/sRpBMnKAsufL7wlDrCOA= +go.opencensus.io v0.19.1/go.mod h1:gug0GbSHa8Pafr0d2urOSgoXHZ6x/RUlaiT0d9pqb4A= +go.opencensus.io v0.19.2/go.mod h1:NO/8qkisMZLZ1FCsKNqtJPwc8/TaclWyY0B6wcYNg9M= go.opencensus.io v0.20.1/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk= go.opencensus.io v0.20.2/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk= go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= @@ -1089,46 +2859,137 @@ go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= +go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0= +go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= +go.opentelemetry.io/contrib v0.20.0/go.mod h1:G/EtFaa6qaN7+LxqfIAT3GiZa7Wv5DTBUzl5H4LY0Kc= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.20.0/go.mod h1:oVGt1LRbBOBq1A5BQLlUg9UaU/54aiHw8cgjV3aWZ/E= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.28.0/go.mod h1:vEhqr0m4eTc+DWxfsXoXue2GBgV2uUwVznkGIHW/e5w= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.29.0/go.mod h1:LsankqVDx4W+RhZNA5uWarULII/MBhF5qwCYxTuyXjs= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.36.3/go.mod h1:Dts42MGkzZne2yCru741+bFiTMWkIj/LLRizad7b9tw= +go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace v0.29.0/go.mod h1:vHItvsnJtp7ES++nFLLFBzUWny7fJQSvTlxFcqQGUr4= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.20.0/go.mod h1:2AboqHi0CiIZU0qwhtUfCYD1GeUzvvIXWNkhDt7ZMG4= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.29.0/go.mod h1:tLYsuf2v8fZreBVwp9gVMhefZlLFZaUiNVSq8QxXRII= +go.opentelemetry.io/otel v0.20.0/go.mod h1:Y3ugLH2oa81t5QO+Lty+zXf8zC9L26ax4Nzoxm/dooo= +go.opentelemetry.io/otel v1.3.0/go.mod h1:PWIKzi6JCp7sM0k9yZ43VX+T345uNbAkDKwHVjb2PTs= +go.opentelemetry.io/otel v1.4.0/go.mod h1:jeAqMFKy2uLIxCtKxoFj0FAL5zAPKQagc3+GtBWakzk= +go.opentelemetry.io/otel v1.4.1/go.mod h1:StM6F/0fSwpd8dKWDCdRr7uRvEPYdW0hBSlbdTiUde4= +go.opentelemetry.io/otel v1.11.0/go.mod h1:H2KtuEphyMvlhZ+F7tg9GRhAOe60moNx61Ex+WmiKkk= +go.opentelemetry.io/otel/exporters/jaeger v1.4.1/go.mod h1:ZW7vkOu9nC1CxsD8bHNHCia5JUbwP39vxgd1q4Z5rCI= +go.opentelemetry.io/otel/exporters/otlp v0.20.0/go.mod h1:YIieizyaN77rtLJra0buKiNBOm9XQfkPEKBeuhoMwAM= +go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.3.0/go.mod h1:VpP4/RMn8bv8gNo9uK7/IMY4mtWLELsS+JIP0inH0h4= +go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.4.1/go.mod h1:VpP4/RMn8bv8gNo9uK7/IMY4mtWLELsS+JIP0inH0h4= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.3.0/go.mod h1:hO1KLR7jcKaDDKDkvI9dP/FIhpmna5lkqPUQdEjFAM8= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.4.1/go.mod h1:o5RW5o2pKpJLD5dNTCmjF1DorYwMeFJmb/rKr5sLaa8= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.3.0/go.mod h1:keUU7UfnwWTWpJ+FWnyqmogPa82nuU5VUANFq49hlMY= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.4.1/go.mod h1:c6E4V3/U+miqjs/8l950wggHGL1qzlp0Ypj9xoGrPqo= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.3.0/go.mod h1:QNX1aly8ehqqX1LEa6YniTU7VY9I6R3X/oPxhGdTceE= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.4.1/go.mod h1:VwYo0Hak6Efuy0TXsZs8o1hnV3dHDPNtDbycG0hI8+M= +go.opentelemetry.io/otel/internal/metric v0.27.0/go.mod h1:n1CVxRqKqYZtqyTh9U/onvKapPGv7y/rpyOTI+LFNzw= +go.opentelemetry.io/otel/metric v0.20.0/go.mod h1:598I5tYlH1vzBjn+BTuhzTCSb/9debfNp6R3s7Pr1eU= +go.opentelemetry.io/otel/metric v0.27.0/go.mod h1:raXDJ7uP2/Jc0nVZWQjJtzoyssOYWu/+pjZqRzfvZ7g= +go.opentelemetry.io/otel/metric v0.32.3/go.mod h1:pgiGmKohxHyTPHGOff+vrtIH39/R9fiO/WoenUQ3kcc= +go.opentelemetry.io/otel/oteltest v0.20.0/go.mod h1:L7bgKf9ZB7qCwT9Up7i9/pn0PWIa9FqQ2IQ8LoxiGnw= +go.opentelemetry.io/otel/sdk v0.20.0/go.mod h1:g/IcepuwNsoiX5Byy2nNV0ySUF1em498m7hBWC279Yc= +go.opentelemetry.io/otel/sdk v1.3.0/go.mod h1:rIo4suHNhQwBIPg9axF8V9CA72Wz2mKF1teNrup8yzs= +go.opentelemetry.io/otel/sdk v1.4.1/go.mod h1:NBwHDgDIBYjwK2WNu1OPgsIc2IJzmBXNnvIJxJc8BpE= +go.opentelemetry.io/otel/sdk/export/metric v0.20.0/go.mod h1:h7RBNMsDJ5pmI1zExLi+bJK+Dr8NQCh0qGhm1KDnNlE= +go.opentelemetry.io/otel/sdk/metric v0.20.0/go.mod h1:knxiS8Xd4E/N+ZqKmUPf3gTTZ4/0TjTXukfxjzSTpHE= +go.opentelemetry.io/otel/trace v0.20.0/go.mod h1:6GjCW8zgDjwGHGa6GkyeB8+/5vjT16gUEi0Nf1iBdgw= +go.opentelemetry.io/otel/trace v1.3.0/go.mod h1:c/VDhno8888bvQYmbYLqe41/Ldmr/KKunbvWM4/fEjk= +go.opentelemetry.io/otel/trace v1.4.0/go.mod h1:uc3eRsqDfWs9R7b92xbQbU42/eTNz4N+gLP8qJCi4aE= +go.opentelemetry.io/otel/trace v1.4.1/go.mod h1:iYEVbroFCNut9QkwEczV9vMRPHNKSSwYZjulEtsmhFc= +go.opentelemetry.io/otel/trace v1.11.0/go.mod h1:nyYjis9jy0gytE9LXGU+/m1sHTKbRY0fX0hulNNDP1U= +go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= +go.opentelemetry.io/proto/otlp v0.11.0/go.mod h1:QpEjXPrNQzrFDZgoTo49dgHR9RYRSrg3NAKnUGl9YpQ= +go.opentelemetry.io/proto/otlp v0.12.0/go.mod h1:TsIjwGWIx5VFYv9KGVlOpxoBl5Dy+63SUguV7GGvlSQ= go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/atomic v1.5.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= +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/goleak v1.1.10/go.mod h1:8a7PlsEVH3e/a/GLqe5IIrQx6GzcnRmZEufDUTk4A7A= +go.uber.org/goleak v1.1.11-0.20210813005559-691160354723/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ= +go.uber.org/goleak v1.1.11/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ= +go.uber.org/goleak v1.1.12/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ= go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= go.uber.org/multierr v1.3.0/go.mod h1:VgVr7evmIr6uPjLBxg28wmKNXyqE9akIJ5XnfpiKl+4= go.uber.org/multierr v1.4.0/go.mod h1:VgVr7evmIr6uPjLBxg28wmKNXyqE9akIJ5XnfpiKl+4= go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU= +go.uber.org/multierr v1.7.0/go.mod h1:7EAYxJLBy9rStEaz58O2t4Uvip6FSURkq8/ppBp95ak= +go.uber.org/multierr v1.8.0/go.mod h1:7EAYxJLBy9rStEaz58O2t4Uvip6FSURkq8/ppBp95ak= go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee/go.mod h1:vJERXedbb3MVM5f9Ejo0C68/HhF8uaILCdgjnY+goOA= +go.uber.org/zap v1.9.1/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= go.uber.org/zap v1.13.0/go.mod h1:zwrFLgMcdUuIBviXEYEH1YKNaOBnKXsx2IPda5bBwHM= go.uber.org/zap v1.17.0/go.mod h1:MXVU+bhUf/A7Xi2HNOnopQOrmycQ5Ih87HtOu4q5SSo= +go.uber.org/zap v1.19.1/go.mod h1:j3DNczoxDZroyBnOT1L/Q79cfUMGZxlv/9dzN7SM1rI= +go.uber.org/zap v1.23.0/go.mod h1:D+nX8jyLsMHMYrln8A0rJjFt/T/9/bGgIhAqxv5URuY= +go4.org v0.0.0-20180809161055-417644f6feb5/go.mod h1:MkTOUMDaeVYJUOUsaDXIhWPZYa1yOyC1qaOBpL57BhE= +gocloud.dev v0.19.0/go.mod h1:SmKwiR8YwIMMJvQBKLsC3fHNyMwXLw3PMDO+VVteJMI= +golang.org/x/build v0.0.0-20190314133821-5284462c4bec/go.mod h1:atTaCNAy0f16Ah5aV1gMSwgiKVHwu/JncqDpuRr7lS4= golang.org/x/crypto v0.0.0-20170930174604-9419663f5a44/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20171113213409-9f005a07e0d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20180501155221-613d6eafa307/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20181009213950-7c1a557ab941/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20181029021203-45a5f77698d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20181030102418-4d3f4d9ffa16/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20181203042331-505ab145d0a9/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20190211182817-74369b46fc67/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190426145343-a29dc8fdc734/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190909091759-094676da4a83/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-20191002192127-34f69633bfdc/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20191206172530-e9b2fee46413/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200115085410-6d4e4cb37c7d/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20200220183623-bac4c82f6975/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20200323165209-0ec3e9974c59/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200510223506-06a226fb4e37/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200709230013-948cd5f35899/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200728195943-123391ffb6de/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200820211705-5c72a883971a/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20201002170205-7f63de1d35b0/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20201016220609-9e8e0b390897/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20201117144127-c1f2f97bffc9/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= golang.org/x/crypto v0.0.0-20201221181555-eec23a3978ad/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= +golang.org/x/crypto v0.0.0-20210220033148-5ea612d1eb83/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= +golang.org/x/crypto v0.0.0-20210314154223-e6e6c4f2bb5b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= +golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= +golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= golang.org/x/crypto v0.0.0-20210513164829-c07d793c2f9a/go.mod h1:P+XmwS30IXTQdn5tA2iutPOUgjI07+tq3H3K9MVA1s8= -golang.org/x/crypto v0.0.0-20210817164053-32db794688a5 h1:HWj/xjIHfjYU5nVXpTM0s39J9CbLn7Cc5a7IC5rwsMQ= +golang.org/x/crypto v0.0.0-20210616213533-5ff15b29337e/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= +golang.org/x/crypto v0.0.0-20210711020723-a769d52b0f97/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20210817164053-32db794688a5/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= +golang.org/x/crypto v0.0.0-20210915214749-c084706c2272/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= +golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= +golang.org/x/crypto v0.0.0-20211108221036-ceb1ce70b4fa/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= +golang.org/x/crypto v0.0.0-20211202192323-5770296d904e/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.0.0-20220314234659-1baeb1ce4c0b/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.0.0-20220411220226-7b82a4e95df4/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.0.0-20220525230936-793ad666bf5e/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.0.0-20220826181053-bd7e27e6170d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.1.0/go.mod h1:RecgLatLF4+eUMCP1PoPZQb+cVrJcOPbHkTkbkB9sbw= +golang.org/x/crypto v0.3.0/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4= +golang.org/x/crypto v0.5.0/go.mod h1:NK/OQwhpMQP3MwtdjgLlYHnH9ebylxKWv3e0fK+mkQU= +golang.org/x/crypto v0.13.0 h1:mvySKfSWJ+UKUii46M40LOvyWfN0s2U+46/jDd0e6Ck= +golang.org/x/crypto v0.13.0/go.mod h1:y6Z2r+Rw4iayiXXAIxJIDAJ1zMW4yaTpebo8fPOliYc= +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-20190121172915-509febef88a4/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-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20190312203227-4b39c73a6495/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= golang.org/x/exp v0.0.0-20190731235908-ec7cb31e5a56/go.mod h1:JhuoJpWY28nO4Vef9tZUw9qufEGTyX1+7lmHxV5q5G4= golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod h1:86+5VVa7VpoJ4kLfm080zCjGlMRFzhUhsZKEZO7MGek= @@ -1139,10 +3000,19 @@ golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u0 golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= golang.org/x/exp v0.0.0-20200331195152-e8c3332aa8e5/go.mod h1:4M0jN8W1tt0AVLNr8HDosyJCDCDuyL9N9+3m7wDWgKw= -golang.org/x/exp v0.0.0-20220314205449-43aec2f8a4e7 h1:jynE66seADJbyWMUdeOyVTvPtBZt7L6LJHupGwxPZRM= -golang.org/x/exp v0.0.0-20220314205449-43aec2f8a4e7/go.mod h1:lgLbSvA5ygNOMpwM/9anMpWVlVJ7Z+cHWq/eFuinpGE= +golang.org/x/exp v0.0.0-20220722155223-a9213eeb770e/go.mod h1:Kr81I6Kryrl9sr8s2FK3vxD90NdsKWRuOIl2O4CvYbA= +golang.org/x/exp v0.0.0-20230310171629-522b1b587ee0 h1:LGJsf5LRplCck6jUCH3dBL2dmycNruWNF5xugkSlfXw= +golang.org/x/exp v0.0.0-20230310171629-522b1b587ee0/go.mod h1:CxIveKay+FTh1D0yPZemJVgC/95VzuuOLq5Qi4xnoYc= +golang.org/x/exp/typeparams v0.0.0-20220218215828-6cf2b201936e/go.mod h1:AbB0pIl9nAr9wVwH+Z2ZpaocVmF5I4GyWCDIsVjR0bk= +golang.org/x/exp/typeparams v0.0.0-20220428152302-39d4317da171/go.mod h1:AbB0pIl9nAr9wVwH+Z2ZpaocVmF5I4GyWCDIsVjR0bk= +golang.org/x/exp/typeparams v0.0.0-20220613132600-b0d781184e0d/go.mod h1:AbB0pIl9nAr9wVwH+Z2ZpaocVmF5I4GyWCDIsVjR0bk= +golang.org/x/exp/typeparams v0.0.0-20220827204233-334a2380cb91/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-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= +golang.org/x/lint v0.0.0-20180702182130-06c8688daad7/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= +golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= +golang.org/x/lint v0.0.0-20181217174547-8f45f776aaf1/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= @@ -1167,11 +3037,25 @@ golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.5.0/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro= +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.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= +golang.org/x/mod v0.6.0/go.mod h1:4mET923SAdbXp2ki8ey+zGs1SLqsuM2Y0uvdZR/fUNI= +golang.org/x/mod v0.7.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/mod v0.8.0 h1:LUYupSeNrTNCGzR/hVBk2NHZO4hXcVaW1k4Qx7rjPx8= +golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/net v0.0.0-20170114055629-f2499483f923/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180719180050-a680a1efc54d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20180911220305-26e67e76b6c3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20181011144130-49bb7cea24b1/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20181023162649-9b4f9f5ad519/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181029044818-c44066c5c816/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181106065722-10aee1819953/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181108082009-03003ca0c849/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20181201002055-351d144fa1fc/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20181220203305-927f97764cc3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -1185,12 +3069,16 @@ golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn golang.org/x/net v0.0.0-20190522155817-f3200d17e092/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190619014844-b5b0513f8c1b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190813141303-74dc4d7220e7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190827160401-ba9fcec4b297/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= 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-20191004110552-13f9640d40b9/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20191112182307-2180aed22343/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= @@ -1210,22 +3098,65 @@ golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81R golang.org/x/net v0.0.0-20200813134508-3edf25e44fcc/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20200904194848-62affa334b73/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= +golang.org/x/net v0.0.0-20201006153459-a7d1128ccaa0/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20201010224723-4f7140c49acb/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20201031054903-ff519b6c9102/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20201202161906-c7110b5ffcbb/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20201209123823-ac852fbbde11/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20201224014010-6772e930b67b/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20210220033124-5f55cee0dc0d/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc= golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= +golang.org/x/net v0.0.0-20210410081132-afb366fc7cd1/go.mod h1:9tjilg8BloeKEkVJvy7fQ90B1CfIiPueXVOjqfkSzI8= golang.org/x/net v0.0.0-20210428140749-89ef3d95e781/go.mod h1:OJAsFXCWl8Ukc7SiCT/9KSuxbyM7479/AVlXFRxuMCk= +golang.org/x/net v0.0.0-20210503060351-7fd8e65b6420/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20210510120150-4163338589ed/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20210520170846-37e1c6afe023/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20210903162142-ad29c8ab022f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.3.0 h1:VWL6FNY2bEEmsGVKabSlHu5Irp34xmMRoqb/9lF9lxk= +golang.org/x/net v0.0.0-20210610132358-84b48f89b13b/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20210614182718-04defd469f4e/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20210805182204-aaa1db679c0d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20210813160813-60bc85c4be6d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20210825183410-e898025ed96a/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20210917221730-978cfadd31cf/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.0.0-20211209124913-491a49abca63/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20211216030914-fe4d6282115f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= +golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= +golang.org/x/net v0.0.0-20220325170049-de3da57026de/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= +golang.org/x/net v0.0.0-20220412020605-290c469a71a5/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= +golang.org/x/net v0.0.0-20220425223048-2871e0cb64e4/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= +golang.org/x/net v0.0.0-20220520000938-2e3eb7b945c2/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= +golang.org/x/net v0.0.0-20220607020251-c690dde0001d/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= +golang.org/x/net v0.0.0-20220617184016-355a448f1bc9/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= +golang.org/x/net v0.0.0-20220624214902-1bab6f366d9e/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= +golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= +golang.org/x/net v0.0.0-20220826154423-83b083e8dc8b/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= +golang.org/x/net v0.0.0-20220909164309-bea034e7d591/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= +golang.org/x/net v0.0.0-20221012135044-0b7e1fb9d458/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= +golang.org/x/net v0.0.0-20221014081412-f15817d10f9b/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= +golang.org/x/net v0.0.0-20221017152216-f25eb7ecb193/go.mod h1:RpDiru2p0u2F0lLpEoqnP2+7xs0ifAuOcJ442g6GU2s= +golang.org/x/net v0.1.0/go.mod h1:Cx3nUiGt4eDBEyega/BKRp+/AlGL8hYe7U9odMt2Cco= +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.5.0/go.mod h1:DivGGAXEgPSlEBzxGzZI+ZLohi+xUj054jfeKui00ws= +golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= +golang.org/x/net v0.15.0 h1:ugBLEUaxABaB5AJqW9enI0ACdci2RUd4eP51NTBvuJ8= +golang.org/x/net v0.15.0/go.mod h1:idbUs1IY1+zTqbi8yxTbhexhEEk5ur9LInksu6HrEpk= +golang.org/x/oauth2 v0.0.0-20180724155351-3d292e4d0cdc/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= +golang.org/x/oauth2 v0.0.0-20181017192945-9dcd33a902f4/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= +golang.org/x/oauth2 v0.0.0-20181106182150-f42d05182288/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= +golang.org/x/oauth2 v0.0.0-20181203162652-d668ce993890/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20190402181905-9f3314589c9a/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -1237,6 +3168,24 @@ golang.org/x/oauth2 v0.0.0-20210220000619-9bb904979d93/go.mod h1:KelEdhl1UZF7XfJ golang.org/x/oauth2 v0.0.0-20210313182246-cd4f82c27b84/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210402161424-2e8d93401602/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210628180205-a41e5a781914/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210805134026-6f1e6394065a/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210819190943-2bc19b11175f/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20211005180243-6b3c2da341f1/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20220223155221-ee480838109b/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= +golang.org/x/oauth2 v0.0.0-20220309155454-6242fa91716a/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= +golang.org/x/oauth2 v0.0.0-20220411215720-9780585627b5/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= +golang.org/x/oauth2 v0.0.0-20220608161450-d0670ef3b1eb/go.mod h1:jaDAt6Dkxork7LmZnYtzbRWj0W47D86a3TGe0YHBvmE= +golang.org/x/oauth2 v0.0.0-20220622183110-fd043fe589d2/go.mod h1:jaDAt6Dkxork7LmZnYtzbRWj0W47D86a3TGe0YHBvmE= +golang.org/x/oauth2 v0.0.0-20220822191816-0ebed06d0094/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= +golang.org/x/oauth2 v0.0.0-20220909003341-f21342109be1/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= +golang.org/x/oauth2 v0.0.0-20221006150949-b44042a4b9c1/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= +golang.org/x/oauth2 v0.0.0-20221014153046-6fdb5e3db783/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= +golang.org/x/oauth2 v0.1.0/go.mod h1:G9FE4dLTsbXUu90h/Pf85g4w1D+SSAgR+q46nJZ8M4A= +golang.org/x/oauth2 v0.12.0 h1:smVPGxink+n1ZI5pkQa8y6fZT0RW0MgCO5bFpepy4B4= +golang.org/x/oauth2 v0.12.0/go.mod h1:A74bZ3aGXgCY0qaIC9Ahg6Lglin4AMAco8cIv9baba4= +golang.org/x/perf v0.0.0-20180704124530-6e6d33e29852/go.mod h1:JLpeXjPJfIyPr5TlbXLkXWLhP8nz10XfvxElABhCtcw= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -1249,15 +3198,28 @@ golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20220513210516-0976fa681c29/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20220601150217-0de741cfad7f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/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.0.0-20220929204114-8fcdb60fdcc0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.3.0 h1:ftCYgMx6zT/asHUrPw8BLLscYtGznsLAnjq5RH9P66E= +golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y= +golang.org/x/sys v0.0.0-20170830134202-bb24a47a89ea/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20181026203630-95b1ffbd15a5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181029174526-d69651ed3497/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20181122145206-62eef0e2fa9b/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20181205085412-a5c9d58dba9a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181218192612-074acd46bca6/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190130150945-aca44879d564/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190209173611-3b5209105503/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -1265,31 +3227,47 @@ golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190514135907-3a4b5fb9f71f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190522044717-8097e1b27ff5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190602015325-4c4f7f33c9ed/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190606203320-7fc4e5ec1444/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190616124812-15dcb6c0061f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190620070143-6f217b454f45/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190626221950-04f50cda93cb/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190712062909-fae7ac547cb7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190801041406-cbf593c0f2f3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190812073006-9eafafc0a87e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190826190057-c7b8b68b1456/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/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-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191008105621-543471e840be/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191022100944-742c48ecaeb7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191112214154-59a1497f0cea/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191115151921-52ab43148777/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191210023423-ac6580df4449/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191220142924-d4481acd189f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200106162015-b016eb3dc98e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200107162124-548cf772de50/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200120151820-655fe14d7479/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200124204421-9fbb57f87de9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200212091648-12a6c2dcc1e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200217220822-9197077df867/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -1302,40 +3280,128 @@ golang.org/x/sys v0.0.0-20200519105757-fe76b779f299/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200602225109-6fdc65e7d980/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200622214017-ed371f2e16b4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200728102440-3e129f6d46b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200814200057-3d37ad5750ed/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200817155316-9781c653f443/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200824131525-c12d262b63d8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200826173525-f9321e4c35a6/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200831180312-196b9ba8737a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200905004654-be1d3432aa8f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200909081042-eff7692f9009/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200916030750-2334cc1a136f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200917073148-efd3b9a0ff20/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200922070232-aee5d888a860/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200923182605-d9f96fdee20d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20201015000850-e3ed0017c211/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201013081832-0aaa2718063a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201112073958-5cba982894dd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201117170446-d9b008d0a637/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201202213521-69691e467435/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201204225414-ed752295db88/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210104204734-6f8348627aad/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210112080510-489259a85091/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210220050731-9a76102bfb43/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210225134936-a50acf3fe073/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210303074136-134d130e1a04/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210305230114-8fe3ee5dd75b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210313202042-bd2e13477e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210315160823-c6e025ad8005/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210316164454-77fc1eacc6aa/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210324051608-47abb6519492/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210403161142-5e06dd20ab57/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210420205809-ac73e9fd8988/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210423185535-09eb48e85fd7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210426230700-d19ff857e887/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210514084401-e8d321eab015/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210603081109-ebe580a85c40/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210603125802-9665404d3644/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/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-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210806184541-e5e7981a1069/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210809222454-d867a43fc93e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210816183151-1e6c022a8912/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210819135213-f52c844e1c1c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210823070655-63515b42dcdf/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210831042530-f4d43177bf5e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210903071746-97244b99971b/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.3.0 h1:w8ZOecv6NaNa/zC8944JTU3vz4u6Lagfk4RPQxv92NQ= +golang.org/x/sys v0.0.0-20210906170528-6f6e22806c34/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210908233432-aa78b53d3365/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210917161153-d61c044b1678/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/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-20211025201205-69cdffdb9359/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-20211124211545-fe61309f8881/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211205182925-97ca703d548d/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211210111614-af8b64212486/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/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-20220128215802-99c3d69c2c27/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220209214540-3681064d5158/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220227234510-4e6760a101f9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220319134239-a9b59b0215f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220328115105-d36c6a25d886/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220405210540-1e041c57c461/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220406163625-3f8b81556e12/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220412211240-33da011f77ad/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220422013727-9388b58f7150/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220502124256-b6088ccd6cba/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220503163025-988cb79eb6c6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220610221304-9f5ed59c137d/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220615213510-4f61da869c0c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220624220833-87e55d714810/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220627191245-f75cf1eec38b/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.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220728004956-3c1f35247d10/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220825204002-c680a09ffe64/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220829200755-d48e67d00261/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220915200043-7b5979e65e41/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20221010170243-090e33056c14/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20221013171732-95e765b1cc43/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.1.0/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.4.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.12.0 h1:CM0HF96J0hcLAwsHPJZjfdNzs0gftsLfgKt57wWHJ0o= +golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/term v0.3.0 h1:qoo4akIqOcDME5bhc/NgxUdovd6BSS2uMsVjB56q1xI= +golang.org/x/term v0.0.0-20210220032956-6a3ed077a48d/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= +golang.org/x/term v0.0.0-20210615171337-6886f2dfbf5b/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= +golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= +golang.org/x/term v0.0.0-20220526004731-065cf7ba2467/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= +golang.org/x/term v0.0.0-20220722155259-a9ba230a4035/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= +golang.org/x/term v0.0.0-20220919170432-7a66f970e087/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= +golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= +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.4.0/go.mod h1:9P2UbLfCdcvo3p/nzKvsmas4TnlujnuoV9hGgYzW1lQ= +golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= +golang.org/x/term v0.12.0 h1:/ZfYdc3zq+q02Rv9vGqTeSItdzZTSNDmfTi0mBAuidU= +golang.org/x/term v0.12.0/go.mod h1:owVbMEjm3cBLCHdkQu9b1opXd4ETQWc3BhuQGKgXgvU= +golang.org/x/text v0.0.0-20160726164857-2910a502d2bf/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -1344,17 +3410,37 @@ golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.5.0 h1:OLmvp0KP+FVG99Ct/qFiL/Fhk4zp4QQnZ7b2U+5piUM= +golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= +golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ= +golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.5.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= +golang.org/x/text v0.6.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= +golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= +golang.org/x/text v0.13.0 h1:ablQoSUd0tRdKxZewP80B+BaqeKJuVhuRxj/dkrun3k= +golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20200416051211-89c76fbcd5d1/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20200630173020-3af7569d3a1e/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20201208040808-7e3f01d25324/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20210220033141-f8bda1e9f3ba/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20210723032227-1f47c861a9ac/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20220609170525-579cf78fd858/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180525024113-a5b4c53f6e8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20180828015842-6cd1fcedba52/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20181011042414-1f849cf54d09/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20181117154741-2ddaf7f79a09/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20181219222714-6e267b5cc78e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190110163146-51295c7ec13a/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/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-20190221204921-83362c3779f5/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= +golang.org/x/tools v0.0.0-20190228203856-589c23e65e65/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= golang.org/x/tools v0.0.0-20190307163923-6a08e3108db3/go.mod h1:25r3+/G6/xytQM8iWZKq3Hn0kr0rgFKPUNVEL/dr3z4= golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190311215038-5c2858a9cfe5/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= @@ -1363,16 +3449,24 @@ golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3 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-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190422233926-fe54fb35175b/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190521203540-521d6ed310dd/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190614205625-5aca471b1d59/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190624222133-a101b041ded4/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190706070813-72ffa07ba3db/go.mod h1:jcCCGcm9btYwXyDqrUWc6MKQKKGJCWEQ3AfLSRIbEuI= +golang.org/x/tools v0.0.0-20190719005602-e377ae9d6386/go.mod h1:jcCCGcm9btYwXyDqrUWc6MKQKKGJCWEQ3AfLSRIbEuI= golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +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-20190911174233-4f2ddba30aff/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-20190920225731-5eefd052ad72/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-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191029041327-9cc4af7d6b2c/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= @@ -1380,6 +3474,7 @@ golang.org/x/tools v0.0.0-20191029190741-b9c20aec41a5/go.mod h1:b+2E5dAYhXwXZwtn golang.org/x/tools v0.0.0-20191108193012-7d206e10da11/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191112195655-aa38f8e97acc/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191113232020-e2727e816f5a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= @@ -1387,13 +3482,16 @@ golang.org/x/tools v0.0.0-20191130070609-6e064ea0cf2d/go.mod h1:b+2E5dAYhXwXZwtn golang.org/x/tools v0.0.0-20191216052735-49a3e744a425/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200102140908-9497f49d5709/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200103221440-774c71fcf114/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200108203644-89082a384178/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200117012304-6edc0a871e69/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200117161641-43d50277825c/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-20200122220014-bf1340f18c4a/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200204074204-1cc6d1ef6c74/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200204192400-7124308813f3/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200207183749-b753a1ba74fa/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200212150539-ea181f53ac56/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200224181240-023911ca70b2/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= @@ -1403,13 +3501,17 @@ golang.org/x/tools v0.0.0-20200312045724-11d5b4c81c7d/go.mod h1:o4KQGtdN14AW+yjs 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-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= +golang.org/x/tools v0.0.0-20200331202046-9d5940d49312/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200414032229-332987a829c3/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200422022333-3d57cf2e726e/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-20200501065659-ab2804fb9c9d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200502202811-ed308ab3e770/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200505023115-26f46d2f7ef8/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200512131952-2bc93b1c0c88/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200515010526-7d3b6ebf133d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200522201501-cb1345f3a375/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200616133436-c1934b75d054/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200618134242-20370b0cb4b2/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200622203043-20e05c1c8ffa/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= @@ -1427,8 +3529,10 @@ golang.org/x/tools v0.0.0-20200820010801-b793a1359eac/go.mod h1:njjCfa9FT2d7l9Bc golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= golang.org/x/tools v0.0.0-20200831203904-5a2aa26beb65/go.mod h1:Cj7w3i3Rnn0Xh82ur9kSqwfTHTeVxaDqrfMjpcNT6bE= golang.org/x/tools v0.0.0-20200904185747-39188db58858/go.mod h1:Cj7w3i3Rnn0Xh82ur9kSqwfTHTeVxaDqrfMjpcNT6bE= +golang.org/x/tools v0.0.0-20200916195026-c9a70fc28ce3/go.mod h1:z6u4i615ZeAfBE4XtMziQW1fSVJXACjjbWkB/mvPzlU= 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-20201022035929-9cf592e881e9/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20201023174141-c8cfbd0f21e6/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20201028025901-8cd080b735b3/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20201110124207-079ba7bd75cd/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= @@ -1442,18 +3546,57 @@ golang.org/x/tools v0.0.0-20210101214203-2dba1e4ea05c/go.mod h1:emZCQorbCU4vsT4f golang.org/x/tools v0.0.0-20210104081019-d8d6ddbec6ee/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20210108195828-e2f9c7f1fc8e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= +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.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.3/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.4/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools v0.1.7/go.mod h1:LGqMHiF4EqQNHR1JncWGqT5BVaXmza+X+BDGol+dOxo= +golang.org/x/tools v0.1.8/go.mod h1:nABZi5QlRsZVlzPpHl034qft6wpY4eDcsTt5AaioBiU= +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-0.20220513221640-090b14e8501f/go.mod h1:SgwaegtQh8clINPpECJMqnxLv9I09HLqnW3RMqW0CA4= +golang.org/x/tools v0.1.11/go.mod h1:SgwaegtQh8clINPpECJMqnxLv9I09HLqnW3RMqW0CA4= +golang.org/x/tools v0.1.12-0.20220628192153-7743d1d949f1/go.mod h1:SgwaegtQh8clINPpECJMqnxLv9I09HLqnW3RMqW0CA4= +golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= +golang.org/x/tools v0.2.0/go.mod h1:y4OqIKeOV/fWJetJ8bXPU1sEVniLMIyDAZWeHdV+NTA= +golang.org/x/tools v0.4.0/go.mod h1:UE5sM2OK9E/d67R0ANs2xJizIymRP5gJU295PvKXxjQ= +golang.org/x/tools v0.6.0 h1:BOw41kyTf3PuCW1pVQf8+Cyg8pMlkYB1oo9iJ6D/lKM= +golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20220411194840-2f41105eb62f/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20220517211312-f3a8303e98df/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= +golang.org/x/xerrors v0.0.0-20220609144429-65e65417b02f/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= +golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 h1:H2TDz8ibqkAF6YGhCdN3jS9O0/s90v0rJh3X/OLHEUk= +golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= +gonum.org/v1/gonum v0.0.0-20180816165407-929014505bf4/go.mod h1:Y+Yx5eoAFn32cQvJDxZx5Dpnq+c3wtXuadVZAcxbbBo= +gonum.org/v1/gonum v0.0.0-20181121035319-3f7ecaa7e8ca/go.mod h1:Y+Yx5eoAFn32cQvJDxZx5Dpnq+c3wtXuadVZAcxbbBo= +gonum.org/v1/gonum v0.0.0-20190331200053-3d26580ed485/go.mod h1:2ltnJ7xHfj0zHS40VVPYEAAMTa3ZGguvHGBSJeRWqE0= +gonum.org/v1/gonum v0.6.0/go.mod h1:9mxDZsDKxgMAuccQkewq682L+0eCu4dCN2yonUJTCLU= +gonum.org/v1/gonum v0.8.2/go.mod h1:oe/vMfY3deqTw+1EZJhuvEW2iwGF1bW9wwu7XCu0+v0= +gonum.org/v1/netlib v0.0.0-20181029234149-ec6d1f5cefe6/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw= +gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw= +gonum.org/v1/netlib v0.0.0-20190331212654-76723241ea4e/go.mod h1:kS+toOQn6AQKjmKJ7gzohV1XkqsFehRA2FbsbkopSuQ= +gonum.org/v1/plot v0.0.0-20190515093506-e2840ee46a6b/go.mod h1:Wt8AAjI+ypCyYX3nZBvf6cAIx93T+c/OS2HFAYskSZc= +google.golang.org/api v0.0.0-20160322025152-9bf6e6e569ff/go.mod h1:4mhQ8q/RsB7i+udVvVy5NUi08OU8ZlA0gRVgrF7VFY0= +google.golang.org/api v0.0.0-20180910000450-7ca32eb868bf/go.mod h1:4mhQ8q/RsB7i+udVvVy5NUi08OU8ZlA0gRVgrF7VFY0= +google.golang.org/api v0.0.0-20181030000543-1d582fd0359e/go.mod h1:4mhQ8q/RsB7i+udVvVy5NUi08OU8ZlA0gRVgrF7VFY0= +google.golang.org/api v0.0.0-20181220000619-583d854617af/go.mod h1:4mhQ8q/RsB7i+udVvVy5NUi08OU8ZlA0gRVgrF7VFY0= +google.golang.org/api v0.2.0/go.mod h1:IfRCZScioGtypHNTlz3gFk67J8uePVW7uDTBzXuIkhU= +google.golang.org/api v0.3.0/go.mod h1:IuvZyQh8jgscv8qWfQ4ABd8m7hEudgBFM/EdhA3BnXw= google.golang.org/api v0.3.1/go.mod h1:6wY9I6uQWHQ8EM57III9mq/AjF+i8G65rmVagqKMtkk= google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= +google.golang.org/api v0.5.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= +google.golang.org/api v0.6.0/go.mod h1:btoxGiFvQNVUZQ8W08zLtrVS08CNpINPEfxXxgJL1Q4= +google.golang.org/api v0.6.1-0.20190607001116-5213b8090861/go.mod h1:btoxGiFvQNVUZQ8W08zLtrVS08CNpINPEfxXxgJL1Q4= google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= google.golang.org/api v0.9.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= @@ -1467,6 +3610,7 @@ google.golang.org/api v0.19.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/ google.golang.org/api v0.20.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= google.golang.org/api v0.22.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= google.golang.org/api v0.24.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= +google.golang.org/api v0.25.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= google.golang.org/api v0.28.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= google.golang.org/api v0.29.0/go.mod h1:Lcubydp8VUV7KeIHD9z2Bys/sm/vGKnG1UHuDBSrHWM= google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz5138Fc= @@ -1476,23 +3620,67 @@ google.golang.org/api v0.40.0/go.mod h1:fYKFpnQN0DsDSKRVRcQSDQNtqWPfM9i+zNPxepjR google.golang.org/api v0.41.0/go.mod h1:RkxM5lITDfTzmyKFPt+wGrCJbVfniCr2ool8kTBzRTU= google.golang.org/api v0.43.0/go.mod h1:nQsDGjRXMo4lvh5hP0TKqF244gqhGcr/YSIykhUk/94= google.golang.org/api v0.44.0/go.mod h1:EBOGZqzyhtvMDoxwS97ctnh0zUmYY6CxqXsc1AvkYD8= +google.golang.org/api v0.47.0/go.mod h1:Wbvgpq1HddcWVtzsVLyfLp8lDg6AA241LmgIL59tHXo= +google.golang.org/api v0.48.0/go.mod h1:71Pr1vy+TAZRPkPs/xlCf5SsU8WjuAWv1Pfjbtukyy4= +google.golang.org/api v0.50.0/go.mod h1:4bNT5pAuq5ji4SRZm+5QIkjny9JAyVD/3gaSihNefaw= +google.golang.org/api v0.51.0/go.mod h1:t4HdrdoNgyN5cbEfm7Lum0lcLDLiise1F8qDKX00sOU= +google.golang.org/api v0.54.0/go.mod h1:7C4bFFOvVDGXjfDTAsgGwDgAxRDeQ4X8NvUedIt6z3k= +google.golang.org/api v0.55.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqivdVE= +google.golang.org/api v0.56.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqivdVE= +google.golang.org/api v0.57.0/go.mod h1:dVPlbZyBo2/OjBpmvNdpn2GRm6rPy75jyU7bmhdrMgI= +google.golang.org/api v0.59.0/go.mod h1:sT2boj7M9YJxZzgeZqXogmhfmRWDtPzT31xkieUbuZU= +google.golang.org/api v0.61.0/go.mod h1:xQRti5UdCmoCEqFxcz93fTl338AVqDgyaDRuOZ3hg9I= +google.golang.org/api v0.62.0/go.mod h1:dKmwPCydfsad4qCH08MSdgWjfHOyfpd4VtDGgRFdavw= +google.golang.org/api v0.63.0/go.mod h1:gs4ij2ffTRXwuzzgJl/56BdwJaA194ijkfn++9tDuPo= +google.golang.org/api v0.67.0/go.mod h1:ShHKP8E60yPsKNw/w8w+VYaj9H6buA5UqDp8dhbQZ6g= +google.golang.org/api v0.70.0/go.mod h1:Bs4ZM2HGifEvXwd50TtW70ovgJffJYw2oRCOFU/SkfA= +google.golang.org/api v0.71.0/go.mod h1:4PyU6e6JogV1f9eA4voyrTY2batOLdgZ5qZ5HOCc4j8= +google.golang.org/api v0.74.0/go.mod h1:ZpfMZOVRMywNyvJFeqL9HRWBgAuRfSjJFpe9QtRRyDs= +google.golang.org/api v0.75.0/go.mod h1:pU9QmyHLnzlpar1Mjt4IbapUCy8J+6HD6GeELN69ljA= +google.golang.org/api v0.77.0/go.mod h1:pU9QmyHLnzlpar1Mjt4IbapUCy8J+6HD6GeELN69ljA= +google.golang.org/api v0.78.0/go.mod h1:1Sg78yoMLOhlQTeF+ARBoytAcH1NNyyl390YMy6rKmw= +google.golang.org/api v0.80.0/go.mod h1:xY3nI94gbvBrE0J6NHXhxOmW97HG7Khjkku6AFB3Hyg= +google.golang.org/api v0.81.0/go.mod h1:FA6Mb/bZxj706H2j+j2d6mHEEaHBmbbWnkfvmorOCko= +google.golang.org/api v0.84.0/go.mod h1:NTsGnUFJMYROtiquksZHBWtHfeMC7iYthki7Eq3pa8o= +google.golang.org/api v0.85.0/go.mod h1:AqZf8Ep9uZ2pyTvgL+x0D3Zt0eoT9b5E8fmzfu6FO2g= +google.golang.org/api v0.90.0/go.mod h1:+Sem1dnrKlrXMR/X0bPnMWyluQe4RsNoYfmNLhOIkzw= +google.golang.org/api v0.93.0/go.mod h1:+Sem1dnrKlrXMR/X0bPnMWyluQe4RsNoYfmNLhOIkzw= +google.golang.org/api v0.95.0/go.mod h1:eADj+UBuxkh5zlrSntJghuNeg8HwQ1w5lTKkuqaETEI= +google.golang.org/api v0.96.0/go.mod h1:w7wJQLTM+wvQpNf5JyEcBoxK0RH7EDrh/L4qfsuJ13s= +google.golang.org/api v0.97.0/go.mod h1:w7wJQLTM+wvQpNf5JyEcBoxK0RH7EDrh/L4qfsuJ13s= +google.golang.org/api v0.98.0/go.mod h1:w7wJQLTM+wvQpNf5JyEcBoxK0RH7EDrh/L4qfsuJ13s= +google.golang.org/api v0.99.0/go.mod h1:1YOf74vkVndF7pG6hIHuINsM7eWwpVTAfNMNiL91A08= +google.golang.org/api v0.100.0/go.mod h1:ZE3Z2+ZOr87Rx7dqFsdRQkRBk36kDtp/h+QpHbB7a70= +google.golang.org/api v0.102.0/go.mod h1:3VFl6/fzoA+qNuS1N1/VfXY4LjoXN/wzeIp7TweWwGo= +google.golang.org/api v0.126.0 h1:q4GJq+cAdMAC7XP7njvQ4tvohGLiSlytuL4BQxbIZ+o= +google.golang.org/api v0.126.0/go.mod h1:mBwVAtz+87bEN6CbA1GtZPDOqY2R5ONPqJeIlvyo4Aw= +google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/appengine v1.2.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= +google.golang.org/appengine v1.3.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= google.golang.org/appengine v1.6.2/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= +google.golang.org/appengine v1.6.7 h1:FZR1q0exgwxzPzp/aF+VccGrSfxfPpkBqjIIEq3ru6c= google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= +google.golang.org/cloud v0.0.0-20151119220103-975617b05ea8/go.mod h1:0H1ncTHf11KCFhTc/+EFRbzSCOZx+VUbRMk55Yv5MYk= google.golang.org/genproto v0.0.0-20170818010345-ee236bd376b0/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20180831171423-11092d34479b/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= +google.golang.org/genproto v0.0.0-20181029155118-b69ba1387ce2/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20181107211654-5fc9ac540362/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= +google.golang.org/genproto v0.0.0-20181219182458-5a97ab628bfb/go.mod h1:7Ep/1NZk928CDR8SjdVbjWNpdIf6nzjE3BTgJDr2Atg= google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190508193815-b515fa19cec8/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190522204451-c2c4e71fbf69/go.mod h1:z3L6/3dTEVtUr6QSP8miRzeRqwQOioJ9I66odjN4I7s= google.golang.org/genproto v0.0.0-20190530194941-fb225487d101/go.mod h1:z3L6/3dTEVtUr6QSP8miRzeRqwQOioJ9I66odjN4I7s= +google.golang.org/genproto v0.0.0-20190620144150-6af8c5fc6601/go.mod h1:z3L6/3dTEVtUr6QSP8miRzeRqwQOioJ9I66odjN4I7s= +google.golang.org/genproto v0.0.0-20190716160619-c506a9f90610/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8= @@ -1501,7 +3689,9 @@ google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod h1:n3cpQtvx google.golang.org/genproto v0.0.0-20191115194625-c23dd37a84c9/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20200108215221-bd8f9a0ef82f/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= google.golang.org/genproto v0.0.0-20200115191322-ca5a22157cba/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20200117163144-32f20d992d24/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= google.golang.org/genproto v0.0.0-20200122232147-0452cf42e150/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= google.golang.org/genproto v0.0.0-20200204135345-fa8e72b47b90/go.mod h1:GmwEX6Z4W5gMy59cAlVYjN9JhxgbQH6Gn+gFDQe2lzA= google.golang.org/genproto v0.0.0-20200212174721-66ed5ce911ce/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= @@ -1517,6 +3707,7 @@ google.golang.org/genproto v0.0.0-20200511104702-f5ebc3bea380/go.mod h1:55QSHmfG google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200515170657-fc4c6c6a6587/go.mod h1:YsZOwe1myG/8QRHRsmBRE1LrgQY60beZKjly0O1fX9U= google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= +google.golang.org/genproto v0.0.0-20200527145253-8367513e4ece/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA= google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA= 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= @@ -1524,24 +3715,153 @@ google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6D google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20200904004341-0bd0a958aa1d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201019141844-1ed22bb0c154/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20201109203340-2640f1f9cdfb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201111145450-ac7456db90a6/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201110150050-8816d57aaa9a/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20201119123407-9b1e624d6bc4/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20201201144952-b05cb90ed32e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20201210142538-e3217bee35cc/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20201214200347-8c77b98c765d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210108203827-ffc7fda8c3d7/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20210126160654-44e461bb6506/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20210222152913-aa3ee6e6a81c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210226172003-ab064af71705/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20210303154014-9728d6b83eeb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20210310155132-4ce2db91004e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20210319143718-93e7006c17a6/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210329143202-679c6ae281ee/go.mod h1:9lPAdzaEmUacj36I+k7YKbEc5CXzPIeORRgDAUOu28A= google.golang.org/genproto v0.0.0-20210402141018-6c239bbf2bb1/go.mod h1:9lPAdzaEmUacj36I+k7YKbEc5CXzPIeORRgDAUOu28A= +google.golang.org/genproto v0.0.0-20210513213006-bf773b8c8384/go.mod h1:P3QM42oQyzQSnHPnZ/vqoCdDmzH28fzWByN9asMeM8A= google.golang.org/genproto v0.0.0-20210602131652-f16073e35f0c/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= +google.golang.org/genproto v0.0.0-20210604141403-392c879c8b08/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= +google.golang.org/genproto v0.0.0-20210608205507-b6d2f5bf0d7d/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= +google.golang.org/genproto v0.0.0-20210624195500-8bfb893ecb84/go.mod h1:SzzZ/N+nwJDaO1kznhnlzqS8ocJICar6hYhVyhi++24= +google.golang.org/genproto v0.0.0-20210713002101-d411969a0d9a/go.mod h1:AxrInvYm1dci+enl5hChSFPOmmUF1+uAa/UsgNRWd7k= +google.golang.org/genproto v0.0.0-20210716133855-ce7ef5c701ea/go.mod h1:AxrInvYm1dci+enl5hChSFPOmmUF1+uAa/UsgNRWd7k= +google.golang.org/genproto v0.0.0-20210728212813-7823e685a01f/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48= +google.golang.org/genproto v0.0.0-20210805201207-89edb61ffb67/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48= +google.golang.org/genproto v0.0.0-20210813162853-db860fec028c/go.mod h1:cFeNkxwySK631ADgubI+/XFU/xp8FD5KIVV4rj8UC5w= +google.golang.org/genproto v0.0.0-20210821163610-241b8fcbd6c8/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= google.golang.org/genproto v0.0.0-20210828152312-66f60bf46e71/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= -google.golang.org/genproto v0.0.0-20221207170731-23e4bf6bdc37 h1:jmIfw8+gSvXcZSgaFAGyInDXeWzUhvYH57G/5GKMn70= -google.golang.org/genproto v0.0.0-20221207170731-23e4bf6bdc37/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= -google.golang.org/grpc v1.33.2 h1:EQyQC3sa8M+p6Ulc8yy9SWSS2GVwyRc83gAbG8lrl4o= +google.golang.org/genproto v0.0.0-20210831024726-fe130286e0e2/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= +google.golang.org/genproto v0.0.0-20210903162649-d08c68adba83/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= +google.golang.org/genproto v0.0.0-20210909211513-a8c4777a87af/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= +google.golang.org/genproto v0.0.0-20210917145530-b395a37504d4/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= +google.golang.org/genproto v0.0.0-20210924002016-3dee208752a0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211008145708-270636b82663/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211028162531-8db9c33dc351/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211118181313-81c1377c94b1/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211129164237-f09f9a12af12/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211203200212-54befc351ae9/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211206160659-862468c7d6e0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211208223120-3a66f561d7aa/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211221195035-429b39de9b1c/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20220126215142-9970aeb2e350/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20220207164111-0872dc986b00/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20220218161850-94dd64e39d7c/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= +google.golang.org/genproto v0.0.0-20220222213610-43724f9ea8cf/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= +google.golang.org/genproto v0.0.0-20220304144024-325a89244dc8/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= +google.golang.org/genproto v0.0.0-20220310185008-1973136f34c6/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI= +google.golang.org/genproto v0.0.0-20220324131243-acbaeb5b85eb/go.mod h1:hAL49I2IFola2sVEjAn7MEwsja0xp51I0tlGAf9hz4E= +google.golang.org/genproto v0.0.0-20220407144326-9054f6ed7bac/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= +google.golang.org/genproto v0.0.0-20220413183235-5e96e2839df9/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= +google.golang.org/genproto v0.0.0-20220414192740-2d67ff6cf2b4/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= +google.golang.org/genproto v0.0.0-20220421151946-72621c1f0bd3/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= +google.golang.org/genproto v0.0.0-20220429170224-98d788798c3e/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= +google.golang.org/genproto v0.0.0-20220502173005-c8bf987b8c21/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4= +google.golang.org/genproto v0.0.0-20220505152158-f39f71e6c8f3/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4= +google.golang.org/genproto v0.0.0-20220518221133-4f43b3371335/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4= +google.golang.org/genproto v0.0.0-20220519153652-3a47de7e79bd/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4= +google.golang.org/genproto v0.0.0-20220523171625-347a074981d8/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4= +google.golang.org/genproto v0.0.0-20220608133413-ed9918b62aac/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= +google.golang.org/genproto v0.0.0-20220616135557-88e70c0c3a90/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= +google.golang.org/genproto v0.0.0-20220617124728-180714bec0ad/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= +google.golang.org/genproto v0.0.0-20220624142145-8cd45d7dbd1f/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= +google.golang.org/genproto v0.0.0-20220628213854-d9e0b6570c03/go.mod h1:KEWEmljWE5zPzLBa/oHl6DaEt9LmfH6WtH1OHIvleBA= +google.golang.org/genproto v0.0.0-20220722212130-b98a9ff5e252/go.mod h1:GkXuJDJ6aQ7lnJcRF+SJVgFdQhypqgl3LB1C9vabdRE= +google.golang.org/genproto v0.0.0-20220801145646-83ce21fca29f/go.mod h1:iHe1svFLAZg9VWz891+QbRMwUv9O/1Ww+/mngYeThbc= +google.golang.org/genproto v0.0.0-20220815135757-37a418bb8959/go.mod h1:dbqgFATTzChvnt+ujMdZwITVAJHFtfyN1qUhDqEiIlk= +google.golang.org/genproto v0.0.0-20220817144833-d7fd3f11b9b1/go.mod h1:dbqgFATTzChvnt+ujMdZwITVAJHFtfyN1qUhDqEiIlk= +google.golang.org/genproto v0.0.0-20220822174746-9e6da59bd2fc/go.mod h1:dbqgFATTzChvnt+ujMdZwITVAJHFtfyN1qUhDqEiIlk= +google.golang.org/genproto v0.0.0-20220829144015-23454907ede3/go.mod h1:dbqgFATTzChvnt+ujMdZwITVAJHFtfyN1qUhDqEiIlk= +google.golang.org/genproto v0.0.0-20220829175752-36a9c930ecbf/go.mod h1:dbqgFATTzChvnt+ujMdZwITVAJHFtfyN1qUhDqEiIlk= +google.golang.org/genproto v0.0.0-20220913154956-18f8339a66a5/go.mod h1:0Nb8Qy+Sk5eDzHnzlStwW3itdNaWoZA5XeSG+R3JHSo= +google.golang.org/genproto v0.0.0-20220914142337-ca0e39ece12f/go.mod h1:0Nb8Qy+Sk5eDzHnzlStwW3itdNaWoZA5XeSG+R3JHSo= +google.golang.org/genproto v0.0.0-20220915135415-7fd63a7952de/go.mod h1:0Nb8Qy+Sk5eDzHnzlStwW3itdNaWoZA5XeSG+R3JHSo= +google.golang.org/genproto v0.0.0-20220916172020-2692e8806bfa/go.mod h1:0Nb8Qy+Sk5eDzHnzlStwW3itdNaWoZA5XeSG+R3JHSo= +google.golang.org/genproto v0.0.0-20220919141832-68c03719ef51/go.mod h1:0Nb8Qy+Sk5eDzHnzlStwW3itdNaWoZA5XeSG+R3JHSo= +google.golang.org/genproto v0.0.0-20220920201722-2b89144ce006/go.mod h1:ht8XFiar2npT/g4vkk7O0WYS1sHOHbdujxbEp7CJWbw= +google.golang.org/genproto v0.0.0-20220926165614-551eb538f295/go.mod h1:woMGP53BroOrRY3xTxlbr8Y3eB/nzAvvFM83q7kG2OI= +google.golang.org/genproto v0.0.0-20220926220553-6981cbe3cfce/go.mod h1:woMGP53BroOrRY3xTxlbr8Y3eB/nzAvvFM83q7kG2OI= +google.golang.org/genproto v0.0.0-20221010155953-15ba04fc1c0e/go.mod h1:3526vdqwhZAwq4wsRUaVG555sVgsNmIjRtO7t/JH29U= +google.golang.org/genproto v0.0.0-20221014173430-6e2ab493f96b/go.mod h1:1vXfmgAz9N9Jx0QA82PqRVauvCz1SGSz739p0f183jM= +google.golang.org/genproto v0.0.0-20221014213838-99cd37c6964a/go.mod h1:1vXfmgAz9N9Jx0QA82PqRVauvCz1SGSz739p0f183jM= +google.golang.org/genproto v0.0.0-20221024153911-1573dae28c9c/go.mod h1:9qHF0xnpdSfF6knlcsnpzUu5y+rpwgbvsyGAZPBMg4s= +google.golang.org/genproto v0.0.0-20221024183307-1bc688fe9f3e/go.mod h1:9qHF0xnpdSfF6knlcsnpzUu5y+rpwgbvsyGAZPBMg4s= +google.golang.org/genproto v0.0.0-20221025140454-527a21cfbd71/go.mod h1:9qHF0xnpdSfF6knlcsnpzUu5y+rpwgbvsyGAZPBMg4s= +google.golang.org/genproto v0.0.0-20221027153422-115e99e71e1c/go.mod h1:CGI5F/G+E5bKwmfYo09AXuVN4dD894kIKUFmVbP2/Fo= +google.golang.org/genproto v0.0.0-20221118155620-16455021b5e6/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg= +google.golang.org/genproto v0.0.0-20230803162519-f966b187b2e5 h1:L6iMMGrtzgHsWofoFcihmDEMYeDR9KN/ThbPWGrh++g= +google.golang.org/genproto v0.0.0-20230803162519-f966b187b2e5/go.mod h1:oH/ZOT02u4kWEp7oYBGYFFkCdKS/uYR9Z7+0/xuuFp8= +google.golang.org/genproto/googleapis/api v0.0.0-20230822172742-b8732ec3820d h1:DoPTO70H+bcDXcd39vOqb2viZxgqeBeSGtZ55yZU4/Q= +google.golang.org/genproto/googleapis/api v0.0.0-20230822172742-b8732ec3820d/go.mod h1:KjSP20unUpOx5kyQUFa7k4OJg0qeJ7DEZflGDu2p6Bk= +google.golang.org/genproto/googleapis/bytestream v0.0.0-20230530153820-e85fd2cbaebc/go.mod h1:ylj+BE99M198VPbBh6A8d9n3w8fChvyLK3wwBOjXBFA= +google.golang.org/genproto/googleapis/rpc v0.0.0-20230822172742-b8732ec3820d h1:uvYuEyMHKNt+lT4K3bN6fGswmK8qSvcreM3BwjDh+y4= +google.golang.org/genproto/googleapis/rpc v0.0.0-20230822172742-b8732ec3820d/go.mod h1:+Bk1OCOj40wS2hwAMA+aCW9ypzm63QTBBHp6lQ3p+9M= +google.golang.org/grpc v0.0.0-20160317175043-d3ddb4469d5a/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= +google.golang.org/grpc v1.8.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= +google.golang.org/grpc v1.14.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= +google.golang.org/grpc v1.16.0/go.mod h1:0JHn/cJsOMiMfNA9+DeHDlAU7KAAB5GDlYFpa9MZMio= +google.golang.org/grpc v1.17.0/go.mod h1:6QZJwpn2B+Zp71q/5VxRsJ6NXXVCE5NRUHRo+f3cWCs= +google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= +google.golang.org/grpc v1.19.1/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= +google.golang.org/grpc v1.20.0/go.mod h1:chYK+tFQF0nDUGJgXMSgLCQk3phJEuONr2DCgLDdAQM= +google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= +google.golang.org/grpc v1.21.0/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= +google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= +google.golang.org/grpc v1.22.1/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= +google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= +google.golang.org/grpc v1.23.1/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= +google.golang.org/grpc v1.24.0/go.mod h1:XDChyiUovWa60DnaeDeZmSW86xtLtjtZbwvSiRnRtcA= +google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= +google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/grpc v1.27.1/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/grpc v1.28.0/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKal+60= +google.golang.org/grpc v1.29.0/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk= +google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk= +google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= +google.golang.org/grpc v1.31.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= +google.golang.org/grpc v1.31.1/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= +google.golang.org/grpc v1.32.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= +google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTpR3n0= google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= +google.golang.org/grpc v1.34.0/go.mod h1:WotjhfgOW/POjDeRt8vscBtXq+2VjORFy659qA51WJ8= +google.golang.org/grpc v1.35.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= +google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= +google.golang.org/grpc v1.36.1/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= +google.golang.org/grpc v1.37.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= +google.golang.org/grpc v1.37.1/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= +google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= +google.golang.org/grpc v1.39.0/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE= +google.golang.org/grpc v1.39.1/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE= +google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= +google.golang.org/grpc v1.40.1/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= +google.golang.org/grpc v1.42.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= +google.golang.org/grpc v1.43.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= +google.golang.org/grpc v1.44.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= +google.golang.org/grpc v1.45.0/go.mod h1:lN7owxKUQEqMfSyQikvvk5tf/6zMPsrK+ONuO11+0rQ= +google.golang.org/grpc v1.46.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= +google.golang.org/grpc v1.46.2/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= +google.golang.org/grpc v1.47.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= +google.golang.org/grpc v1.48.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= +google.golang.org/grpc v1.49.0/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= +google.golang.org/grpc v1.50.0/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= +google.golang.org/grpc v1.50.1/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= +google.golang.org/grpc v1.52.0/go.mod h1:pu6fVzoFb+NBYNAvQL08ic+lvB2IojljRYuun5vorUY= +google.golang.org/grpc v1.58.0 h1:32JY8YpPMSR45K+c3o6b8VL73V+rR8k+DeMIr4vRH8o= +google.golang.org/grpc v1.58.0/go.mod h1:tgX3ZQDlNJGU96V6yHh1T/JeoBQ2TXdr43YbYSsCJk0= +google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= @@ -1556,29 +3876,49 @@ google.golang.org/protobuf v1.25.1-0.20200805231151-a709e31e5d12/go.mod h1:9JNX7 google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.28.1 h1:d0NfwRgPtno5B1Wa6L2DAG+KivqkdutMf1UhdNx175w= +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.28.2-0.20220831092852-f930b1dc76e8/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +google.golang.org/protobuf v1.31.0 h1:g0LDEJHgrBl9N9r17Ru3sqWhkIx2NB67okBHPwC7hs8= +google.golang.org/protobuf v1.31.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +gopkg.in/airbrake/gobrake.v2 v2.0.9/go.mod h1:/h5ZAUhDkGaJfjzjKLSjv6zCL6O0LLBxU4K+aSYdM/U= 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-20141024133853-64131543e789/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20200902074654-038fdea0a05b h1:QRR6H1YWRnHb4Y/HeNFCTJLFVxaq6wH4YuVdsUOr75U= gopkg.in/check.v1 v1.0.0-20200902074654-038fdea0a05b/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/cheggaaa/pb.v1 v1.0.25/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qStrOgw= +gopkg.in/cheggaaa/pb.v1 v1.0.27/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qStrOgw= gopkg.in/cheggaaa/pb.v1 v1.0.28/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qStrOgw= gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= +gopkg.in/gcfg.v1 v1.2.0/go.mod h1:yesOnuUOFQAhST5vPY4nbZsb/huCgGGXlipJsBn0b3o= gopkg.in/gcfg.v1 v1.2.3/go.mod h1:yesOnuUOFQAhST5vPY4nbZsb/huCgGGXlipJsBn0b3o= +gopkg.in/gemnasium/logrus-airbrake-hook.v2 v2.1.2/go.mod h1:Xk6kEKp8OKb+X14hQBKWaSkCsqBpgog8nAV2xsGOxlo= +gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= gopkg.in/ini.v1 v1.51.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= -gopkg.in/ini.v1 v1.62.0 h1:duBzk771uxoUuOlyRLkHsygud9+5lrlGjdFBb4mSKDU= +gopkg.in/ini.v1 v1.56.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= gopkg.in/ini.v1 v1.62.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= +gopkg.in/ini.v1 v1.66.2/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= +gopkg.in/ini.v1 v1.66.4/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= +gopkg.in/ini.v1 v1.66.6/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= +gopkg.in/ini.v1 v1.67.0 h1:Dgnx+6+nfE+IfzjUEISNeydPJh9AXNNsWbGP9KzCsOA= +gopkg.in/ini.v1 v1.67.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= +gopkg.in/natefinch/lumberjack.v2 v2.0.0/go.mod h1:l0ndWWf7gzL7RNwBG7wST/UCcT4T24xpD6X8LsfU/+k= gopkg.in/natefinch/npipe.v2 v2.0.0-20160621034901-c1b8fa8bdcce/go.mod h1:5AcXVHNjg+BDxry382+8OKon8SEWiKktQR07RKPsv1c= gopkg.in/olebedev/go-duktape.v3 v3.0.0-20200619000410-60c24ae608a6/go.mod h1:uAJfkITjFhyEEuUfm7bsmCZRbW5WRq8s9EY8HZ6hCns= gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo= +gopkg.in/square/go-jose.v2 v2.2.2/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= +gopkg.in/square/go-jose.v2 v2.3.1/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= +gopkg.in/square/go-jose.v2 v2.5.1/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ= gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= gopkg.in/urfave/cli.v1 v1.20.0/go.mod h1:vuBzUtMdQeixQj8LVd+/98pzhxNGQoyuPBlsXHOQNO0= +gopkg.in/warnings.v0 v0.1.1/go.mod h1:jksf8JmL6Qr/oQM2OXTHunEvvTAsrWBLb6OOjuVWRNI= gopkg.in/warnings.v0 v0.1.2/go.mod h1:jksf8JmL6Qr/oQM2OXTHunEvvTAsrWBLb6OOjuVWRNI= gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74= gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= @@ -1587,15 +3927,24 @@ gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.5/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.6/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.7/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.0/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= 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.0.3/go.mod h1:Z7Lb0S5l+klDB31fvDQX8ss/FlKDxtlFlw3Oa8Ymbl8= +gotest.tools/v3 v3.2.0/go.mod h1:Mcr9QNxkg0uMvy/YElmo4SpXgJKWgQvYrT7Kw5RzJ1A= +grpc.go4.org v0.0.0-20170609214715-11d0a25b4919/go.mod h1:77eQGdRu53HpSqPFJFmuJdjuHRquDANNeA4x7B8WQ9o= +honnef.co/go/tools v0.0.0-20180728063816-88497007e858/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20180920025451-e3ad64cb4ed3/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= @@ -1603,15 +3952,125 @@ honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWh honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= +honnef.co/go/tools v0.0.1-2020.1.5/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= +honnef.co/go/tools v0.1.3/go.mod h1:NgwopIslSNH47DimFoV78dnkksY2EFtX0ajyb3K/las= honnef.co/go/tools v0.2.1/go.mod h1:lPVVZ2BS5TfnjLyizF7o7hv7j9/L+8cZY2hLyjP9cGY= +honnef.co/go/tools v0.3.3/go.mod h1:jzwdWgg7Jdq75wlfblQxO4neNaFFSvgc1tD5Wv8U0Yw= +k8s.io/api v0.0.0-20180904230853-4e7be11eab3f/go.mod h1:iuAfoD4hCxJ8Onx9kaTIt30j7jUFS00AXQi6QMi99vA= +k8s.io/api v0.17.4/go.mod h1:5qxx6vjmwUVG2nHQTKGlLts8Tbok8PzHl4vHtVFuZCA= +k8s.io/api v0.19.0/go.mod h1:I1K45XlvTrDjmj5LoM5LuP/KYrhWbjUKT/SoPG0qTjw= +k8s.io/api v0.20.1/go.mod h1:KqwcCVogGxQY3nBlRpwt+wpAMF/KjaCc7RpywacvqUo= +k8s.io/api v0.20.4/go.mod h1:++lNL1AJMkDymriNniQsWRkMDzRaX2Y/POTUi8yvqYQ= +k8s.io/api v0.20.6/go.mod h1:X9e8Qag6JV/bL5G6bU8sdVRltWKmdHsFUGS3eVndqE8= +k8s.io/api v0.22.5/go.mod h1:mEhXyLaSD1qTOf40rRiKXkc+2iCem09rWLlFwhCEiAs= +k8s.io/api v0.23.4/go.mod h1:i77F4JfyNNrhOjZF7OwwNJS5Y1S9dpwvb9iYRYRczfI= +k8s.io/apimachinery v0.0.0-20180904193909-def12e63c512/go.mod h1:ccL7Eh7zubPUSh9A3USN90/OzHNSVN6zxzde07TDCL0= +k8s.io/apimachinery v0.17.4/go.mod h1:gxLnyZcGNdZTCLnq3fgzyg2A5BVCHTNDFrw8AmuJ+0g= +k8s.io/apimachinery v0.19.0/go.mod h1:DnPGDnARWFvYa3pMHgSxtbZb7gpzzAZ1pTfaUNDVlmA= +k8s.io/apimachinery v0.20.1/go.mod h1:WlLqWAHZGg07AeltaI0MV5uk1Omp8xaN0JGLY6gkRpU= +k8s.io/apimachinery v0.20.4/go.mod h1:WlLqWAHZGg07AeltaI0MV5uk1Omp8xaN0JGLY6gkRpU= +k8s.io/apimachinery v0.20.6/go.mod h1:ejZXtW1Ra6V1O5H8xPBGz+T3+4gfkTCeExAHKU57MAc= +k8s.io/apimachinery v0.22.1/go.mod h1:O3oNtNadZdeOMxHFVxOreoznohCpy0z6mocxbZr7oJ0= +k8s.io/apimachinery v0.22.5/go.mod h1:xziclGKwuuJ2RM5/rSFQSYAj0zdbci3DH8kj+WvyN0U= +k8s.io/apimachinery v0.23.4/go.mod h1:BEuFMMBaIbcOqVIJqNZJXGFTP4W6AycEpb5+m/97hrM= +k8s.io/apiserver v0.17.4/go.mod h1:5ZDQ6Xr5MNBxyi3iUZXS84QOhZl+W7Oq2us/29c0j9I= +k8s.io/apiserver v0.20.1/go.mod h1:ro5QHeQkgMS7ZGpvf4tSMx6bBOgPfE+f52KwvXfScaU= +k8s.io/apiserver v0.20.4/go.mod h1:Mc80thBKOyy7tbvFtB4kJv1kbdD0eIH8k8vianJcbFM= +k8s.io/apiserver v0.20.6/go.mod h1:QIJXNt6i6JB+0YQRNcS0hdRHJlMhflFmsBDeSgT1r8Q= +k8s.io/apiserver v0.22.5/go.mod h1:s2WbtgZAkTKt679sYtSudEQrTGWUSQAPe6MupLnlmaQ= +k8s.io/client-go v0.0.0-20180910083459-2cefa64ff137/go.mod h1:7vJpHMYJwNQCWgzmNV+VYUl1zCObLyodBc8nIyt8L5s= +k8s.io/client-go v0.17.4/go.mod h1:ouF6o5pz3is8qU0/qYL2RnoxOPqgfuidYLowytyLJmc= +k8s.io/client-go v0.19.0/go.mod h1:H9E/VT95blcFQnlyShFgnFT9ZnJOAceiUHM3MlRC+mU= +k8s.io/client-go v0.20.1/go.mod h1:/zcHdt1TeWSd5HoUe6elJmHSQ6uLLgp4bIJHVEuy+/Y= +k8s.io/client-go v0.20.4/go.mod h1:LiMv25ND1gLUdBeYxBIwKpkSC5IsozMMmOOeSJboP+k= +k8s.io/client-go v0.20.6/go.mod h1:nNQMnOvEUEsOzRRFIIkdmYOjAZrC8bgq0ExboWSU1I0= +k8s.io/client-go v0.22.5/go.mod h1:cs6yf/61q2T1SdQL5Rdcjg9J1ElXSwbjSrW2vFImM4Y= +k8s.io/client-go v0.23.4/go.mod h1:PKnIL4pqLuvYUK1WU7RLTMYKPiIh7MYShLshtRY9cj0= +k8s.io/cloud-provider v0.17.4/go.mod h1:XEjKDzfD+b9MTLXQFlDGkk6Ho8SGMpaU8Uugx/KNK9U= +k8s.io/code-generator v0.17.2/go.mod h1:DVmfPQgxQENqDIzVR2ddLXMH34qeszkKSdH/N+s+38s= +k8s.io/code-generator v0.19.7/go.mod h1:lwEq3YnLYb/7uVXLorOJfxg+cUu2oihFhHZ0n9NIla0= +k8s.io/component-base v0.17.4/go.mod h1:5BRqHMbbQPm2kKu35v3G+CpVq4K0RJKC7TRioF0I9lE= +k8s.io/component-base v0.20.1/go.mod h1:guxkoJnNoh8LNrbtiQOlyp2Y2XFCZQmrcg2n/DeYNLk= +k8s.io/component-base v0.20.4/go.mod h1:t4p9EdiagbVCJKrQ1RsA5/V4rFQNDfRlevJajlGwgjI= +k8s.io/component-base v0.20.6/go.mod h1:6f1MPBAeI+mvuts3sIdtpjljHWBQ2cIy38oBIWMYnrM= +k8s.io/component-base v0.22.5/go.mod h1:VK3I+TjuF9eaa+Ln67dKxhGar5ynVbwnGrUiNF4MqCI= +k8s.io/cri-api v0.17.3/go.mod h1:X1sbHmuXhwaHs9xxYffLqJogVsnI+f6cPRcgPel7ywM= +k8s.io/cri-api v0.20.1/go.mod h1:2JRbKt+BFLTjtrILYVqQK5jqhI+XNdF6UiGMgczeBCI= +k8s.io/cri-api v0.20.4/go.mod h1:2JRbKt+BFLTjtrILYVqQK5jqhI+XNdF6UiGMgczeBCI= +k8s.io/cri-api v0.20.6/go.mod h1:ew44AjNXwyn1s0U4xCKGodU7J1HzBeZ1MpGrpa5r8Yc= +k8s.io/cri-api v0.23.1/go.mod h1:REJE3PSU0h/LOV1APBrupxrEJqnoxZC8KWzkBUHwrK4= +k8s.io/cri-api v0.24.0-alpha.3/go.mod h1:c/NLI5Zdyup5+oEYqFO2IE32ptofNiZpS1nL2y51gAg= +k8s.io/csi-translation-lib v0.17.4/go.mod h1:CsxmjwxEI0tTNMzffIAcgR9lX4wOh6AKHdxQrT7L0oo= +k8s.io/gengo v0.0.0-20190128074634-0689ccc1d7d6/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0= +k8s.io/gengo v0.0.0-20190822140433-26a664648505/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0= +k8s.io/gengo v0.0.0-20200413195148-3a45101e95ac/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0= +k8s.io/gengo v0.0.0-20200428234225-8167cfdcfc14/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0= +k8s.io/gengo v0.0.0-20201113003025-83324d819ded/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E= +k8s.io/gengo v0.0.0-20210813121822-485abfe95c7c/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E= +k8s.io/klog v0.0.0-20181102134211-b9b56d5dfc92/go.mod h1:Gq+BEi5rUBO/HRz0bTSXDUcqjScdoY3a9IHpCEIOOfk= +k8s.io/klog v0.3.0/go.mod h1:Gq+BEi5rUBO/HRz0bTSXDUcqjScdoY3a9IHpCEIOOfk= +k8s.io/klog v1.0.0/go.mod h1:4Bi6QPql/J/LkTDqv7R/cd3hPo4k2DG6Ptcz060Ez5I= +k8s.io/klog/v2 v2.0.0/go.mod h1:PBfzABfn139FHAV07az/IF9Wp1bkk3vpT2XSJ76fSDE= +k8s.io/klog/v2 v2.2.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y= +k8s.io/klog/v2 v2.4.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y= +k8s.io/klog/v2 v2.9.0/go.mod h1:hy9LJ/NvuK+iVyP4Ehqva4HxZG/oXyIS3n3Jmire4Ec= +k8s.io/klog/v2 v2.30.0/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= +k8s.io/kube-openapi v0.0.0-20180731170545-e3762e86a74c/go.mod h1:BXM9ceUBTj2QnfH2MK1odQs778ajze1RxcmP6S8RVVc= +k8s.io/kube-openapi v0.0.0-20191107075043-30be4d16710a/go.mod h1:1TqjTSzOxsLGIKfj0lK8EeCP7K1iUG65v09OM0/WG5E= +k8s.io/kube-openapi v0.0.0-20200805222855-6aeccd4b50c6/go.mod h1:UuqjUnNftUyPE5H64/qeyjQoUZhGpeFDVdxjTeEVN2o= +k8s.io/kube-openapi v0.0.0-20201113171705-d219536bb9fd/go.mod h1:WOJ3KddDSol4tAGcJo0Tvi+dK12EcqSLqcWsryKMpfM= +k8s.io/kube-openapi v0.0.0-20210421082810-95288971da7e/go.mod h1:vHXdDvt9+2spS2Rx9ql3I8tycm3H9FDfdUoIuKCefvw= +k8s.io/kube-openapi v0.0.0-20211109043538-20434351676c/go.mod h1:vHXdDvt9+2spS2Rx9ql3I8tycm3H9FDfdUoIuKCefvw= +k8s.io/kube-openapi v0.0.0-20211115234752-e816edb12b65/go.mod h1:sX9MT8g7NVZM5lVL/j8QyCCJe8YSMW30QvGZWaCIDIk= +k8s.io/kubernetes v1.11.10/go.mod h1:ocZa8+6APFNC2tX1DZASIbocyYT5jHzqFVsY5aoB7Jk= +k8s.io/kubernetes v1.13.0/go.mod h1:ocZa8+6APFNC2tX1DZASIbocyYT5jHzqFVsY5aoB7Jk= +k8s.io/legacy-cloud-providers v0.17.4/go.mod h1:FikRNoD64ECjkxO36gkDgJeiQWwyZTuBkhu+yxOc1Js= +k8s.io/utils v0.0.0-20191114184206-e782cd3c129f/go.mod h1:sZAwmy6armz5eXlNoLmJcl4F1QuKu7sr+mFQ0byX7Ew= +k8s.io/utils v0.0.0-20200729134348-d5654de09c73/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= +k8s.io/utils v0.0.0-20201110183641-67b214c5f920/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= +k8s.io/utils v0.0.0-20210802155522-efc7438f0176/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= +k8s.io/utils v0.0.0-20210819203725-bdf08cb9a70a/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= +k8s.io/utils v0.0.0-20210930125809-cb0fa318a74b/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= +k8s.io/utils v0.0.0-20211116205334-6203023598ed/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= +modernc.org/cc v1.0.0/go.mod h1:1Sk4//wdnYJiUIxnW8ddKpaOJCF37yAdqYnkxUpaYxw= +modernc.org/golex v1.0.0/go.mod h1:b/QX9oBD/LhixY6NDh+IdGv17hgB+51fET1i2kPSmvk= +modernc.org/mathutil v1.0.0/go.mod h1:wU0vUrJsVWBZ4P6e7xtFJEhFSNsfRLJ8H458uRjg03k= +modernc.org/strutil v1.0.0/go.mod h1:lstksw84oURvj9y3tn8lGvRxyRC1S2+g5uuIzNfIOBs= +modernc.org/xc v1.0.0/go.mod h1:mRNCo0bvLjGhHO9WsyuKVU4q0ceiDDDoEeWDJHrNx8I= mvdan.cc/gofumpt v0.1.1/go.mod h1:yXG1r1WqZVKWbVRtBWKWX9+CxGYfA51nSomhM0woR48= +mvdan.cc/gofumpt v0.4.0/go.mod h1:PljLOHDeZqgS8opHRKLzp2It2VBuSdteAgqUfzMTxlQ= 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-20190720180237-d51796306d8f/go.mod h1:4G1h5nDURzA3bwVMZIVpwbkw+04kSxk3rAtzlimaUJw= +mvdan.cc/unparam v0.0.0-20200501210554-b37ab49443f7/go.mod h1:HGC5lll35J70Y5v7vCGb9oLhHoScFwkHDJm/05RdSTc= mvdan.cc/unparam v0.0.0-20210104141923-aac4ce9116a7/go.mod h1:hBpJkZE8H/sb+VRFvw2+rBpHNsTBcvSpk61hr8mzXZE= -nhooyr.io/websocket v1.8.6 h1:s+C3xAMLwGmlI31Nyn/eAehUlZPwfYZu2JXM621Q5/k= +mvdan.cc/unparam v0.0.0-20220706161116-678bad134442/go.mod h1:F/Cxw/6mVrNKqrR2YjFf5CaW0Bw4RL8RfbEf4GRggJk= nhooyr.io/websocket v1.8.6/go.mod h1:B70DZP8IakI65RVQ51MsWP/8jndNma26DVA/nFSCgW0= +nhooyr.io/websocket v1.8.7 h1:usjR2uOr/zjjkVMy0lW+PPohFok7PCow5sDjLgX4P4g= +nhooyr.io/websocket v1.8.7/go.mod h1:B70DZP8IakI65RVQ51MsWP/8jndNma26DVA/nFSCgW0= +pack.ag/amqp v0.11.2/go.mod h1:4/cbmt4EJXSKlG6LCfWHoqmN0uFdy5i/+YFz+fTfhV4= +pgregory.net/rapid v0.5.3 h1:163N50IHFqr1phZens4FQOdPgfJscR7a562mjQqeo4M= +pgregory.net/rapid v0.5.3/go.mod h1:PY5XlDGj0+V1FCq0o192FdRhpKHGTRIWBgqjDBTrq04= rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= +rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4= rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= +rsc.io/tmplfunc v0.0.3/go.mod h1:AG3sTPzElb1Io3Yg4voV9AGZJuleGAwaVRxL9M49PhA= +sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.14/go.mod h1:LEScyzhFmoF5pso/YSeBstl57mOzx9xlU9n85RGrDQg= +sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.15/go.mod h1:LEScyzhFmoF5pso/YSeBstl57mOzx9xlU9n85RGrDQg= +sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.22/go.mod h1:LEScyzhFmoF5pso/YSeBstl57mOzx9xlU9n85RGrDQg= +sigs.k8s.io/json v0.0.0-20211020170558-c049b76a60c6/go.mod h1:p4QtZmO4uMYipTQNzagwnNoseA6OxSUutVw05NhYDRs= +sigs.k8s.io/structured-merge-diff v0.0.0-20190525122527-15d366b2352e/go.mod h1:wWxsB5ozmmv/SG7nM11ayaAW51xMvak/t1r0CSlcokI= +sigs.k8s.io/structured-merge-diff v1.0.1-0.20191108220359-b1b620dd3f06/go.mod h1:/ULNhyfzRopfcjskuui0cTITekDduZ7ycKN3oUT9R18= +sigs.k8s.io/structured-merge-diff/v4 v4.0.1/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK1F7G282QMXDPYydCw= +sigs.k8s.io/structured-merge-diff/v4 v4.0.2/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK1F7G282QMXDPYydCw= +sigs.k8s.io/structured-merge-diff/v4 v4.0.3/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK1F7G282QMXDPYydCw= +sigs.k8s.io/structured-merge-diff/v4 v4.1.2/go.mod h1:j/nl6xW8vLS49O8YvXW1ocPhZawJtm+Yrr7PPRQ0Vg4= +sigs.k8s.io/structured-merge-diff/v4 v4.2.1/go.mod h1:j/nl6xW8vLS49O8YvXW1ocPhZawJtm+Yrr7PPRQ0Vg4= sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o= +sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc= +sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo= +sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8= sourcegraph.com/sourcegraph/appdash v0.0.0-20190731080439-ebfcffb1b5c0/go.mod h1:hI742Nqp5OhwiqlzhgfbWU4mW4yO10fP+LoT9WOswdU= +sourcegraph.com/sqs/pbtypes v0.0.0-20180604144634-d3ebe8f20ae4/go.mod h1:ketZ/q3QxT9HOBeFhu6RdvsftgpsbFHBF5Cas6cDKZ0= +sourcegraph.com/sqs/pbtypes v1.0.0/go.mod h1:3AciMUv4qUuRHRHhOG4TZOB+72GdPVz5k+c648qsFS4= diff --git a/ignite b/ignite index 7dd86d2d..a6d933f2 100755 --- a/ignite +++ b/ignite @@ -4,7 +4,7 @@ # Takes optional `--path ` option to specify an ingite installation at a different location then the default one # All other arguments are passed on to ignite -IGNITE_VERSION="v0.25.2" +IGNITE_VERSION="v0.26.1" if [[ $1 == "--path" ]]; then diff --git a/package-lock.json b/package-lock.json deleted file mode 100644 index 48e341a0..00000000 --- a/package-lock.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "lockfileVersion": 1 -} diff --git a/proto/buf.lock b/proto/buf.lock new file mode 100644 index 00000000..6d72688e --- /dev/null +++ b/proto/buf.lock @@ -0,0 +1,23 @@ +# Generated by buf. DO NOT EDIT. +version: v1 +deps: + - remote: buf.build + owner: cosmos + repository: cosmos-proto + commit: 1935555c206d4afb9e94615dfd0fad31 + digest: shake256:c74d91a3ac7ae07d579e90eee33abf9b29664047ac8816500cf22c081fec0d72d62c89ce0bebafc1f6fec7aa5315be72606717740ca95007248425102c365377 + - remote: buf.build + owner: cosmos + repository: cosmos-sdk + commit: d5661b4f6ef64bb1b5beb6cb7bd705b7 + digest: shake256:d187718b119b5d544691f146bd7365eaed6b3c31a94bac1c73f7dfd0298744f00c971f1aff2ba1bdb7b9da3cad5f0b44d0826408786f78c8eebb4cf6b3719c08 + - remote: buf.build + owner: cosmos + repository: gogo-proto + commit: 5e5b9fdd01804356895f8f79a6f1ddc1 + digest: shake256:0b85da49e2e5f9ebc4806eae058e2f56096ff3b1c59d1fb7c190413dd15f45dd456f0b69ced9059341c80795d2b6c943de15b120a9e0308b499e43e4b5fc2952 + - remote: buf.build + owner: googleapis + repository: googleapis + commit: cc916c31859748a68fd229a3c8d7a2e8 + digest: shake256:469b049d0eb04203d5272062636c078decefc96fec69739159c25d85349c50c34c7706918a8b216c5c27f76939df48452148cff8c5c3ae77fa6ba5c25c1b8bf8 diff --git a/proto/buf.yaml b/proto/buf.yaml new file mode 100644 index 00000000..d9cb21d8 --- /dev/null +++ b/proto/buf.yaml @@ -0,0 +1,11 @@ +version: v1 +deps: + - buf.build/cosmos/cosmos-sdk + - buf.build/cosmos/gogo-proto + - buf.build/googleapis/googleapis +breaking: + use: + - FILE +lint: + use: + - DEFAULT diff --git a/proto/cardchain/cardchain/card.proto b/proto/cardchain/cardchain/card.proto index 156e27b5..6f6a6430 100644 --- a/proto/cardchain/cardchain/card.proto +++ b/proto/cardchain/cardchain/card.proto @@ -21,6 +21,9 @@ message Card { uint64 underpoweredVotes = 11; uint64 inappropriateVotes = 12; int64 nerflevel = 13; + bool balanceAnchor = 15; + bool starterCard = 16; + CardRarity rarity = 17; } message OutpCard { @@ -39,6 +42,10 @@ message OutpCard { uint64 underpoweredVotes = 11; uint64 inappropriateVotes = 12; int64 nerflevel = 13; + bool balanceAnchor = 15; + string hash = 16; + bool starterCard = 17; + CardRarity rarity = 18; } enum Status { @@ -53,3 +60,15 @@ enum Status { none = 8; inCouncil = 9; } + +enum CardRarity { + common = 0; + uncommon = 1; + rare = 2; + exceptional = 3; + unique = 4; +} + +message TimeStamp { + uint64 timeStamp = 1; +} diff --git a/proto/cardchain/cardchain/genesis.proto b/proto/cardchain/cardchain/genesis.proto index f98ff3ba..cbabbdf8 100644 --- a/proto/cardchain/cardchain/genesis.proto +++ b/proto/cardchain/cardchain/genesis.proto @@ -6,7 +6,7 @@ import "cardchain/cardchain/params.proto"; import "cardchain/cardchain/card.proto"; import "cardchain/cardchain/user.proto"; import "cardchain/cardchain/match.proto"; -import "cardchain/cardchain/collection.proto"; +import "cardchain/cardchain/set.proto"; import "cardchain/cardchain/sell_offer.proto"; import "cardchain/cardchain/running_average.proto"; import "cardchain/cardchain/council.proto"; @@ -24,7 +24,7 @@ message GenesisState { repeated User users = 3; repeated string addresses = 4; repeated Match matches = 6; - repeated Collection collections = 7; + repeated Set sets = 7; repeated SellOffer sellOffers = 8; repeated cosmos.base.v1beta1.Coin pools = 9; string cardAuctionPrice = 11 [(gogoproto.nullable) = false, (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Coin"];; @@ -32,5 +32,6 @@ message GenesisState { repeated RunningAverage RunningAverages = 13; repeated Image images = 14; repeated Server Servers = 15; + TimeStamp lastCardModified = 16; // this line is used by starport scaffolding # genesis/proto/state } diff --git a/proto/cardchain/cardchain/match.proto b/proto/cardchain/cardchain/match.proto index be90154b..a5a68ea8 100644 --- a/proto/cardchain/cardchain/match.proto +++ b/proto/cardchain/cardchain/match.proto @@ -2,7 +2,7 @@ syntax = "proto3"; package DecentralCardGame.cardchain.cardchain; option go_package = "github.com/DecentralCardGame/Cardchain/x/cardchain/types"; -import "cardchain/cardchain/tx.proto"; +import "cardchain/cardchain/voting.proto"; message Match { @@ -12,6 +12,7 @@ message Match { MatchPlayer playerB = 4; Outcome outcome = 7; bool coinsDistributed = 10; + bool serverConfirmed = 8; } message MatchPlayer { @@ -19,4 +20,13 @@ message MatchPlayer { repeated uint64 playedCards = 2; bool confirmed = 3; Outcome outcome = 4; + repeated uint64 deck = 5; + repeated SingleVote votedCards = 6; } + +enum Outcome { + AWon = 0; + BWon = 1; + Draw = 2; + Aborted = 3; +} \ No newline at end of file diff --git a/proto/cardchain/cardchain/params.proto b/proto/cardchain/cardchain/params.proto index bcca740e..42b30c3f 100644 --- a/proto/cardchain/cardchain/params.proto +++ b/proto/cardchain/cardchain/params.proto @@ -9,10 +9,10 @@ option go_package = "github.com/DecentralCardGame/Cardchain/x/cardchain/types"; message Params { option (gogoproto.goproto_stringer) = false; int64 votingRightsExpirationTime = 1; - uint64 collectionSize = 2; - string collectionPrice = 3 [(gogoproto.nullable) = false, (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Coin"];; - uint64 activeCollectionsAmount = 4; - string collectionCreationFee = 5 [(gogoproto.nullable) = false, (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Coin"];; + uint64 setSize = 2; + string setPrice = 3 [(gogoproto.nullable) = false, (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Coin"];; + uint64 activeSetsAmount = 4; + string setCreationFee = 5 [(gogoproto.nullable) = false, (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Coin"];; string collateralDeposit = 6 [(gogoproto.nullable) = false, (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Coin"];; int64 winnerReward = 7; string hourlyFaucet = 9 [(gogoproto.nullable) = false, (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Coin"];; @@ -28,4 +28,8 @@ message Params { string trialVoteReward = 19 [(gogoproto.nullable) = false, (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Coin"];; int64 votePoolFraction = 20; int64 votingRewardCap = 8; + uint64 matchWorkerDelay = 21; + uint64 rareDropRatio = 22; + uint64 exceptionalDropRatio = 23; + uint64 uniqueDropRatio = 24; } diff --git a/proto/cardchain/cardchain/query.proto b/proto/cardchain/cardchain/query.proto index f9728675..cfb05aec 100644 --- a/proto/cardchain/cardchain/query.proto +++ b/proto/cardchain/cardchain/query.proto @@ -5,12 +5,11 @@ import "gogoproto/gogo.proto"; import "google/api/annotations.proto"; import "cosmos/base/query/v1beta1/pagination.proto"; import "cardchain/cardchain/params.proto"; -import "cardchain/cardchain/vote_right.proto"; -import "cardchain/cardchain/voting_results.proto"; +import "cardchain/cardchain/voting.proto"; import "cardchain/cardchain/card.proto"; import "cardchain/cardchain/user.proto"; import "cardchain/cardchain/match.proto"; -import "cardchain/cardchain/collection.proto"; +import "cardchain/cardchain/set.proto"; import "cardchain/cardchain/sell_offer.proto"; import "cardchain/cardchain/council.proto"; import "cardchain/cardchain/server.proto"; @@ -24,86 +23,86 @@ option go_package = "github.com/DecentralCardGame/Cardchain/x/cardchain/types"; service Query { // Parameters queries the parameters of the module. rpc Params(QueryParamsRequest) returns (QueryParamsResponse) { - option (google.api.http).get = "/DecentralCardGame/cardchain/cardchain/params"; + option (google.api.http).get = "/DecentralCardGame/Cardchain/cardchain/params"; } // Queries a list of QCard items. rpc QCard(QueryQCardRequest) returns (OutpCard) { - option (google.api.http).get = "/DecentralCardGame/cardchain/cardchain/q_card/{cardId}"; + option (google.api.http).get = "/DecentralCardGame/Cardchain/cardchain/q_card/{cardId}"; } // Queries a list of QCardContent items. rpc QCardContent(QueryQCardContentRequest) returns (QueryQCardContentResponse) { - option (google.api.http).get = "/DecentralCardGame/cardchain/cardchain/q_card_content/{cardId}"; + option (google.api.http).get = "/DecentralCardGame/Cardchain/cardchain/q_card_content/{cardId}"; } // Queries a list of QUser items. rpc QUser(QueryQUserRequest) returns (User) { - option (google.api.http).get = "/DecentralCardGame/cardchain/cardchain/q_user/{address}"; + option (google.api.http).get = "/DecentralCardGame/Cardchain/cardchain/q_user/{address}"; } // Queries a list of QCardchainInfo items. rpc QCardchainInfo(QueryQCardchainInfoRequest) returns (QueryQCardchainInfoResponse) { - option (google.api.http).get = "/DecentralCardGame/cardchain/cardchain/q_cardchain_info"; + option (google.api.http).get = "/DecentralCardGame/Cardchain/cardchain/q_cardchain_info"; } // Queries a list of QVotingResults items. rpc QVotingResults(QueryQVotingResultsRequest) returns (QueryQVotingResultsResponse) { - option (google.api.http).get = "/DecentralCardGame/cardchain/cardchain/q_voting_results"; + option (google.api.http).get = "/DecentralCardGame/Cardchain/cardchain/q_voting_results"; } // Queries a list of QVotableCards items. rpc QVotableCards(QueryQVotableCardsRequest) returns (QueryQVotableCardsResponse) { - option (google.api.http).get = "/DecentralCardGame/cardchain/cardchain/q_votable_cards/{address}"; + option (google.api.http).get = "/DecentralCardGame/Cardchain/cardchain/q_votable_cards/{address}"; } // Queries a list of QCards items. rpc QCards(QueryQCardsRequest) returns (QueryQCardsResponse) { - option (google.api.http).get = "/DecentralCardGame/cardchain/cardchain/q_cards/{status}"; + option (google.api.http).get = "/DecentralCardGame/Cardchain/cardchain/q_cards/{status}"; } // Queries a list of QMatch items. rpc QMatch(QueryQMatchRequest) returns (Match) { - option (google.api.http).get = "/DecentralCardGame/cardchain/cardchain/q_match/{matchId}"; + option (google.api.http).get = "/DecentralCardGame/Cardchain/cardchain/q_match/{matchId}"; } -// Queries a list of QCollection items. - rpc QCollection(QueryQCollectionRequest) returns (OutpCollection) { +// Queries a list of QSet items. + rpc QSet(QueryQSetRequest) returns (OutpSet) { option (google.api.http).get = -"/DecentralCardGame/cardchain/cardchain/q_collection/{collectionId}"; } +"/DecentralCardGame/Cardchain/cardchain/q_set/{setId}"; } // Queries a list of QSellOffer items. rpc QSellOffer(QueryQSellOfferRequest) returns (SellOffer) { option (google.api.http).get = -"/DecentralCardGame/cardchain/cardchain/q_sell_offer/{sellOfferId}"; } +"/DecentralCardGame/Cardchain/cardchain/q_sell_offer/{sellOfferId}"; } // Queries a list of QCouncil items. rpc QCouncil(QueryQCouncilRequest) returns (Council) { option (google.api.http).get = -"/DecentralCardGame/cardchain/cardchain/q_council/{councilId}"; } +"/DecentralCardGame/Cardchain/cardchain/q_council/{councilId}"; } // Queries a list of QMatches items. rpc QMatches(QueryQMatchesRequest) returns (QueryQMatchesResponse) { option (google.api.http).get = -"/DecentralCardGame/cardchain/cardchain/q_matches"; } +"/DecentralCardGame/Cardchain/cardchain/q_matches"; } // Queries a list of QSellOffers items. rpc QSellOffers(QueryQSellOffersRequest) returns (QueryQSellOffersResponse) { option (google.api.http).get = -"/DecentralCardGame/cardchain/cardchain/q_sell_offers/{status}"; } +"/DecentralCardGame/Cardchain/cardchain/q_sell_offers/{status}"; } // Queries a list of QServer items. rpc QServer(QueryQServerRequest) returns (Server) { option -(google.api.http).get = "/DecentralCardGame/cardchain/cardchain/q_server/{id}"; +(google.api.http).get = "/DecentralCardGame/Cardchain/cardchain/q_server/{id}"; } -// Queries a list of QCollections items. - rpc QCollections(QueryQCollectionsRequest) returns (QueryQCollectionsResponse) { - option (google.api.http).get = "/DecentralCardGame/Cardchain/cardchain/q_collections/{status}/{ignoreStatus}"; +// Queries a list of QSets items. + rpc QSets(QueryQSetsRequest) returns (QueryQSetsResponse) { + option (google.api.http).get = "/DecentralCardGame/Cardchain/cardchain/q_sets/{status}/{ignoreStatus}"; } // Queries a list of RarityDistribution items. rpc RarityDistribution(QueryRarityDistributionRequest) returns (QueryRarityDistributionResponse) { - option (google.api.http).get = "/DecentralCardGame/Cardchain/cardchain/rarity_distribution/{collectionId}"; + option (google.api.http).get = "/DecentralCardGame/Cardchain/cardchain/rarity_distribution/{setId}"; } // Queries a list of QCouncils items. @@ -145,11 +144,12 @@ message QueryQCardchainInfoRequest { message QueryQCardchainInfoResponse { string cardAuctionPrice = 1 [(gogoproto.nullable) = false, (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Coin"];; - repeated uint64 activeCollections = 2; + repeated uint64 activeSets = 2; uint64 cardsNumber = 3; uint64 matchesNumber = 4; uint64 sellOffersNumber = 5; uint64 councilsNumber = 6; + uint64 lastCardModified = 7; } message QueryQVotingResultsRequest { @@ -191,6 +191,7 @@ message QueryQCardsRequest { string nameContains = 6; string keywordsContains = 7; string notesContains = 8; + bool onlyStarterCard = 9; } message QueryQCardsResponse { @@ -201,8 +202,8 @@ message QueryQMatchRequest { uint64 matchId = 1; } -message QueryQCollectionRequest { - uint64 collectionId = 1; +message QueryQSetRequest { + uint64 setId = 1; } message QueryQSellOfferRequest { @@ -271,7 +272,7 @@ message QueryQServerRequest { message QueryQServerResponse { } -message QueryQCollectionsRequest { +message QueryQSetsRequest { CStatus status = 1; bool ignoreStatus = 2; repeated string contributors = 3; @@ -279,17 +280,17 @@ message QueryQCollectionsRequest { string owner = 5; } -message QueryQCollectionsResponse { - repeated uint64 collectionIds = 1; +message QueryQSetsResponse { + repeated uint64 setIds = 1; } message QueryRarityDistributionRequest { - uint64 collectionId = 1; + uint64 setId = 1; } message QueryRarityDistributionResponse { - repeated uint64 current = 1; - repeated uint64 wanted = 2; + repeated uint32 current = 1; + repeated uint32 wanted = 2; } message QueryQCouncilsRequest { diff --git a/proto/cardchain/cardchain/collection.proto b/proto/cardchain/cardchain/set.proto similarity index 93% rename from proto/cardchain/cardchain/collection.proto rename to proto/cardchain/cardchain/set.proto index 2d68a396..b53b9dfc 100644 --- a/proto/cardchain/cardchain/collection.proto +++ b/proto/cardchain/cardchain/set.proto @@ -3,7 +3,7 @@ package DecentralCardGame.cardchain.cardchain; option go_package = "github.com/DecentralCardGame/Cardchain/x/cardchain/types"; -message Collection { +message Set { string name = 1; repeated uint64 cards = 2; string artist = 3; @@ -15,7 +15,7 @@ message Collection { int64 timeStamp = 9; } -message OutpCollection { +message OutpSet { string name = 1; repeated uint64 cards = 2; string artist = 3; diff --git a/proto/cardchain/cardchain/collection_proposal.proto b/proto/cardchain/cardchain/set_proposal.proto similarity index 77% rename from proto/cardchain/cardchain/collection_proposal.proto rename to proto/cardchain/cardchain/set_proposal.proto index 86480ffb..87745939 100644 --- a/proto/cardchain/cardchain/collection_proposal.proto +++ b/proto/cardchain/cardchain/set_proposal.proto @@ -3,9 +3,9 @@ package DecentralCardGame.cardchain.cardchain; option go_package = "github.com/DecentralCardGame/Cardchain/x/cardchain/types"; -message CollectionProposal { +message SetProposal { string title = 1; string description = 2; - uint64 collectionId = 3; + uint64 setId = 3; } diff --git a/proto/cardchain/cardchain/tx.proto b/proto/cardchain/cardchain/tx.proto index ea483652..6e8eb293 100644 --- a/proto/cardchain/cardchain/tx.proto +++ b/proto/cardchain/cardchain/tx.proto @@ -1,8 +1,12 @@ syntax = "proto3"; + package DecentralCardGame.cardchain.cardchain; import "gogoproto/gogo.proto"; import "cardchain/cardchain/council.proto"; +import "cardchain/cardchain/match.proto"; +import "cardchain/cardchain/voting.proto"; +import "cardchain/cardchain/card.proto"; import "cosmos/base/v1beta1/coin.proto"; // this line is used by starport scaffolding # proto/tx/import @@ -11,70 +15,74 @@ option go_package = "github.com/DecentralCardGame/Cardchain/x/cardchain/types"; // Msg defines the Msg service. service Msg { - rpc Createuser(MsgCreateuser) returns (MsgCreateuserResponse); - rpc BuyCardScheme(MsgBuyCardScheme) returns (MsgBuyCardSchemeResponse); - rpc VoteCard(MsgVoteCard) returns (MsgVoteCardResponse); - rpc SaveCardContent(MsgSaveCardContent) returns (MsgSaveCardContentResponse); - rpc TransferCard(MsgTransferCard) returns (MsgTransferCardResponse); - rpc DonateToCard(MsgDonateToCard) returns (MsgDonateToCardResponse); - rpc AddArtwork(MsgAddArtwork) returns (MsgAddArtworkResponse); - rpc SubmitCopyrightProposal(MsgSubmitCopyrightProposal) returns (MsgSubmitCopyrightProposalResponse); - rpc ChangeArtist(MsgChangeArtist) returns (MsgChangeArtistResponse); - rpc RegisterForCouncil(MsgRegisterForCouncil) returns (MsgRegisterForCouncilResponse); - rpc ReportMatch(MsgReportMatch) returns (MsgReportMatchResponse); - rpc SubmitMatchReporterProposal(MsgSubmitMatchReporterProposal) returns (MsgSubmitMatchReporterProposalResponse); - rpc ApointMatchReporter(MsgApointMatchReporter) returns (MsgApointMatchReporterResponse); - rpc CreateCollection(MsgCreateCollection) returns (MsgCreateCollectionResponse); - rpc AddCardToCollection(MsgAddCardToCollection) returns (MsgAddCardToCollectionResponse); - rpc FinalizeCollection(MsgFinalizeCollection) returns (MsgFinalizeCollectionResponse); - rpc BuyCollection(MsgBuyCollection) returns (MsgBuyCollectionResponse); - rpc RemoveCardFromCollection(MsgRemoveCardFromCollection) returns (MsgRemoveCardFromCollectionResponse); - rpc RemoveContributorFromCollection(MsgRemoveContributorFromCollection) returns (MsgRemoveContributorFromCollectionResponse); - rpc AddContributorToCollection(MsgAddContributorToCollection) returns (MsgAddContributorToCollectionResponse); - rpc SubmitCollectionProposal(MsgSubmitCollectionProposal) returns (MsgSubmitCollectionProposalResponse); - rpc CreateSellOffer(MsgCreateSellOffer) returns (MsgCreateSellOfferResponse); - rpc BuyCard(MsgBuyCard) returns (MsgBuyCardResponse); - rpc RemoveSellOffer(MsgRemoveSellOffer) returns (MsgRemoveSellOfferResponse); - rpc AddArtworkToCollection(MsgAddArtworkToCollection) returns (MsgAddArtworkToCollectionResponse); - rpc AddStoryToCollection(MsgAddStoryToCollection) returns (MsgAddStoryToCollectionResponse); - rpc SetCardRarity(MsgSetCardRarity) returns (MsgSetCardRarityResponse); - rpc CreateCouncil(MsgCreateCouncil) returns (MsgCreateCouncilResponse); - rpc CommitCouncilResponse(MsgCommitCouncilResponse) returns (MsgCommitCouncilResponseResponse); - rpc RevealCouncilResponse(MsgRevealCouncilResponse) returns (MsgRevealCouncilResponseResponse); - rpc RestartCouncil(MsgRestartCouncil) returns (MsgRestartCouncilResponse); - rpc RewokeCouncilRegistration(MsgRewokeCouncilRegistration) returns (MsgRewokeCouncilRegistrationResponse); - rpc ConfirmMatch(MsgConfirmMatch) returns (MsgConfirmMatchResponse); - rpc SetProfileCard(MsgSetProfileCard) returns (MsgSetProfileCardResponse); - rpc OpenBoosterPack(MsgOpenBoosterPack) returns (MsgOpenBoosterPackResponse); - rpc TransferBoosterPack(MsgTransferBoosterPack) returns (MsgTransferBoosterPackResponse); - rpc SetCollectionStoryWriter(MsgSetCollectionStoryWriter) returns (MsgSetCollectionStoryWriterResponse); - rpc SetCollectionArtist(MsgSetCollectionArtist) returns (MsgSetCollectionArtistResponse); - rpc SetUserWebsite(MsgSetUserWebsite) returns (MsgSetUserWebsiteResponse); - rpc SetUserBiography(MsgSetUserBiography) returns (MsgSetUserBiographyResponse); -// this line is used by starport scaffolding # proto/tx/rpc + rpc Createuser (MsgCreateuser ) returns (MsgCreateuserResponse ); + rpc BuyCardScheme (MsgBuyCardScheme ) returns (MsgBuyCardSchemeResponse ); + rpc VoteCard (MsgVoteCard ) returns (MsgVoteCardResponse ); + rpc SaveCardContent (MsgSaveCardContent ) returns (MsgSaveCardContentResponse ); + rpc TransferCard (MsgTransferCard ) returns (MsgTransferCardResponse ); + rpc DonateToCard (MsgDonateToCard ) returns (MsgDonateToCardResponse ); + rpc AddArtwork (MsgAddArtwork ) returns (MsgAddArtworkResponse ); + rpc ChangeArtist (MsgChangeArtist ) returns (MsgChangeArtistResponse ); + rpc RegisterForCouncil (MsgRegisterForCouncil ) returns (MsgRegisterForCouncilResponse ); + rpc ReportMatch (MsgReportMatch ) returns (MsgReportMatchResponse ); + rpc ApointMatchReporter (MsgApointMatchReporter ) returns (MsgApointMatchReporterResponse ); + rpc CreateSet (MsgCreateSet ) returns (MsgCreateSetResponse ); + rpc AddCardToSet (MsgAddCardToSet ) returns (MsgAddCardToSetResponse ); + rpc FinalizeSet (MsgFinalizeSet ) returns (MsgFinalizeSetResponse ); + rpc BuyBoosterPack (MsgBuyBoosterPack ) returns (MsgBuyBoosterPackResponse ); + rpc RemoveCardFromSet (MsgRemoveCardFromSet ) returns (MsgRemoveCardFromSetResponse ); + rpc RemoveContributorFromSet (MsgRemoveContributorFromSet) returns (MsgRemoveContributorFromSetResponse); + rpc AddContributorToSet (MsgAddContributorToSet ) returns (MsgAddContributorToSetResponse ); + rpc CreateSellOffer (MsgCreateSellOffer ) returns (MsgCreateSellOfferResponse ); + rpc BuyCard (MsgBuyCard ) returns (MsgBuyCardResponse ); + rpc RemoveSellOffer (MsgRemoveSellOffer ) returns (MsgRemoveSellOfferResponse ); + rpc AddArtworkToSet (MsgAddArtworkToSet ) returns (MsgAddArtworkToSetResponse ); + rpc AddStoryToSet (MsgAddStoryToSet ) returns (MsgAddStoryToSetResponse ); + rpc SetCardRarity (MsgSetCardRarity ) returns (MsgSetCardRarityResponse ); + rpc CreateCouncil (MsgCreateCouncil ) returns (MsgCreateCouncilResponse ); + rpc CommitCouncilResponse (MsgCommitCouncilResponse ) returns (MsgCommitCouncilResponseResponse ); + rpc RevealCouncilResponse (MsgRevealCouncilResponse ) returns (MsgRevealCouncilResponseResponse ); + rpc RestartCouncil (MsgRestartCouncil ) returns (MsgRestartCouncilResponse ); + rpc RewokeCouncilRegistration (MsgRewokeCouncilRegistration ) returns (MsgRewokeCouncilRegistrationResponse ); + rpc ConfirmMatch (MsgConfirmMatch ) returns (MsgConfirmMatchResponse ); + rpc SetProfileCard (MsgSetProfileCard ) returns (MsgSetProfileCardResponse ); + rpc OpenBoosterPack (MsgOpenBoosterPack ) returns (MsgOpenBoosterPackResponse ); + rpc TransferBoosterPack (MsgTransferBoosterPack ) returns (MsgTransferBoosterPackResponse ); + rpc SetSetStoryWriter (MsgSetSetStoryWriter ) returns (MsgSetSetStoryWriterResponse ); + rpc SetSetArtist (MsgSetSetArtist ) returns (MsgSetSetArtistResponse ); + rpc SetUserWebsite (MsgSetUserWebsite ) returns (MsgSetUserWebsiteResponse ); + rpc SetUserBiography (MsgSetUserBiography ) returns (MsgSetUserBiographyResponse ); + + // this line is used by starport scaffolding # proto/tx/rpc + rpc MultiVoteCard (MsgMultiVoteCard ) returns (MsgMultiVoteCardResponse ); + rpc OpenMatch (MsgOpenMatch ) returns (MsgOpenMatchResponse ); + rpc SetSetName (MsgSetSetName) returns (MsgSetSetNameResponse); } - message MsgCreateuser { string creator = 1; string newUser = 2; - string alias = 3; + string alias = 3; } -message MsgCreateuserResponse { -} +message MsgCreateuserResponse {} message MsgBuyCardScheme { - string creator = 1; - /* cosmos.base.v1beta1.Coin bid = 2; */ - string bid = 2; -} + option (gogoproto.equal) = false; + option (gogoproto.goproto_getters) = false; + string creator = 1; + cosmos.base.v1beta1.Coin bid = 2 [(gogoproto.nullable) = false, (gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.Coin"]; + + /* + string bid = 2; + */} message MsgBuyCardSchemeResponse { + uint64 cardId = 1; } message MsgVoteCard { - string creator = 1; - uint64 cardId = 2; + string creator = 1; + uint64 cardId = 2; string voteType = 3; } @@ -84,12 +92,13 @@ message MsgVoteCardResponse { message MsgSaveCardContent { string creator = 1; - uint64 cardId = 2; - bytes content = 3; -// bytes image = 4; -// string fullArt = 5; - string notes = 4; - string artist = 5; + uint64 cardId = 2; + bytes content = 3; + // bytes image = 4; + // string fullArt = 5; + string notes = 4; + string artist = 5; + bool balanceAnchor = 6; } message MsgSaveCardContentResponse { @@ -97,333 +106,295 @@ message MsgSaveCardContentResponse { } message MsgTransferCard { - string creator = 1; - uint64 cardId = 2; + string creator = 1; + uint64 cardId = 2; string receiver = 4; } -message MsgTransferCardResponse { -} +message MsgTransferCardResponse {} message MsgDonateToCard { string creator = 1; - uint64 cardId = 2; - string amount = 3 [(gogoproto.nullable) = false, (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Coin"];; + uint64 cardId = 2; + string amount = 3 [(gogoproto.nullable) = false, (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Coin"]; } -message MsgDonateToCardResponse { -} +message MsgDonateToCardResponse {} message MsgAddArtwork { string creator = 1; - uint64 cardId = 2; - bytes image = 3; - bool fullArt = 4; + uint64 cardId = 2; + bytes image = 3; + bool fullArt = 4; } -message MsgAddArtworkResponse { -} - -message MsgSubmitCopyrightProposal { - string creator = 1; - uint64 cardId = 2; - string description = 3; - string link = 4; -} - -message MsgSubmitCopyrightProposalResponse { -} +message MsgAddArtworkResponse {} message MsgChangeArtist { string creator = 1; - uint64 cardID = 2; - string artist = 3; + uint64 cardID = 2; + string artist = 3; } -message MsgChangeArtistResponse { -} +message MsgChangeArtistResponse {} message MsgRegisterForCouncil { string creator = 1; } -message MsgRegisterForCouncilResponse { -} +message MsgRegisterForCouncilResponse {} message MsgReportMatch { - string creator = 1; - string playerA = 2; - string playerB = 3; - repeated uint64 cardsA = 5; - repeated uint64 cardsB = 6; - Outcome outcome = 7; -} - -enum Outcome { - AWon = 0; - BWon = 1; - Draw = 2; - Aborted = 3; + string creator = 1; + uint64 matchId = 2; + repeated uint64 playedCardsA = 3; + repeated uint64 playedCardsB = 4; + Outcome outcome = 5; } message MsgReportMatchResponse { uint64 matchId = 1; } -message MsgSubmitMatchReporterProposal { - string creator = 1; - string reporter = 2; - string deposit = 3; - string description = 4; -} - -message MsgSubmitMatchReporterProposalResponse { -} - message MsgApointMatchReporter { - string creator = 1; + string creator = 1; string reporter = 2; } -message MsgApointMatchReporterResponse { -} +message MsgApointMatchReporterResponse {} -message MsgCreateCollection { - string creator = 1; - string name = 2; - string artist = 3; - string storyWriter = 4; +message MsgCreateSet { + string creator = 1; + string name = 2; + string artist = 3; + string storyWriter = 4; repeated string contributors = 5; } -message MsgCreateCollectionResponse { -} +message MsgCreateSetResponse {} -message MsgAddCardToCollection { - string creator = 1; - uint64 collectionId = 2; - uint64 cardId = 3; +message MsgAddCardToSet { + string creator = 1; + uint64 setId = 2; + uint64 cardId = 3; } -message MsgAddCardToCollectionResponse { -} +message MsgAddCardToSetResponse {} -message MsgFinalizeCollection { - string creator = 1; - uint64 collectionId = 2; +message MsgFinalizeSet { + string creator = 1; + uint64 setId = 2; } -message MsgFinalizeCollectionResponse { -} +message MsgFinalizeSetResponse {} -message MsgBuyCollection { - string creator = 1; - uint64 collectionId = 2; +message MsgBuyBoosterPack { + string creator = 1; + uint64 setId = 2; } -message MsgBuyCollectionResponse { +message MsgBuyBoosterPackResponse { bool airdropClaimed = 1; } -message MsgRemoveCardFromCollection { - string creator = 1; - uint64 collectionId = 2; - uint64 cardId = 3; +message MsgRemoveCardFromSet { + string creator = 1; + uint64 setId = 2; + uint64 cardId = 3; } -message MsgRemoveCardFromCollectionResponse { -} +message MsgRemoveCardFromSetResponse {} -message MsgRemoveContributorFromCollection { - string creator = 1; - uint64 collectionId = 2; - string user = 3; +message MsgRemoveContributorFromSet { + string creator = 1; + uint64 setId = 2; + string user = 3; } -message MsgRemoveContributorFromCollectionResponse { -} +message MsgRemoveContributorFromSetResponse {} -message MsgAddContributorToCollection { - string creator = 1; - uint64 collectionId = 2; - string user = 3; +message MsgAddContributorToSet { + string creator = 1; + uint64 setId = 2; + string user = 3; } -message MsgAddContributorToCollectionResponse { -} - -message MsgSubmitCollectionProposal { - string creator = 1; - uint64 collectionId = 2; -} - -message MsgSubmitCollectionProposalResponse { -} +message MsgAddContributorToSetResponse {} message MsgCreateSellOffer { string creator = 1; - uint64 card = 2; - string price = 3 [(gogoproto.nullable) = false, (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Coin"];; + uint64 card = 2; + string price = 3 [(gogoproto.nullable) = false, (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Coin"]; } -message MsgCreateSellOfferResponse { -} +message MsgCreateSellOfferResponse {} message MsgBuyCard { - string creator = 1; + string creator = 1; uint64 sellOfferId = 2; } -message MsgBuyCardResponse { -} +message MsgBuyCardResponse {} message MsgRemoveSellOffer { - string creator = 1; + string creator = 1; uint64 sellOfferId = 2; } -message MsgRemoveSellOfferResponse { -} +message MsgRemoveSellOfferResponse {} -message MsgAddArtworkToCollection { - string creator = 1; - uint64 collectionId = 2; - bytes image = 3; +message MsgAddArtworkToSet { + string creator = 1; + uint64 setId = 2; + bytes image = 3; } -message MsgAddArtworkToCollectionResponse { -} +message MsgAddArtworkToSetResponse {} -message MsgAddStoryToCollection { - string creator = 1; - uint64 collectionId = 2; - string story = 3; +message MsgAddStoryToSet { + string creator = 1; + uint64 setId = 2; + string story = 3; } -message MsgAddStoryToCollectionResponse { -} +message MsgAddStoryToSetResponse {} message MsgSetCardRarity { - string creator = 1; - uint64 cardId = 2; - uint64 collectionId = 3; - string rarity = 4; + string creator = 1; + uint64 cardId = 2; + uint64 setId = 3; + CardRarity rarity = 4; } -message MsgSetCardRarityResponse { -} +message MsgSetCardRarityResponse {} message MsgCreateCouncil { string creator = 1; - uint64 cardId = 2; + uint64 cardId = 2; } -message MsgCreateCouncilResponse { -} +message MsgCreateCouncilResponse {} // Add revision - message MsgCommitCouncilResponse { - string creator = 1; - string response = 2; - uint64 councilId = 3; + string creator = 1; + string response = 2; + uint64 councilId = 3; string suggestion = 4; } -message MsgCommitCouncilResponseResponse { -} +message MsgCommitCouncilResponseResponse {} message MsgRevealCouncilResponse { - string creator = 1; - Response response = 2; - string secret = 3; - uint64 councilId = 4; + string creator = 1; + Response response = 2; + string secret = 3; + uint64 councilId = 4; } -message MsgRevealCouncilResponseResponse { -} +message MsgRevealCouncilResponseResponse {} message MsgRestartCouncil { - string creator = 1; + string creator = 1; uint64 councilId = 2; } -message MsgRestartCouncilResponse { -} +message MsgRestartCouncilResponse {} message MsgRewokeCouncilRegistration { string creator = 1; } -message MsgRewokeCouncilRegistrationResponse { -} +message MsgRewokeCouncilRegistrationResponse {} message MsgConfirmMatch { - string creator = 1; - uint64 matchId = 2; - Outcome outcome = 3; + string creator = 1; + uint64 matchId = 2; + Outcome outcome = 3; + repeated SingleVote votedCards = 4; } -message MsgConfirmMatchResponse { -} +message MsgConfirmMatchResponse {} message MsgSetProfileCard { string creator = 1; - uint64 cardId = 2; + uint64 cardId = 2; } -message MsgSetProfileCardResponse { -} +message MsgSetProfileCardResponse {} message MsgOpenBoosterPack { - string creator = 1; + string creator = 1; uint64 boosterPackId = 2; } message MsgOpenBoosterPackResponse { + repeated uint64 cardIds = 1; } message MsgTransferBoosterPack { - string creator = 1; + string creator = 1; uint64 boosterPackId = 2; - string receiver = 3; + string receiver = 3; } -message MsgTransferBoosterPackResponse { -} +message MsgTransferBoosterPackResponse {} -message MsgSetCollectionStoryWriter { - string creator = 1; - uint64 collectionId = 2; - string storyWriter = 3; +message MsgSetSetStoryWriter { + string creator = 1; + uint64 setId = 2; + string storyWriter = 3; } -message MsgSetCollectionStoryWriterResponse { -} +message MsgSetSetStoryWriterResponse {} -message MsgSetCollectionArtist { - string creator = 1; - uint64 collectionId = 2; - string artist = 3; +message MsgSetSetArtist { + string creator = 1; + uint64 setId = 2; + string artist = 3; } -message MsgSetCollectionArtistResponse { -} +message MsgSetSetArtistResponse {} message MsgSetUserWebsite { string creator = 1; string website = 2; } -message MsgSetUserWebsiteResponse { -} +message MsgSetUserWebsiteResponse {} message MsgSetUserBiography { - string creator = 1; + string creator = 1; string biography = 2; } -message MsgSetUserBiographyResponse { -} +message MsgSetUserBiographyResponse {} // this line is used by starport scaffolding # proto/tx/message +message MsgMultiVoteCard { + string creator = 1; + repeated SingleVote votes = 2; +} + +message MsgMultiVoteCardResponse {} + +message MsgOpenMatch { + string creator = 1; + string playerA = 2; + string playerB = 3; + repeated uint64 playerADeck = 4; + repeated uint64 playerBDeck = 5; +} + +message MsgOpenMatchResponse { + uint64 matchId = 1; +} + +message MsgSetSetName { + string creator = 1; + uint64 setId = 2; + string name = 3; +} + +message MsgSetSetNameResponse {} + diff --git a/proto/cardchain/cardchain/user.proto b/proto/cardchain/cardchain/user.proto index bcc143d5..ffb5809e 100644 --- a/proto/cardchain/cardchain/user.proto +++ b/proto/cardchain/cardchain/user.proto @@ -2,7 +2,7 @@ syntax = "proto3"; package DecentralCardGame.cardchain.cardchain; option go_package = "github.com/DecentralCardGame/Cardchain/x/cardchain/types"; -import "cardchain/cardchain/vote_right.proto"; +import "cardchain/cardchain/voting.proto"; message User { @@ -33,9 +33,12 @@ message CouncilParticipation { } message BoosterPack { - uint64 collectionId = 1; + uint64 setId = 1; int64 timeStamp = 2; + // How often the different rarities will appear in a BoosterPack repeated uint64 raritiesPerPack = 3; + // The chances of the rare beeing a normal rare, an exceptional or a unique + repeated uint64 dropRatiosPerPack = 4; } message AirDrops { diff --git a/proto/cardchain/cardchain/vote_right.proto b/proto/cardchain/cardchain/vote_right.proto deleted file mode 100644 index 86c13be2..00000000 --- a/proto/cardchain/cardchain/vote_right.proto +++ /dev/null @@ -1,10 +0,0 @@ -syntax = "proto3"; -package DecentralCardGame.cardchain.cardchain; - -option go_package = "github.com/DecentralCardGame/Cardchain/x/cardchain/types"; - -message VoteRight { - - uint64 cardId = 1; - int64 expireBlock = 2; -} diff --git a/proto/cardchain/cardchain/voting_results.proto b/proto/cardchain/cardchain/voting.proto similarity index 54% rename from proto/cardchain/cardchain/voting_results.proto rename to proto/cardchain/cardchain/voting.proto index 0f0bba13..5d39cc53 100644 --- a/proto/cardchain/cardchain/voting_results.proto +++ b/proto/cardchain/cardchain/voting.proto @@ -2,7 +2,6 @@ syntax = "proto3"; package DecentralCardGame.cardchain.cardchain; option go_package = "github.com/DecentralCardGame/Cardchain/x/cardchain/types"; -import "cardchain/cardchain/voting_result.proto"; message VotingResults { @@ -14,3 +13,24 @@ message VotingResults { repeated VotingResult cardResults = 6; string notes = 7; } + +message VotingResult { + + uint64 cardId = 1; + uint64 fairEnoughVotes = 2; + uint64 overpoweredVotes = 3; + uint64 underpoweredVotes = 4; + uint64 inappropriateVotes = 5; + string result = 6; +} + +message SingleVote { + uint64 cardId = 1; + string voteType = 2; +} + +message VoteRight { + + uint64 cardId = 1; + int64 expireBlock = 2; +} \ No newline at end of file diff --git a/proto/cardchain/cardchain/voting_result.proto b/proto/cardchain/cardchain/voting_result.proto deleted file mode 100644 index 4915f32a..00000000 --- a/proto/cardchain/cardchain/voting_result.proto +++ /dev/null @@ -1,14 +0,0 @@ -syntax = "proto3"; -package DecentralCardGame.cardchain.cardchain; - -option go_package = "github.com/DecentralCardGame/Cardchain/x/cardchain/types"; - -message VotingResult { - - uint64 cardId = 1; - uint64 fairEnoughVotes = 2; - uint64 overpoweredVotes = 3; - uint64 underpoweredVotes = 4; - uint64 inappropriateVotes = 5; - string result = 6; -} diff --git a/proto/cardchain/featureflag/flag.proto b/proto/cardchain/featureflag/flag.proto new file mode 100644 index 00000000..4228afb5 --- /dev/null +++ b/proto/cardchain/featureflag/flag.proto @@ -0,0 +1,10 @@ +syntax = "proto3"; +package DecentralCardGame.cardchain.featureflag; + +option go_package = "github.com/DecentralCardGame/Cardchain/x/featureflag/types"; + +message Flag { + string Module = 1; + string Name = 2; + bool Set = 3; +} \ No newline at end of file diff --git a/proto/cardchain/featureflag/genesis.proto b/proto/cardchain/featureflag/genesis.proto new file mode 100644 index 00000000..9122578c --- /dev/null +++ b/proto/cardchain/featureflag/genesis.proto @@ -0,0 +1,16 @@ +syntax = "proto3"; + +package DecentralCardGame.cardchain.featureflag; + +import "gogoproto/gogo.proto"; +import "cardchain/featureflag/params.proto"; +import "cardchain/featureflag/flag.proto"; + +option go_package = "github.com/DecentralCardGame/Cardchain/x/featureflag/types"; + +// GenesisState defines the featureflag module's genesis state. +message GenesisState { + Params params = 1 [(gogoproto.nullable) = false]; + map flags = 2; +} + diff --git a/proto/cardchain/featureflag/params.proto b/proto/cardchain/featureflag/params.proto new file mode 100644 index 00000000..74e4ebdf --- /dev/null +++ b/proto/cardchain/featureflag/params.proto @@ -0,0 +1,12 @@ +syntax = "proto3"; +package DecentralCardGame.cardchain.featureflag; + +import "gogoproto/gogo.proto"; + +option go_package = "github.com/DecentralCardGame/Cardchain/x/featureflag/types"; + +// Params defines the parameters for the module. +message Params { + option (gogoproto.goproto_stringer) = false; + +} diff --git a/proto/cardchain/featureflag/proposal.proto b/proto/cardchain/featureflag/proposal.proto new file mode 100644 index 00000000..a9ac994c --- /dev/null +++ b/proto/cardchain/featureflag/proposal.proto @@ -0,0 +1,11 @@ +syntax = "proto3"; +package DecentralCardGame.cardchain.featureflag; + +option go_package = "github.com/DecentralCardGame/Cardchain/x/featureflag/types"; + +message FlagEnableProposal { + string Title = 1; + string Description = 2; + string Module = 3; + string Name = 4; +} \ No newline at end of file diff --git a/proto/cardchain/featureflag/query.proto b/proto/cardchain/featureflag/query.proto new file mode 100644 index 00000000..993b8346 --- /dev/null +++ b/proto/cardchain/featureflag/query.proto @@ -0,0 +1,58 @@ +syntax = "proto3"; + +package DecentralCardGame.cardchain.featureflag; + +import "gogoproto/gogo.proto"; +import "google/api/annotations.proto"; +import "cosmos/base/query/v1beta1/pagination.proto"; +import "cardchain/featureflag/params.proto"; +import "cardchain/featureflag/flag.proto"; + +option go_package = "github.com/DecentralCardGame/Cardchain/x/featureflag/types"; + +// Query defines the gRPC querier service. +service Query { + + // Parameters queries the parameters of the module. + rpc Params (QueryParamsRequest) returns (QueryParamsResponse) { + option (google.api.http).get = "/DecentralCardGame/Cardchain/featureflag/params"; + + } + + // Queries a list of QFlag items. + rpc QFlag (QueryQFlagRequest) returns (QueryQFlagResponse) { + option (google.api.http).get = "/DecentralCardGame/Cardchain/featureflag/q_flag/{module}/{name}"; + + } + + // Queries a list of QFlags items. + rpc QFlags (QueryQFlagsRequest) returns (QueryQFlagsResponse) { + option (google.api.http).get = "/DecentralCardGame/Cardchain/featureflag/q_flags"; + + } +} +// QueryParamsRequest is request type for the Query/Params RPC method. +message QueryParamsRequest {} + +// QueryParamsResponse is response type for the Query/Params RPC method. +message QueryParamsResponse { + + // params holds all the parameters of this module. + Params params = 1 [(gogoproto.nullable) = false]; +} + +message QueryQFlagRequest { + string module = 1; + string name = 2; +} + +message QueryQFlagResponse { + Flag flag = 1; +} + +message QueryQFlagsRequest {} + +message QueryQFlagsResponse { + repeated Flag flags = 1; +} + diff --git a/proto/cardchain/featureflag/tx.proto b/proto/cardchain/featureflag/tx.proto new file mode 100644 index 00000000..9790cb68 --- /dev/null +++ b/proto/cardchain/featureflag/tx.proto @@ -0,0 +1,7 @@ +syntax = "proto3"; +package DecentralCardGame.cardchain.featureflag; + +option go_package = "github.com/DecentralCardGame/Cardchain/x/featureflag/types"; + +// Msg defines the Msg service. +service Msg {} \ No newline at end of file diff --git a/scripts/backupGenesis.sh b/scripts/backupGenesis.sh index 612e499b..ccd72c36 100755 --- a/scripts/backupGenesis.sh +++ b/scripts/backupGenesis.sh @@ -1,4 +1,4 @@ now=$(date +"%d.%m.%Y") mkdir ~/genesis$now -cp ~/.ignite/local-chains/Cardchain/* ~/genesis$now +cp backup/genesis$now.json ~/genesis$now diff --git a/scripts/buildlaunch-node.sh b/scripts/buildlaunch-node.sh new file mode 100644 index 00000000..4e7354cf --- /dev/null +++ b/scripts/buildlaunch-node.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +parent_path=$( cd "$(dirname "${BASH_SOURCE[0]}")" ; pwd -P ) + +cd "$parent_path" + +docker-compose build +docker-compose up -d +sleep 1 +bash register_faucet.sh \ No newline at end of file diff --git a/scripts/card_rarities.tsv b/scripts/card_rarities.tsv new file mode 100644 index 00000000..e5db43fa --- /dev/null +++ b/scripts/card_rarities.tsv @@ -0,0 +1,121 @@ +Rarity CardId +C 71 +C 44 +U 142 +U 143 +C 252 +C 45 +R 25 +C 27 +C 51 +C 54 +C 225 +U 140 +C 46 +C 53 +C 55 +C 56 +U 67 +U 85 +R 299 +R 167 +R 191 +C 52 +C 247 +C 43 +C 62 +C 284 +U 59 +U 139 +U 253 +U 381 +R 412 +U 407 +C 73 +C 411 +C 154 +U 147 +U 156 +C 0 +U 155 +R 122 +C 464 +C 77 +U 246 +U 119 +C 75 +C 149 +U 112 +U 380 +R 227 +C 63 +U 64 +R 21 +R 254 +R 108 +R 74 +R 28 +R 125 +C 397 +C 159 +U 410 +U 158 +C 47 +U 36 +U 65 +C 95 +U 100 +C 17 +C 23 +R 216 +R 101 +R 103 +R 18 +C 223 +C 12 +C 222 +U 232 +C 97 +C 33 +R 98 +C 150 +U 66 +C 42 +R 114 +R 151 +R 168 +R 135 +R 99 +U 24 +U 102 +U 104 +C 224 +U 255 +C 41 +C 8 +U 84 +C 83 +U 15 +C 256 +U 107 +C 50 +U 170 +U 109 +U 105 +R 372 +R 9 +U 10 +R 49 +C 110 +U 248 +U 38 +U 86 +C 19 +R 14 +R 123 +C 31 +C 20 +R 141 +C 257 +C 16 +U 138 \ No newline at end of file diff --git a/scripts/card_starters.tsv b/scripts/card_starters.tsv new file mode 100644 index 00000000..2724c384 --- /dev/null +++ b/scripts/card_starters.tsv @@ -0,0 +1,72 @@ +CardId +382 +386 +387 +388 +389 +390 +391 +392 +393 +394 +395 +396 +418 +537 +538 +542 +543 +544 +545 +546 +547 +548 +549 +550 +551 +552 +553 +554 +414 +415 +416 +417 +426 +427 +428 +429 +430 +431 +432 +433 +434 +435 +437 +439 +440 +441 +442 +443 +444 +445 +446 +449 +453 +454 +455 +463 +613 +614 +638 +639 +647 +648 +653 +656 +657 +658 +659 +660 +661 +666 +667 \ No newline at end of file diff --git a/scripts/download_genesis.py b/scripts/download_genesis.py new file mode 100644 index 00000000..5a38d7ff --- /dev/null +++ b/scripts/download_genesis.py @@ -0,0 +1,4 @@ +import tendermint_chunked_genesis_download as tcgd +f = open('syncnode.txt', 'r') + +tcgd.download_genesis('http://'+f.read()+':26657/') \ No newline at end of file diff --git a/scripts/genesis_balances.tsv b/scripts/genesis_balances.tsv new file mode 100644 index 00000000..ed25f910 --- /dev/null +++ b/scripts/genesis_balances.tsv @@ -0,0 +1,139 @@ +Address Balance +cc1lh8xk597ggnz6y29s9pxsfgpcvf4390e9c9sjn 37800 +cc1aj0jfydrjmwhzgk0fjcvu68dvmc4klgrjtpc86 4900 +cc1kl855verd58uac9ws5wylk8trsgkmggldc7kp2 500 +cc1rc2s3l5sh36uk42xzy6v53dmfkqgkr6rdz9xs4 18850 +cc1gzyygy4phl8ftjut6952psuz0gpajyt6c3chjk 34250 +cc18jmylp5ddfhv4gzzm0lrvk92xy9aa6x5tcn27f 5000 +cc1kfrq72eqpdac36uzux3z8y0u0ff2w7gvj9la6k 1000 +cc1szj8cguttxn27xg4rg6xlag8qe6ajd4kqsca5k 2100 +cc18dnnlpy3l6j7v0pekf73xxm6kh3z7chhpp6xev 400 +cc1yqarkyv5ul527sdqsknlnfp6t92ve9pt5llxpa 600 +cc1s9fljs8pfz60qqg6wj6hxhu82tjfqu6yn0x82q 300 +cc1d2gnx8gxf44tkjky7ftwfkg9k0lln56xfaxucp 300 +cc1g76zzp0neeulx9p7cvfh00vz2eq5d04v26ntsg 200 +cc19u8dpw8jp4mcelpelhp3pkam2sxzr6gdz8y3zt 200 +cc1q2w9a8ac7080tpt6tf0tth3f5qar6375j4z9s7 100 +cc13ycv4yp4u58xk9gghwlfjkey2y9smezpezd4x4 100 +cc1unulf3ezmkwjdgcmvskkc3anf3phw8fh8krxv7 100 +cc1vuzh99j2ggdf3c2rzkwursvp2jx9r4u7mvuj8h 100 +cc1fgwaqndwpl2hmk6vv98vt07fkefvx46wtdkt2h 100 +cc1m9dwd037y7ma059xsnzwey92xk3v8jmy6lsuys 100 +cc1x4yvn76pveqwej9gy3pcxqst5z66p4e2wzg70a 100 +cc10zh0cdzdzxz8449v0pg4a2f32yueq8szrkw9qc 100 +cc125esm3nmev8y56s8z9v5c6y6nkzfmlldh6np2j 100 +cc12j8wxashnunc7pvh8ep383sy55rk086wn6m62l 100 +cc12jwxqch0xv6yn5e5jlyszqae43vzsag7xemygj 100 +cc12jzf6x8qe77ephgx0cs0q276g2ptapzlr4k2ew 100 +cc12l3zzykqyuunf9nlh2kkmugr09euy5hd5lcgws 100 +cc12lv93ppqkce4ds5rd5yaccxs8gjlqpnk5atj7w 300 +cc13dfkcqn9xczkje8lvsx9rawfmnfh595g43zl23 300 +cc13h9d5z77sfksv6uweheg38669g270puzkw5pwx 100 +cc13nwzm5dfd26ue74jr6sc39gyn3qze0rjph4dnj 100 +cc13p9cvq5atl2cagnjsxsm72vnyfkfnngulj28g3 100 +cc13rvr4c369rhw63pjxcjvjpjy5ck9mm6pajz87r 200 +cc13sany3heekznx5d2yur3v7rxj3f00ma6jv5eqq 100 +cc146dmvlqxrcwa2h6ulg34l84wg07pmycyfsr0mq 100 +cc147zd6esmydn05pjwghzxmp2lztk0562gal3qnp 300 +cc14jzqhuk7s0c2ytspgrnq3ljqfxq5fjynr5q2zm 100 +cc14khh7xa8jy6knqxg9qqfp9fu7c5wea02jndq8x 100 +cc14va4c3sfpxyapjjgl9mguwr82zc6v4f4tzellx 100 +cc154pwgwvec6m3746wdgqwct7qw7vw3ujvw6uw0r 100 +cc15nxn2qs00y367qw3789dc089kv2dmdakcva2ud 100 +cc177vpk4unx4d5pwsrwj4kd2jqq0xya9k9ztk8u7 100 +cc178g3555nt2ks6t7fqrzzt566yrzqfxexky3scz 200 +cc17h6ecc8w29763hxrtu3amh6ntz6scr2l5cdv0x 300 +cc17p0qlp5j6de7tjr0fuu8xyp708d292tvx8wrek 200 +cc17ugzhkk06rpwcxelkcjjwnudntdkx396377xyz 300 +cc18cpvvupy2xd8s6xurnzfh7z7c3ystll8kplyxc 100 +cc18nyh27lwp5dp8j396srrvq52hufeu9vs9uwjyk 100 +cc18ynft7qquyz3zt3c2f9xvmwn480p473gz42g5j 300 +cc19hwl8xvvk0fsu5lyakum22wstkdclfh82nlt3t 100 +cc1a4pv5q7xd3udc9m5tmvkr8gsfyu9l8nz8plx4y 300 +cc1a9kvywsn2fpuvtsjq4yk0p048ds7ejv4xdk23x 100 +cc1c4smhzxtlzarjgrnueetdcjm3kjq3kx4sfkk3j 300 +cc1cqd0ka6td2tr7ulfd3ynggk0njspcp5827x3hn 200 +cc1cvaf96kz8jz8u4435p0yrjgel0t8zgz33p2cpe 100 +cc1cy0ulsvus9ar70xst9x75cy4grxheqj88fk6vx 200 +cc1d5cpaahz23nanxd69aeag44xecp0fu0a5flfus 100 +cc1d8xlprsr30l6uzctkwnx0k7hygdrx9x9mlzqdw 300 +cc1dlwt50shlr8rfyv8fddq4u3rxltgz2vnmhuzvk 100 +cc1dwjsqp2psjyyaujxmwv76e6dk767tuamhxx0t2 200 +cc1dwx5cq7q53mlvkyjpgpwafyktk76qnxtaxm9j3 100 +cc1ehad6hausea0qc8t3amxlpqs5rx2c05zmds3k9 200 +cc1ekdz6rlnh4sx02wnwhdzheqq4l7pgvptjn2yu9 300 +cc1ep8qq32hh7ndtdcztgd2rrzlq8dcmvmmantevt 100 +cc1etx55kw7tkmnjqz0k0mups4ewxlr324tnxsq57 200 +cc1f6u85enm6dfq8y7rqyfq2550eztcjh9ud7vjr6 100 +cc1f8s3eeyrj29f8t9g0ev9v8703qm4rz4lrwlxdr 100 +cc1f8s69xmkm9e0uxjr9ylg0rfxukfzgwldphv5y9 200 +cc1fkzj2d0h3c5jgvvwwstww8w5czj6mvjgdl0lxp 300 +cc1fn5e0z6uvk4ne5tnyv9mgl8h5qrddyvqfygele 300 +cc1fse4rke7mvveasnss47ztngwl4hwg7gm7egl5u 100 +cc1fss98cftj6g8h24yzxfhq2q0hr06n3u5ca62zf 100 +cc1grs4xnejr3mepnk58jg39ksxlueyhpdhx77jjy 300 +cc1h5ejeeas7v85q80k7p6hxaqyu8c8kn6lnav72k 100 +cc1h7upe2prq8hdhzukyhpg9ec7njmmw3e5u8dmts 100 +cc1hjjv4h3l2x77vrv0ypvcu6twuy0tfnx8s8yj6k 100 +cc1hmsev8vpg60h67plrwvx2tmx3xzwfednjvl2fz 100 +cc1jdxal827zlmpjpdu75v9zcuda4gfudryxql2ze 200 +cc1jhq2grn4l2ht8fakggnzakwl6snfc72tepkec4 300 +cc1jjenfqlk00swjpn8vwd93rzx0guxg3tmrgsw90 200 +cc1jpucyzqw96sdpkqqkhz2k6qqte08ev88yy3jja 100 +cc1jvv9j20fpajgp679hzk8kxulvqfrm79yr7gjr8 100 +cc1jwavmmr75p25ay6atyaw4yw2pveywag8yz0rrw 100 +cc1jxqhq2kskfzyhhm4acy8cd68ph5az54t0tdyud 200 +cc1jyjcktt92avq4fhjgcqsp38r8flza3la4ahudx 300 +cc1k2h63lt9upzr40rsa74w6gz57v52qpewy5w3xe 300 +cc1k2tyxj9pjxskpnqf87prkr9whzagnx5a04wg9k 300 +cc1k4xdq5n5t0wmlttn3n05rlk2wrftfp3vs8997n 300 +cc1kg85kh7pamfnj2j3k4g0y93nwkpj4txfvxk86d 100 +cc1klpp6q7dzd3mafjve3f3ejt4c5y5nfeldt57j7 100 +cc1klsyj8ptejt4ufy86drxd8vm3vsas8hhucstla 200 +cc1l37vepnkj8d52pjsm9d8hadlzh07n5d0pt8l06 100 +cc1lnngcxrt8rv2nth857tgtk3ay95jlg8exjrvfu 200 +cc1m8lsz20hms79we5yn5ckml30kgg5mu6deslxym 100 +cc1map9955h5ujvdmlz50dk5jrtfma0y4tdqgg5kq 100 +cc1mj46rutp0sr029fkr8jwlkgmkqqu0fdn7kjlrk 300 +cc1mjqmlxa8aze6mduq4ucyvtdjttc78dgtt0secn 200 +cc1mp77nu88lx3760lzpqf868s49ezdpg7gfljkun 300 +cc1msd2mq4huqkfah4dcx7fy4jjc5ulslamrhly7r 300 +cc1mwqyt2f7u69wcv7gxspv9m4jlq29gdadyfww0d 300 +cc1n44vc78vjmuvpfcaxarzta8wsutrh08cy36u3v 100 +cc1nfn9yev2ry0nmh0r5akpym58udmevt75pume5s 300 +cc1pjpaf9af7kh83kk7z4wgxyaw6772qggajzkt7x 100 +cc1prnmjqvp2080lgugjle0492ratxa387npjgz37 200 +cc1py6acxj4d2l4694kyqj34mwhgr5f04pyn2wac5 100 +cc1q8zrfyv7muv7aflr5xzn069zfumy4xs8w6a3xn 100 +cc1qa8t2ed87x8tgdwyw2tcgxpsg4stvn4w64rtna 100 +cc1qrjt6rsmn9qvs52suyujhuu8qp7a3520es7xy4 300 +cc1qu6hwj678c5tm0j7q52rda8w8ftjes5cw9axu5 100 +cc1rhdpj0vrfmdfxwntj8evmncdhc35xp0edsnczk 100 +cc1ryn4vth06ltxp4j97r2r5ym3pwyyx0k2m700dj 300 +cc1s9fljs8pfz60qqg6wj6hxhu82tjfqu6yn0x82q 300 +cc1slj7amnmemt0t0f8uahnnyv2ztdwuc30sxgdku 100 +cc1szj8cguttxn27xg4rg6xlag8qe6ajd4kqsca5k 300 +cc1tnxxhkf3s8apvf34270vde7t9u59t6xxq9xsac 100 +cc1u0cg7amyg38ep3yggr6fktgaqwsqnfsq3z8u25 100 +cc1u5c8ace2udgddx479gm5mm2gx9n2dtnfzztw3g 300 +cc1u7wrw08y8wm0m8ev9c5tu62fk9jwa2vst6ajfa 100 +cc1uthk7gmxz8c7jfxdvcq9rsp8xpl5gsm55pqt64 200 +cc1uzvzgt04gg4t70jquhdxa9mgyzkc88m3czxdps 100 +cc1vecesanll83q8np8d7ktgs0c3fegutkddn7lzl 100 +cc1vg2kwnamjp0q0rdcsq2n8wkp0sx7c042ehuwek 100 +cc1vh452a3zyyqkngfffsf9cvj8nzhrf0a8zxu6hn 100 +cc1vknmv3g5vfg96276m3nuzg3temqthz0exru50z 100 +cc1vqeqtya4lca8qdw8zprcwcxaw0n8hj7yfn4lvz 100 +cc1vwg80fptuqmn0e3tnnqcgd0sm3u3a2s09qtq5m 300 +cc1w6sdrxkys6qq94mdm5eawk2aqfhcs55hld7tad 100 +cc1w79t4xnxhfvtu54m3ymw2fvthdj9pfg7h7wf9z 100 +cc1wkuexd8n4lvd6032p4yuwnuf4cctd8m9cph6j5 300 +cc1wl2hjmg2g5rhx5xc89r6gl77t6tdedgy25u5n8 300 +cc1wlmkgs6mckzphx42pxm8xaxwd9q997y2dzcphp 200 +cc1wwg5f8x6c6dsucm22xkfppus6ul76ck9w3m7mc 100 +cc1x2m6chcf68ujqqcsm8smu2ycfltf3cf486t2x8 100 +cc1xwcl8277d39q75q6eear3y8m8ymrapmtsf5wty 100 +cc1y4lg7qhx2yusxvekhwj8gzh2vu006kk0galqpz 300 +cc1yc2zwyh6v545nv5sgh7gv340nlc7x5wf0kyu53 100 +cc1yll7qpdep4h7vg8na8jfwvfluy50j5damm6ua2 100 +cc1zhhwr8gk8pqf9p9eamxnqqstmtszjazw6ctxlf 400 \ No newline at end of file diff --git a/scripts/migrate_with_data.py b/scripts/migrate_with_data.py index a929e559..f8c41ca2 100755 --- a/scripts/migrate_with_data.py +++ b/scripts/migrate_with_data.py @@ -2,48 +2,123 @@ import sys import json +import csv +import os args = sys.argv assert len(args) == 3, f"Error: Syntax: {args[0]} [old_genesis] [new_genesis]" -del_cards = [370, 346, 258] +__location__ = os.path.realpath(os.path.join(os.getcwd(), os.path.dirname(__file__))) + +gameserver_addr = ["cc1z94z55n2rr4rmjf4ea0m7ykgh9a8urwzrlsxt4", "cc1ch66e3f0szxy8q976rsq5y07esmgdqzj70dfpu"] +alpha_creator = "cc14km80077s0hch3sh38wh2hfk7kxfau4456r3ej" +del_cards = [] # [370, 346, 258] file_path_old = args[1] file_path_new = args[2] +genesisAccs = [] +# here we load the balances of addresses that start with balances on CC +with open(os.path.join(__location__, "./genesis_balances.tsv"), "r", encoding="utf8") as genesis_file: + tsv_reader = csv.DictReader(genesis_file, delimiter="\t") + for entry in tsv_reader: + genesisAccs.append((entry["Address"], entry["Balance"])) + # print(f"{genesisAddresses} has {genesisBalances}") + +rarities = [] +# here we load the table with card rarities +with open(os.path.join(__location__, "./card_rarities.tsv"), "r", encoding="utf8") as rarity_file: + tsv_reader = csv.DictReader(rarity_file, delimiter="\t") + for entry in tsv_reader: + rarities.append((entry["CardId"], entry["Rarity"])) + +starters = [] +# here we load the table with starter card +with open(os.path.join(__location__, "./card_starters.tsv"), "r", encoding="utf8") as starter_file: + tsv_reader = csv.DictReader(starter_file, delimiter="\t") + for entry in tsv_reader: + starters.append(entry["CardId"]) + +# this loads the old genesis file with open(file_path_old, "r") as file: - old_dict = json.load(file) + old_dict = json.load(file) + #old_dict = json.loads(file.read().replace("collection", "set").replace("Collection", "Set")) +# this loads the new genesis file with open(file_path_new, "r") as file: - new_dict = json.load(file) + new_dict = json.load(file) + + +# delete all sets +#old_dict["app_state"]["cardchain"]["sets"] = [] + params = new_dict["app_state"]["cardchain"]["params"] +new_dict["app_state"]["featureflag"] = old_dict["app_state"].get("featureflag", new_dict["app_state"]["featureflag"]) new_dict["app_state"]["cardchain"] = old_dict["app_state"]["cardchain"].copy() new_dict["app_state"]["cardchain"]["addresses"] = [] new_dict["app_state"]["cardchain"]["users"] = [] for card in del_cards: - new_dict["app_state"]["cardchain"]["cardRecords"][card] = {} + new_dict["app_state"]["cardchain"]["cardRecords"][card] = {} + +# write rarities into cards +for card in rarities: + if card[1] == "C": + new_dict["app_state"]["cardchain"]["cardRecords"][int(card[0])]["rarity"] = "common" + if card[1] == "U": + new_dict["app_state"]["cardchain"]["cardRecords"][int(card[0])]["rarity"] = "uncommon" + if card[1] == "R": + new_dict["app_state"]["cardchain"]["cardRecords"][int(card[0])]["rarity"] = "rare" + +# set starter cards +for card in starters: + new_dict["app_state"]["cardchain"]["cardRecords"][int(card)]["starterCard"] = True for param in params: - if param in old_dict["app_state"]["cardchain"]["params"]: - params[param] = old_dict["app_state"]["cardchain"]["params"][param] + if param in old_dict["app_state"]["cardchain"]["params"]: + params[param] = old_dict["app_state"]["cardchain"]["params"][param] new_dict["app_state"]["cardchain"]["params"] = params +# set balanceAnchor, for alpha creator true, for all others false +for key in new_dict["app_state"]["cardchain"]["cardRecords"]: + if key["owner"] == alpha_creator: + key["balanceAnchor"] = True + else: + key["balanceAnchor"] = False + for idx, addr in enumerate(old_dict["app_state"]["cardchain"]["addresses"]): - new_dict["app_state"]["cardchain"]["addresses"].append(addr) - new_dict["app_state"]["cardchain"]["users"].append(old_dict["app_state"]["cardchain"]["users"][idx]) - for i in old_dict["app_state"]["auth"]["accounts"]: - if i.get("address") == addr: - new_dict["app_state"]["auth"]["accounts"].append(i) - break - for i in old_dict["app_state"]["bank"]["balances"]: - if i["address"] == addr: - for idx, coin in enumerate(i["coins"]): - if coin["denom"] == "ubpf": - i["coins"][idx]["amount"] = "5000000" - new_dict["app_state"]["bank"]["balances"].append(i) - break + # set reportmatches to true for gameserver addresses + if addr in gameserver_addr: + old_dict["app_state"]["cardchain"]["users"][idx]["ReportMatches"] = True + + new_dict["app_state"]["cardchain"]["addresses"].append(addr) + new_dict["app_state"]["cardchain"]["users"].append(old_dict["app_state"]["cardchain"]["users"][idx]) + for i in old_dict["app_state"]["auth"]["accounts"]: + if i.get("address") == addr: + new_dict["app_state"]["auth"]["accounts"].append(i) + break + # limit balances to 5k for all old accounts (genesis accs + alice and bob will have more) + for i in old_dict["app_state"]["bank"]["balances"]: + if i["address"] == addr: + for idx, coin in enumerate(i["coins"]): + # adjust BPFs + if coin["denom"] == "ubpf": + # use flat value for all others (TODO ON LAUNCH THIS SHOULD BE 0) + i["coins"][idx]["amount"] = "5000000" + # use real bpf value for genesisAddresses + for acc in genesisAccs: + if acc[0] == addr: + i["coins"][idx]["amount"] = str(int(acc[1]) * 1000000) + # give bpf to alpha creator (jannik) + if addr == alpha_creator: + i["coins"][idx]["amount"] = "1000000000" + # adjust Credits + if coin["denom"] == "ucredits": + if addr == alpha_creator: + i["coins"][idx]["amount"] = "100000000000" + new_dict["app_state"]["bank"]["balances"].append(i) + break with open(file_path_new, "w") as file: - json.dump(new_dict, file, indent=2) + json.dump(new_dict, file, indent=2) diff --git a/scripts/full_setup.sh b/scripts/old/full_setup.sh similarity index 100% rename from scripts/full_setup.sh rename to scripts/old/full_setup.sh diff --git a/scripts/import_old_genesis.py b/scripts/old/import_old_genesis.py similarity index 100% rename from scripts/import_old_genesis.py rename to scripts/old/import_old_genesis.py diff --git a/scripts/paramchange/paramchange.json b/scripts/paramchange/paramchange.json new file mode 100644 index 00000000..81538344 --- /dev/null +++ b/scripts/paramchange/paramchange.json @@ -0,0 +1,12 @@ +{ + "title": "Param change uncommonsPerPack: 2", + "description": "We want to change the unCommonsPerPack", + "changes": [ + { + "subspace": "cardchain", + "key": "UnCommonsPerPack", + "value": "2" + } + ], + "deposit": "10000000ubpf" +} \ No newline at end of file diff --git a/scripts/paramchange/submitproposal.sh b/scripts/paramchange/submitproposal.sh new file mode 100644 index 00000000..fadf5b8d --- /dev/null +++ b/scripts/paramchange/submitproposal.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash +parent_path=$( cd "$(dirname "${BASH_SOURCE[0]}")" ; pwd -P ) + +cd "$parent_path" + +Cardchaind tx gov submit-legacy-proposal param-change paramchange.json --from jannik \ No newline at end of file diff --git a/scripts/paramchange/vote.sh b/scripts/paramchange/vote.sh new file mode 100644 index 00000000..214032b9 --- /dev/null +++ b/scripts/paramchange/vote.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +if [ $# -lt 1 ]; then + echo 1>&2 "Please specify proposal id via argument" + exit 2 +fi + +echo "voting! (I hope you have staked ubpf)" + +Cardchaind tx gov vote $1 yes --from jannik \ No newline at end of file diff --git a/scripts/register_faucet.sh b/scripts/register_faucet.sh new file mode 100644 index 00000000..9992e56c --- /dev/null +++ b/scripts/register_faucet.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash +parent_path=$( cd "$(dirname "${BASH_SOURCE[0]}")" ; pwd -P ) + +cd "$parent_path" + +Cardchaind tx cardchain createuser $(cat ../backup/faucetaddress.txt) faucet --from jannik --gas auto --node tcp://$(cat ../syncnode.txt):26657 \ No newline at end of file diff --git a/scripts/requester/README.md b/scripts/requester/README.md deleted file mode 100644 index b3a62df9..00000000 --- a/scripts/requester/README.md +++ /dev/null @@ -1,25 +0,0 @@ -# requester -Get's a clear string card content from a as string marshaled byte array. Has to be installed first to be able to run import_old_genesis.py - -## Install -``` -go build -buildmode=c-shared -o ./requester.so ./requester.go -``` - -## Usage -Import `requester`. -Note that "Cooler" Typ needs to have enought funds -``` -Cardchaind tx bank send alice $(Cardchaind keys show "Cooler Typ" --address) 2000000000000000000000000000000000000000000000000000000ucredits -``` - -## Full setup for new chain -``` -cd ./requester -go build -buildmode=c-shared -o ./requester.so ./requester.go -cd ../ -./test_setup.sh -Cardchaind tx bank send alice $(Cardchaind keys show "Cooler Typ" --address) 2000000000000000000000000000000000000000000000000000000ucredits -# Now replace the accountaddresses in import_old_genesis.py -./import_old_genesis.py -``` diff --git a/scripts/requester/__init__.py b/scripts/requester/__init__.py deleted file mode 100644 index 7702312d..00000000 --- a/scripts/requester/__init__.py +++ /dev/null @@ -1,3 +0,0 @@ -import ctypes - -requester = ctypes.cdll.LoadLibrary('./requester/requester.so') diff --git a/scripts/requester/__pycache__/__init__.cpython-310.pyc b/scripts/requester/__pycache__/__init__.cpython-310.pyc deleted file mode 100644 index ebef3d67..00000000 Binary files a/scripts/requester/__pycache__/__init__.cpython-310.pyc and /dev/null differ diff --git a/scripts/requester/go.mod b/scripts/requester/go.mod deleted file mode 100644 index 64f0969f..00000000 --- a/scripts/requester/go.mod +++ /dev/null @@ -1,120 +0,0 @@ -module github.com/DecentralCardGame/scripts/requester - -go 1.18 - -replace github.com/DecentralCardGame/Cardchain => ../../../Cardchain - -replace github.com/gogo/protobuf => github.com/regen-network/protobuf v1.3.3-alpha.regen.1 - -require ( - github.com/DecentralCardGame/Cardchain v0.0.0-00010101000000-000000000000 - github.com/DecentralCardGame/cardobject v0.4.13 - github.com/cosmos/cosmos-sdk v0.45.3 - github.com/ignite-hq/cli v0.20.4 -) - -require ( - filippo.io/edwards25519 v1.0.0-beta.2 // indirect - github.com/99designs/keyring v1.1.6 // indirect - github.com/ChainSafe/go-schnorrkel v0.0.0-20200405005733-88cbf1b4c40d // indirect - github.com/DataDog/zstd v1.4.5 // indirect - github.com/armon/go-metrics v0.3.10 // indirect - github.com/beorn7/perks v1.0.1 // indirect - github.com/bgentry/speakeasy v0.1.0 // indirect - github.com/blang/semver v3.5.1+incompatible // indirect - github.com/btcsuite/btcd v0.22.0-beta // indirect - github.com/cenkalti/backoff v2.2.1+incompatible // indirect - github.com/cespare/xxhash v1.1.0 // indirect - github.com/cespare/xxhash/v2 v2.1.2 // indirect - github.com/confio/ics23/go v0.6.6 // indirect - github.com/cosmos/btcutil v1.0.4 // indirect - github.com/cosmos/go-bip39 v1.0.0 // indirect - github.com/cosmos/iavl v0.17.3 // indirect - github.com/cosmos/ledger-cosmos-go v0.11.1 // indirect - github.com/cosmos/ledger-go v0.9.2 // indirect - github.com/danieljoos/wincred v1.0.2 // indirect - github.com/davecgh/go-spew v1.1.1 // indirect - github.com/dgraph-io/badger/v2 v2.2007.2 // indirect - github.com/dgraph-io/ristretto v0.0.3 // indirect - github.com/dgryski/go-farm v0.0.0-20200201041132-a6ae2369ad13 // indirect - github.com/dustin/go-humanize v1.0.1-0.20200219035652-afde56e7acac // indirect - github.com/dvsekhvalnov/jose2go v0.0.0-20200901110807-248326c1351b // indirect - github.com/fatih/camelcase v1.0.0 // indirect - github.com/fsnotify/fsnotify v1.5.1 // indirect - github.com/ghodss/yaml v1.0.0 // indirect - github.com/go-kit/kit v0.12.0 // indirect - github.com/go-kit/log v0.2.0 // indirect - github.com/go-logfmt/logfmt v0.5.1 // indirect - github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2 // indirect - github.com/gogo/protobuf v1.3.3 // indirect - github.com/golang/protobuf v1.5.2 // indirect - github.com/golang/snappy v0.0.3 // indirect - github.com/google/btree v1.0.0 // indirect - github.com/google/gofuzz v1.2.0 // indirect - github.com/gorilla/mux v1.8.0 // indirect - github.com/gorilla/websocket v1.5.0 // indirect - github.com/grpc-ecosystem/go-grpc-middleware v1.3.0 // indirect - github.com/grpc-ecosystem/grpc-gateway v1.16.0 // indirect - github.com/gsterjov/go-libsecret v0.0.0-20161001094733-a6f4afe4910c // indirect - github.com/gtank/merlin v0.1.1 // indirect - github.com/gtank/ristretto255 v0.1.2 // indirect - github.com/hashicorp/go-immutable-radix v1.3.1 // indirect - github.com/hashicorp/golang-lru v0.5.4 // indirect - github.com/hashicorp/hcl v1.0.0 // indirect - github.com/hdevalence/ed25519consensus v0.0.0-20210204194344-59a8610d2b87 // indirect - github.com/iancoleman/orderedmap v0.2.0 // indirect - github.com/inconshreveable/mousetrap v1.0.0 // indirect - github.com/jmhodges/levigo v1.0.0 // indirect - github.com/keybase/go-keychain v0.0.0-20190712205309-48d3d31d256d // indirect - github.com/libp2p/go-buffer-pool v0.0.2 // indirect - github.com/magiconair/properties v1.8.5 // indirect - github.com/mattn/go-isatty v0.0.14 // indirect - github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 // indirect - github.com/mimoo/StrobeGo v0.0.0-20181016162300-f8f6d4d2b643 // indirect - github.com/mitchellh/go-homedir v1.1.0 // indirect - github.com/mitchellh/mapstructure v1.4.3 // indirect - github.com/mtibben/percent v0.2.1 // indirect - github.com/pelletier/go-toml v1.9.4 // indirect - github.com/petermattis/goid v0.0.0-20180202154549-b0b1615b78e5 // indirect - github.com/pkg/errors v0.9.1 // indirect - github.com/pmezard/go-difflib v1.0.0 // indirect - github.com/prometheus/client_golang v1.12.1 // indirect - github.com/prometheus/client_model v0.2.0 // indirect - github.com/prometheus/common v0.32.1 // indirect - github.com/prometheus/procfs v0.7.3 // indirect - github.com/rcrowley/go-metrics v0.0.0-20200313005456-10cdbea86bc0 // indirect - github.com/regen-network/cosmos-proto v0.3.1 // indirect - github.com/rs/cors v1.8.2 // indirect - github.com/sasha-s/go-deadlock v0.2.1-0.20190427202633-1595213edefa // indirect - github.com/spf13/afero v1.6.0 // indirect - github.com/spf13/cast v1.4.1 // indirect - github.com/spf13/cobra v1.4.0 // indirect - github.com/spf13/jwalterweatherman v1.1.0 // indirect - github.com/spf13/pflag v1.0.5 // indirect - github.com/spf13/viper v1.10.1 // indirect - github.com/stretchr/testify v1.7.1 // indirect - github.com/subosito/gotenv v1.2.0 // indirect - github.com/syndtr/goleveldb v1.0.1-0.20200815110645-5c35d600f0ca // indirect - github.com/tecbot/gorocksdb v0.0.0-20191217155057-f0fad39f321c // indirect - github.com/tendermint/btcd v0.1.1 // indirect - github.com/tendermint/crypto v0.0.0-20191022145703-50d29ede1e15 // indirect - github.com/tendermint/go-amino v0.16.0 // indirect - github.com/tendermint/tendermint v0.34.19 // indirect - github.com/tendermint/tm-db v0.6.6 // indirect - github.com/zondax/hid v0.9.0 // indirect - go.etcd.io/bbolt v1.3.6 // indirect - golang.org/x/crypto v0.0.0-20210921155107-089bfa567519 // indirect - golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4 // indirect - golang.org/x/net v0.3.0 // indirect - golang.org/x/sync v0.0.0-20210220032951-036812b2e83c // indirect - golang.org/x/sys v0.3.0 // indirect - golang.org/x/term v0.3.0 // indirect - golang.org/x/text v0.5.0 // indirect - golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 // indirect - google.golang.org/genproto v0.0.0-20221207170731-23e4bf6bdc37 // indirect - google.golang.org/grpc v1.51.0 // indirect - google.golang.org/protobuf v1.28.1 // indirect - gopkg.in/ini.v1 v1.66.2 // indirect - gopkg.in/yaml.v2 v2.4.0 // indirect - gopkg.in/yaml.v3 v3.0.1 // indirect -) diff --git a/scripts/requester/go.sum b/scripts/requester/go.sum deleted file mode 100644 index 1c131eca..00000000 --- a/scripts/requester/go.sum +++ /dev/null @@ -1,1607 +0,0 @@ -bazil.org/fuse v0.0.0-20200407214033-5883e5a4b512/go.mod h1:FbcW6z/2VytnFDhZfumh8Ss8zxHE6qpMP5sHTRe0EaM= -cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU= -cloud.google.com/go v0.44.1/go.mod h1:iSa0KzasP4Uvy3f1mN/7PiObzGgflwredwwASm/v6AU= -cloud.google.com/go v0.44.2/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= -cloud.google.com/go v0.45.1/go.mod h1:RpBamKRgapWJb87xiFSdk4g1CME7QZg3uwTez+TSTjc= -cloud.google.com/go v0.46.3/go.mod h1:a6bKKbmY7er1mI7TEI4lsAkts/mkhTSZK8w33B4RAg0= -cloud.google.com/go v0.50.0/go.mod h1:r9sluTvynVuxRIOHXQEHMFffphuXHOMZMycpNR5e6To= -cloud.google.com/go v0.52.0/go.mod h1:pXajvRH/6o3+F9jDHZWQ5PbGhn+o8w9qiu/CffaVdO4= -cloud.google.com/go v0.53.0/go.mod h1:fp/UouUEsRkN6ryDKNW/Upv/JBKnv6WDthjR6+vze6M= -cloud.google.com/go v0.54.0/go.mod h1:1rq2OEkV3YMf6n/9ZvGWI3GWw0VoqH/1x2nd8Is/bPc= -cloud.google.com/go v0.56.0/go.mod h1:jr7tqZxxKOVYizybht9+26Z/gUq7tiRzu+ACVAMbKVk= -cloud.google.com/go v0.57.0/go.mod h1:oXiQ6Rzq3RAkkY7N6t3TcE6jE+CIBBbA36lwQ1JyzZs= -cloud.google.com/go v0.62.0/go.mod h1:jmCYTdRCQuc1PHIIJ/maLInMho30T/Y0M4hTdTShOYc= -cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHObY= -cloud.google.com/go v0.72.0/go.mod h1:M+5Vjvlc2wnp6tjzE102Dw08nGShTscUx2nZMufOKPI= -cloud.google.com/go v0.74.0/go.mod h1:VV1xSbzvo+9QJOxLDaJfTjx5e+MePCpCWwvftOeQmWk= -cloud.google.com/go v0.78.0/go.mod h1:QjdrLG0uq+YwhjoVOLsS1t7TW8fs36kLs4XO5R5ECHg= -cloud.google.com/go v0.79.0/go.mod h1:3bzgcEeQlzbuEAYu4mrWhKqWjmpprinYgKJLgKHnbb8= -cloud.google.com/go v0.81.0/go.mod h1:mk/AM35KwGk/Nm2YSeZbxXdrNK3KZOYHmLkOqC2V6E0= -cloud.google.com/go v0.83.0/go.mod h1:Z7MJUsANfY0pYPdw0lbnivPx4/vhy/e2FEkSkF7vAVY= -cloud.google.com/go v0.84.0/go.mod h1:RazrYuxIK6Kb7YrzzhPoLmCVzl7Sup4NrbKPg8KHSUM= -cloud.google.com/go v0.87.0/go.mod h1:TpDYlFy7vuLzZMMZ+B6iRiELaY7z/gJPaqbMx6mlWcY= -cloud.google.com/go v0.90.0/go.mod h1:kRX0mNRHe0e2rC6oNakvwQqzyDmg57xJ+SZU1eT2aDQ= -cloud.google.com/go v0.93.3/go.mod h1:8utlLll2EF5XMAV15woO4lSbWQlk8rer9aLOfLh7+YI= -cloud.google.com/go v0.94.1/go.mod h1:qAlAugsXlC+JWO+Bke5vCtc9ONxjQT3drlTTnAplMW4= -cloud.google.com/go v0.97.0/go.mod h1:GF7l59pYBVlXQIBLx3a761cZ41F9bBH3JUlihCt2Udc= -cloud.google.com/go v0.99.0/go.mod h1:w0Xx2nLzqWJPuozYQX+hFfCSI8WioryfRDzkoI/Y2ZA= -cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= -cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= -cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc= -cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg= -cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc= -cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ= -cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= -cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= -cloud.google.com/go/firestore v1.1.0/go.mod h1:ulACoGHTpvq5r8rxGJ4ddJZBZqakUQqClKRT5SZwBmk= -cloud.google.com/go/firestore v1.6.1/go.mod h1:asNXNOzBdyVQmEU+ggO8UPodTkEVFW5Qx+rwHnAz+EY= -cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= -cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw= -cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA= -cloud.google.com/go/pubsub v1.3.1/go.mod h1:i+ucay31+CNRpDW4Lu78I4xXG+O1r/MAHgjpRVR+TSU= -cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw= -cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0ZeosJ0Rtdos= -cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk= -cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs= -cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= -dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= -filippo.io/edwards25519 v1.0.0-beta.2 h1:/BZRNzm8N4K4eWfK28dL4yescorxtO7YG1yun8fy+pI= -filippo.io/edwards25519 v1.0.0-beta.2/go.mod h1:X+pm78QAUPtFLi1z9PYIlS/bdDnvbCOGKtZ+ACWEf7o= -github.com/99designs/keyring v1.1.6 h1:kVDC2uCgVwecxCk+9zoCt2uEL6dt+dfVzMvGgnVcIuM= -github.com/99designs/keyring v1.1.6/go.mod h1:16e0ds7LGQQcT59QqkTg72Hh5ShM51Byv5PEmW6uoRU= -github.com/Azure/azure-pipeline-go v0.2.1/go.mod h1:UGSo8XybXnIGZ3epmeBw7Jdz+HiUVpqIlpz/HKHylF4= -github.com/Azure/azure-pipeline-go v0.2.2/go.mod h1:4rQ/NZncSvGqNkkOsNpOU1tgoNuIlp9AfUH5G1tvCHc= -github.com/Azure/azure-sdk-for-go/sdk/azcore v0.19.0/go.mod h1:h6H6c8enJmmocHUbLiiGY6sx7f9i+X3m1CHdd5c6Rdw= -github.com/Azure/azure-sdk-for-go/sdk/azidentity v0.11.0/go.mod h1:HcM1YX14R7CJcghJGOYCgdezslRSVzqwLf/q+4Y2r/0= -github.com/Azure/azure-sdk-for-go/sdk/internal v0.7.0/go.mod h1:yqy467j36fJxcRV2TzfVZ1pCb5vxm4BtZPUdYWe/Xo8= -github.com/Azure/azure-storage-blob-go v0.7.0/go.mod h1:f9YQKtsG1nMisotuTPpO0tjNuEjKRYAcJU8/ydDI++4= -github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78/go.mod h1:LmzpDX56iTiv29bbRTIsUNlaFfuhWRQBWjQdVyAevI8= -github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1/go.mod h1:xomTg63KZ2rFqZQzSB4Vz2SUXa1BpHTVz9L5PTmPC4E= -github.com/Azure/go-autorest/autorest v0.9.0/go.mod h1:xyHB1BMZT0cuDHU7I0+g046+BFDTQ8rEZB0s4Yfa6bI= -github.com/Azure/go-autorest/autorest/adal v0.5.0/go.mod h1:8Z9fGy2MpX0PvDjB1pEgQTmVqjGhiHBW7RJJEciWzS0= -github.com/Azure/go-autorest/autorest/adal v0.8.0/go.mod h1:Z6vX6WXXuyieHAXwMj0S6HY6e6wcHn37qQMBQlvY3lc= -github.com/Azure/go-autorest/autorest/date v0.1.0/go.mod h1:plvfp3oPSKwf2DNjlBjWF/7vwR+cUD/ELuzDCXwHUVA= -github.com/Azure/go-autorest/autorest/date v0.2.0/go.mod h1:vcORJHLJEh643/Ioh9+vPmf1Ij9AEBM5FuBIXLmIy0g= -github.com/Azure/go-autorest/autorest/mocks v0.1.0/go.mod h1:OTyCOPRA2IgIlWxVYxBee2F5Gr4kF2zd2J5cFRaIDN0= -github.com/Azure/go-autorest/autorest/mocks v0.2.0/go.mod h1:OTyCOPRA2IgIlWxVYxBee2F5Gr4kF2zd2J5cFRaIDN0= -github.com/Azure/go-autorest/autorest/mocks v0.3.0/go.mod h1:a8FDP3DYzQ4RYfVAxAN3SVSiiO77gL2j2ronKKP0syM= -github.com/Azure/go-autorest/logger v0.1.0/go.mod h1:oExouG+K6PryycPJfVSxi/koC6LSNgds39diKLz7Vrc= -github.com/Azure/go-autorest/tracing v0.5.0/go.mod h1:r/s2XiOKccPW3HrqB+W0TQzfbtp2fGCgRFtBroKn4Dk= -github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= -github.com/BurntSushi/toml v1.1.0/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ= -github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= -github.com/ChainSafe/go-schnorrkel v0.0.0-20200405005733-88cbf1b4c40d h1:nalkkPQcITbvhmL4+C4cKA87NW0tfm3Kl9VXRoPywFg= -github.com/ChainSafe/go-schnorrkel v0.0.0-20200405005733-88cbf1b4c40d/go.mod h1:URdX5+vg25ts3aCh8H5IFZybJYKWhJHYMTnf+ULtoC4= -github.com/DATA-DOG/go-sqlmock v1.5.0/go.mod h1:f/Ixk793poVmq4qj/V1dPUg2JEAKC73Q5eFN3EC/SaM= -github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ= -github.com/DataDog/zstd v1.4.1/go.mod h1:1jcaCB/ufaK+sKp1NBhlGmpz41jOoPQ35bpF36t7BBo= -github.com/DataDog/zstd v1.4.5 h1:EndNeuB0l9syBZhut0wns3gV1hL8zX8LIu6ZiVHWLIQ= -github.com/DataDog/zstd v1.4.5/go.mod h1:1jcaCB/ufaK+sKp1NBhlGmpz41jOoPQ35bpF36t7BBo= -github.com/DecentralCardGame/cardobject v0.4.10 h1:OU/10V+S4dnkl68WswEF+Yj+mlS5Vkz/louzXnEH+WI= -github.com/DecentralCardGame/cardobject v0.4.10/go.mod h1:waAoRvDCDVTBlPjEroIIfXpX2PQnJvgUssRN4Ji4VFM= -github.com/DecentralCardGame/cardobject v0.4.13/go.mod h1:waAoRvDCDVTBlPjEroIIfXpX2PQnJvgUssRN4Ji4VFM= -github.com/HdrHistogram/hdrhistogram-go v1.1.0/go.mod h1:yDgFjdqOqDEKOvasDdhWNXYg9BVp4O+o5f6V/ehm6Oo= -github.com/HdrHistogram/hdrhistogram-go v1.1.2/go.mod h1:yDgFjdqOqDEKOvasDdhWNXYg9BVp4O+o5f6V/ehm6Oo= -github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible/go.mod h1:r7JcOSlj0wfOMncg0iLm8Leh48TZaKVeNIfJntJ2wa0= -github.com/Microsoft/go-winio v0.4.14/go.mod h1:qXqCSQ3Xa7+6tgxaGTIe4Kpcdsi+P8jBhyzoq1bpyYA= -github.com/Microsoft/go-winio v0.5.0/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= -github.com/Microsoft/go-winio v0.5.1/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= -github.com/Nvveen/Gotty v0.0.0-20120604004816-cd527374f1e5/go.mod h1:lmUJ/7eu/Q8D7ML55dXQrVaamCz2vxCfdQBasLZfHKk= -github.com/OneOfOne/xxhash v1.2.2 h1:KMrpdQIwFcEqXDklaen+P1axHaj9BSKzvpUUfnHldSE= -github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= -github.com/Shopify/sarama v1.19.0/go.mod h1:FVkBWblsNy7DGZRfXLU0O9RCGt5g3g3yEuWXgklEdEo= -github.com/Shopify/toxiproxy v2.1.4+incompatible/go.mod h1:OXgGpZ6Cli1/URJOF1DMxUHB2q5Ap20/P/eIdh4G0pI= -github.com/StackExchange/wmi v0.0.0-20180116203802-5d049714c4a6/go.mod h1:3eOhrUMpNV+6aFIbp5/iudMxNCF27Vw2OZgy4xEx0Fg= -github.com/VictoriaMetrics/fastcache v1.5.7/go.mod h1:ptDBkNMQI4RtmVo8VS/XwRY6RoTu1dAWCbrk+6WsEM8= -github.com/VividCortex/gohistogram v1.0.0 h1:6+hBz+qvs0JOrrNhhmR7lFxo5sINxBCGXrdtl/UvroE= -github.com/VividCortex/gohistogram v1.0.0/go.mod h1:Pf5mBqqDxYaXu3hDrrU+w6nw50o/4+TcAqDqk/vUH7g= -github.com/Workiva/go-datastructures v1.0.52/go.mod h1:Z+F2Rca0qCsVYDS8z7bAGm8f3UkzuWYS/oBZz5a7VVA= -github.com/Workiva/go-datastructures v1.0.53 h1:J6Y/52yX10Xc5JjXmGtWoSSxs3mZnGSaq37xZZh7Yig= -github.com/Workiva/go-datastructures v1.0.53/go.mod h1:1yZL+zfsztete+ePzZz/Zb1/t5BnDuE2Ya2MMGhzP6A= -github.com/Zilliqa/gozilliqa-sdk v1.2.1-0.20201201074141-dd0ecada1be6/go.mod h1:eSYp2T6f0apnuW8TzhV3f6Aff2SE8Dwio++U4ha4yEM= -github.com/adlio/schema v1.1.13/go.mod h1:L5Z7tw+7lRK1Fnpi/LT/ooCP1elkXn0krMWBQHUhEDE= -github.com/adlio/schema v1.3.0/go.mod h1:51QzxkpeFs6lRY11kPye26IaFPOV+HqEj01t5aXXKfs= -github.com/aead/siphash v1.0.1/go.mod h1:Nywa3cDsYNNK3gaciGTWPwHt0wlpNV15vwmswBAUSII= -github.com/afex/hystrix-go v0.0.0-20180502004556-fa1af6a1f4f5/go.mod h1:SkGFH1ia65gfNATL8TAiHDNxPzPdmEL5uirI2Uyuz6c= -github.com/ajstarks/svgo v0.0.0-20180226025133-644b8db467af/go.mod h1:K08gAheRH3/J6wwsYMMT4xOr94bZjxIelGM0+d/wbFw= -github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= -github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= -github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= -github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= -github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk541a8SKzHPHnH3zbiI+7dagKZ0cgpgrD7Fyho= -github.com/allegro/bigcache v1.2.1-0.20190218064605-e24eb225f156/go.mod h1:Cb/ax3seSYIx7SuZdm2G2xzfwmv3TPSk2ucNfQESPXM= -github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= -github.com/apache/thrift v0.12.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= -github.com/apache/thrift v0.13.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= -github.com/aristanetworks/goarista v0.0.0-20170210015632-ea17b1a17847/go.mod h1:D/tb0zPVXnP7fmsLZjtdUhSsumbK/ij54UXjjVgMGxQ= -github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= -github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8= -github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY= -github.com/armon/go-metrics v0.3.9/go.mod h1:4O98XIr/9W0sxpJ8UaYkvjk10Iff7SnFrb4QAOwNTFc= -github.com/armon/go-metrics v0.3.10 h1:FR+drcQStOe+32sYyJYyZ7FIdgoGGBnwLl+flodp8Uo= -github.com/armon/go-metrics v0.3.10/go.mod h1:4O98XIr/9W0sxpJ8UaYkvjk10Iff7SnFrb4QAOwNTFc= -github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= -github.com/armon/go-radix v1.0.0/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= -github.com/aryann/difflib v0.0.0-20170710044230-e206f873d14a/go.mod h1:DAHtR1m6lCRdSC2Tm3DSWRPvIPr6xNKyeHdqDQSQT+A= -github.com/aws/aws-lambda-go v1.13.3/go.mod h1:4UKl9IzQMoD+QF79YdCuzCwp8VbmG4VAQwij/eHl5CU= -github.com/aws/aws-sdk-go v1.25.48/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= -github.com/aws/aws-sdk-go v1.27.0/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= -github.com/aws/aws-sdk-go v1.40.45/go.mod h1:585smgzpB/KqRA+K3y/NL/oYRqQvpNJYvLm+LY1U59Q= -github.com/aws/aws-sdk-go-v2 v0.18.0/go.mod h1:JWVYvqSMppoMJC0x5wdwiImzgXTI9FuZwxzkQq9wy+g= -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/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= -github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= -github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= -github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= -github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= -github.com/bgentry/speakeasy v0.1.0 h1:ByYyxL9InA1OWqxJqqp2A5pYHUrCiAL6K3J+LKSsQkY= -github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= -github.com/bits-and-blooms/bitset v1.2.0/go.mod h1:gIdJ4wp64HaoK2YrL1Q5/N7Y16edYb8uY+O0FJTyyDA= -github.com/bketelsen/crypt v0.0.3-0.20200106085610-5cbc8cc4026c/go.mod h1:MKsuJmJgSg28kpZDP6UIiPt0e0Oz0kqKNGyRaWEPv84= -github.com/blang/semver v3.5.1+incompatible h1:cQNTCjp13qL8KC3Nbxr/y2Bqb63oX6wdnnjpJbkM4JQ= -github.com/blang/semver v3.5.1+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk= -github.com/btcsuite/btcd v0.0.0-20171128150713-2e60448ffcc6/go.mod h1:Dmm/EzmjnCiweXmzRIAiUWCInVmPgjkzgv5k4tVyXiQ= -github.com/btcsuite/btcd v0.0.0-20190115013929-ed77733ec07d/go.mod h1:d3C0AkH6BRcvO8T0UEPu53cnw4IbV63x1bEjildYhO0= -github.com/btcsuite/btcd v0.0.0-20190315201642-aa6e0f35703c/go.mod h1:DrZx5ec/dmnfpw9KyYoQyYo7d0KEvTkk/5M/vbZjAr8= -github.com/btcsuite/btcd v0.20.1-beta/go.mod h1:wVuoA8VJLEcwgqHBwHmzLRazpKxTv13Px/pDuV7OomQ= -github.com/btcsuite/btcd v0.21.0-beta/go.mod h1:ZSWyehm27aAuS9bvkATT+Xte3hjHZ+MRgMY/8NJ7K94= -github.com/btcsuite/btcd v0.22.0-beta h1:LTDpDKUM5EeOFBPM8IXpinEcmZ6FWfNZbE3lfrfdnWo= -github.com/btcsuite/btcd v0.22.0-beta/go.mod h1:9n5ntfhhHQBIhUvlhDvD3Qg6fRUj4jkN0VB8L8svzOA= -github.com/btcsuite/btclog v0.0.0-20170628155309-84c8d2346e9f/go.mod h1:TdznJufoqS23FtqVCzL0ZqgP5MqXbb4fg/WgDys70nA= -github.com/btcsuite/btcutil v0.0.0-20180706230648-ab6388e0c60a/go.mod h1:+5NJ2+qvTyV9exUAL/rxXi3DcLg2Ts+ymUAY5y4NvMg= -github.com/btcsuite/btcutil v0.0.0-20190207003914-4c204d697803/go.mod h1:+5NJ2+qvTyV9exUAL/rxXi3DcLg2Ts+ymUAY5y4NvMg= -github.com/btcsuite/btcutil v0.0.0-20190425235716-9e5f4b9a998d/go.mod h1:+5NJ2+qvTyV9exUAL/rxXi3DcLg2Ts+ymUAY5y4NvMg= -github.com/btcsuite/btcutil v1.0.2/go.mod h1:j9HUFwoQRsZL3V4n+qG+CUnEGHOarIxfC3Le2Yhbcts= -github.com/btcsuite/btcutil v1.0.3-0.20201208143702-a53e38424cce h1:YtWJF7RHm2pYCvA5t0RPmAaLUhREsKuKd+SLhxFbFeQ= -github.com/btcsuite/btcutil v1.0.3-0.20201208143702-a53e38424cce/go.mod h1:0DVlHczLPewLcPGEIeUEzfOJhqGPQ0mJJRDBtD307+o= -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/casbin/casbin/v2 v2.1.2/go.mod h1:YcPU1XXisHhLzuxH9coDNf2FbKpjGlbCg3n9yuLkIJQ= -github.com/casbin/casbin/v2 v2.37.0/go.mod h1:vByNa/Fchek0KZUgG5wEsl7iFsiviAYKRtgrQfcJqHg= -github.com/cenkalti/backoff v2.2.1+incompatible h1:tNowT99t7UNflLxfYYSlKYsBpXdEet03Pg2g16Swow4= -github.com/cenkalti/backoff v2.2.1+incompatible/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM= -github.com/cenkalti/backoff/v4 v4.1.1/go.mod h1:scbssz8iZGpm3xbr14ovlUdkxfGXNInqkPWOWmG2CLw= -github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= -github.com/census-instrumentation/opencensus-proto v0.3.0/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= -github.com/cespare/cp v0.1.0/go.mod h1:SOGHArjBr4JWaSDEVpWpo/hNg6RoKrls6Oh40hiwW+s= -github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko= -github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= -github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= -github.com/cespare/xxhash/v2 v2.1.2 h1:YRXhKfTDauu4ajMg1TPgFO5jnlC2HCbmLXMcTG5cbYE= -github.com/cespare/xxhash/v2 v2.1.2/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= -github.com/checkpoint-restore/go-criu/v5 v5.0.0/go.mod h1:cfwC0EG7HMUenopBsUf9d89JlCLQIfgVcNsNN0t6T2M= -github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= -github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= -github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= -github.com/cilium/ebpf v0.6.2/go.mod h1:4tRaxcgiL706VnOzHOdBlY8IEAIdxINsQBcU4xJJXRs= -github.com/circonus-labs/circonus-gometrics v2.3.1+incompatible/go.mod h1:nmEj6Dob7S7YxXgwXpfOuvO54S+tGdZdw9fuRZt25Ag= -github.com/circonus-labs/circonusllhist v0.1.3/go.mod h1:kMXHVDlOchFAehlya5ePtbp5jckzBHf4XRpQvBOLI+I= -github.com/clbanning/mxj v1.8.4/go.mod h1:BVjHeAH+rl9rs6f+QIpeRl0tfu10SXn1pUSa5PVGJng= -github.com/clbanning/x2j v0.0.0-20191024224557-825249438eec/go.mod h1:jMjuTZXRI4dUb/I5gc9Hdhagfvm9+RyrPryS/auMzxE= -github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudflare/cloudflare-go v0.10.2-0.20190916151808-a80f83b9add9/go.mod h1:1MxXX1Ux4x6mqPmjkUgTP1CdXIBXKX7T+Jk9Gxrmx+U= -github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= -github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= -github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= -github.com/cncf/udpa/go v0.0.0-20210930031921-04548b0d99d4/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI= -github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cncf/xds/go v0.0.0-20210805033703-aa0b78936158/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cncf/xds/go v0.0.0-20210922020428-25de7278fc84/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cncf/xds/go v0.0.0-20211001041855-01bcc9b48dfe/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cncf/xds/go v0.0.0-20211130200136-a8f946100490/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa/go.mod h1:zn76sxSg3SzpJ0PPJaLDCu+Bu0Lg3sKTORVIj19EIF8= -github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd/go.mod h1:sE/e/2PUdi/liOCUjSTXgM1o87ZssimdTWN964YiIeI= -github.com/coinbase/rosetta-sdk-go v0.7.0 h1:lmTO/JEpCvZgpbkOITL95rA80CPKb5CtMzLaqF2mCNg= -github.com/coinbase/rosetta-sdk-go v0.7.0/go.mod h1:7nD3oBPIiHqhRprqvMgPoGxe/nyq3yftRmpsy29coWE= -github.com/confio/ics23/go v0.6.6 h1:pkOy18YxxJ/r0XFDCnrl4Bjv6h4LkBSpLS6F38mrKL8= -github.com/confio/ics23/go v0.6.6/go.mod h1:E45NqnlpxGnpfTWL/xauN7MRwEE28T4Dd4uraToOaKg= -github.com/containerd/console v1.0.2/go.mod h1:ytZPjGgY2oeTkAONYafi2kSj0aYggsf8acV1PGKCbzQ= -github.com/containerd/continuity v0.0.0-20190827140505-75bee3e2ccb6/go.mod h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y= -github.com/containerd/continuity v0.2.1/go.mod h1:wCYX+dRqZdImhGucXOqTQn05AhX6EUDaGEMUzTFFpLg= -github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk= -github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= -github.com/coreos/etcd v3.3.13+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= -github.com/coreos/go-etcd v2.0.0+incompatible/go.mod h1:Jez6KQU2B/sWsbdaef3ED8NzMklzPG4d5KIOhIy30Tk= -github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= -github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= -github.com/coreos/go-systemd v0.0.0-20180511133405-39ca1b05acc7/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= -github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= -github.com/coreos/go-systemd/v22 v22.3.2/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= -github.com/coreos/pkg v0.0.0-20160727233714-3ac0863d7acf/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= -github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= -github.com/cosmos/btcutil v1.0.4 h1:n7C2ngKXo7UC9gNyMNLbzqz7Asuf+7Qv4gnX/rOdQ44= -github.com/cosmos/btcutil v1.0.4/go.mod h1:Ffqc8Hn6TJUdDgHBwIZLtrLQC1KdJ9jGJl/TvgUaxbU= -github.com/cosmos/cosmos-sdk v0.45.3 h1:PiVSU3IkNEDPhoxOZHk2lPnhwBBJgEYAtAR0jGXRN4g= -github.com/cosmos/cosmos-sdk v0.45.3/go.mod h1:qYm5JEr0ZlbnmoP/Q3b+dYMOliHf4ddHirpILiwZzqg= -github.com/cosmos/go-bip39 v0.0.0-20180819234021-555e2067c45d/go.mod h1:tSxLoYXyBmiFeKpvmq4dzayMdCjCnu8uqmCysIGBT2Y= -github.com/cosmos/go-bip39 v1.0.0 h1:pcomnQdrdH22njcAatO0yWojsUnCO3y2tNoV1cb6hHY= -github.com/cosmos/go-bip39 v1.0.0/go.mod h1:RNJv0H/pOIVgxw6KS7QeX2a0Uo0aKUlfhZ4xuwvCdJw= -github.com/cosmos/iavl v0.17.3 h1:s2N819a2olOmiauVa0WAhoIJq9EhSXE9HDBAoR9k+8Y= -github.com/cosmos/iavl v0.17.3/go.mod h1:prJoErZFABYZGDHka1R6Oay4z9PrNeFFiMKHDAMOi4w= -github.com/cosmos/ledger-cosmos-go v0.11.1 h1:9JIYsGnXP613pb2vPjFeMMjBI5lEDsEaF6oYorTy6J4= -github.com/cosmos/ledger-cosmos-go v0.11.1/go.mod h1:J8//BsAGTo3OC/vDLjMRFLW6q0WAaXvHnVc7ZmE8iUY= -github.com/cosmos/ledger-go v0.9.2 h1:Nnao/dLwaVTk1Q5U9THldpUMMXU94BOTWPddSmVB6pI= -github.com/cosmos/ledger-go v0.9.2/go.mod h1:oZJ2hHAZROdlHiwTg4t7kP+GKIIkBT+o6c9QWFanOyI= -github.com/cpuguy83/go-md2man v1.0.10/go.mod h1:SmD6nW6nTyfqj6ABTjUi3V3JVMnlJmwcJI5acqYI6dE= -github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= -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.1/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= -github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY= -github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= -github.com/cyphar/filepath-securejoin v0.2.2/go.mod h1:FpkQEhXnPnOthhzymB7CGsFk2G9VLXONKD9G7QGMM+4= -github.com/danieljoos/wincred v1.0.2 h1:zf4bhty2iLuwgjgpraD2E9UbvO+fe54XXGJbOwe23fU= -github.com/danieljoos/wincred v1.0.2/go.mod h1:SnuYRW9lp1oJrZX/dXJqr0cPK5gYXqx3EJbmjhLdK9U= -github.com/davecgh/go-spew v0.0.0-20171005155431-ecdeabc65495/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= -github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/deckarep/golang-set v0.0.0-20180603214616-504e848d77ea/go.mod h1:93vsz/8Wt4joVM7c2AVqh+YRMiUSc14yDtF28KmMOgQ= -github.com/decred/dcrd/lru v1.0.0/go.mod h1:mxKOwFd7lFjN2GZYsiz/ecgqR6kkYAl+0pz0tEMk218= -github.com/denisenkom/go-mssqldb v0.12.0/go.mod h1:iiK0YP1ZeepvmBQk/QpLEhhTNJgfzrpArPY/aFvc9yU= -github.com/desertbit/timer v0.0.0-20180107155436-c41aec40b27f h1:U5y3Y5UE0w7amNe7Z5G/twsBW0KEalRQXZzf8ufSh9I= -github.com/desertbit/timer v0.0.0-20180107155436-c41aec40b27f/go.mod h1:xH/i4TFMt8koVQZ6WFms69WAsDWr2XsYL3Hkl7jkoLE= -github.com/dgraph-io/badger/v2 v2.2007.2 h1:EjjK0KqwaFMlPin1ajhP943VPENHJdEz1KLIegjaI3k= -github.com/dgraph-io/badger/v2 v2.2007.2/go.mod h1:26P/7fbL4kUZVEVKLAKXkBXKOydDmM2p1e+NhhnBCAE= -github.com/dgraph-io/ristretto v0.0.3-0.20200630154024-f66de99634de/go.mod h1:KPxhHT9ZxKefz+PCeOGsrHpl1qZ7i70dGTu2u+Ahh6E= -github.com/dgraph-io/ristretto v0.0.3 h1:jh22xisGBjrEVnRZ1DVTpBVQm0Xndu8sMl0CWDzSIBI= -github.com/dgraph-io/ristretto v0.0.3/go.mod h1:KPxhHT9ZxKefz+PCeOGsrHpl1qZ7i70dGTu2u+Ahh6E= -github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= -github.com/dgryski/go-farm v0.0.0-20190423205320-6a90982ecee2/go.mod h1:SqUrOPUnsFjfmXRMNPybcSiG0BgUW2AuFH8PAnS2iTw= -github.com/dgryski/go-farm v0.0.0-20200201041132-a6ae2369ad13 h1:fAjc9m62+UWV/WAFKLNi6ZS0675eEUC9y3AlwSbQu1Y= -github.com/dgryski/go-farm v0.0.0-20200201041132-a6ae2369ad13/go.mod h1:SqUrOPUnsFjfmXRMNPybcSiG0BgUW2AuFH8PAnS2iTw= -github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no= -github.com/dlclark/regexp2 v1.2.0/go.mod h1:2pZnwuY/m+8K6iRw6wQdMtk+rH5tNGR1i55kozfMjCc= -github.com/dnaeon/go-vcr v1.2.0/go.mod h1:R4UdLID7HZT3taECzJs4YgbbH6PIGXB6W/sc5OLb6RQ= -github.com/docker/docker v1.4.2-0.20180625184442-8e610b2b55bf/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= -github.com/docker/go-connections v0.4.0/go.mod h1:Gbd7IOopHjR8Iph03tsViu4nIes5XhDvyHbTtUxmeec= -github.com/docker/go-units v0.4.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= -github.com/dop251/goja v0.0.0-20200721192441-a695b0cdd498/go.mod h1:Mw6PkjjMXWbTj+nnj4s3QPXq1jaT0s5pC0iFD4+BOAA= -github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= -github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= -github.com/dustin/go-humanize v1.0.1-0.20200219035652-afde56e7acac h1:opbrjaN/L8gg6Xh5D04Tem+8xVcz6ajZlGCs49mQgyg= -github.com/dustin/go-humanize v1.0.1-0.20200219035652-afde56e7acac/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= -github.com/dvsekhvalnov/jose2go v0.0.0-20200901110807-248326c1351b h1:HBah4D48ypg3J7Np4N+HY/ZR76fx3HEUGxDU6Uk39oQ= -github.com/dvsekhvalnov/jose2go v0.0.0-20200901110807-248326c1351b/go.mod h1:7BvyPhdbLxMXIYTFPLsyJRFMsKmOZnQmzh6Gb+uquuM= -github.com/dvyukov/go-fuzz v0.0.0-20200318091601-be3528f3a813/go.mod h1:11Gm+ccJnvAhCNLlf5+cS9KjtbaD5I5zaZpFMsTHWTw= -github.com/eapache/go-resiliency v1.1.0/go.mod h1:kFI+JgMyC7bLPUVY133qvEBtVayf5mFgVsvEsIPBvNs= -github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21/go.mod h1:+020luEh2TKB4/GOp8oxxtq0Daoen/Cii55CzbTV6DU= -github.com/eapache/queue v1.1.0/go.mod h1:6eCeP0CKFpHLu8blIFXhExK/dRa7WDZfr6jVFPTqq+I= -github.com/edsrzf/mmap-go v0.0.0-20160512033002-935e0e8a636c/go.mod h1:YO35OhQPt3KJa3ryjFM5Bs14WD66h8eGKpfaBNrHW5M= -github.com/edsrzf/mmap-go v1.0.0/go.mod h1:YO35OhQPt3KJa3ryjFM5Bs14WD66h8eGKpfaBNrHW5M= -github.com/envoyproxy/go-control-plane v0.6.9/go.mod h1:SBwIajubJHhxtWwsL9s8ss4safvEdbitLhGGK48rN6g= -github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= -github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= -github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= -github.com/envoyproxy/go-control-plane v0.9.7/go.mod h1:cwu0lG7PUMfa9snN8LXBig5ynNVH9qI8YYLbd1fK2po= -github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= -github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= -github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.mod h1:hliV/p42l8fGbc6Y9bQ70uLwIvmJyVE5k4iMKlh8wCQ= -github.com/envoyproxy/go-control-plane v0.9.10-0.20210907150352-cf90f659a021/go.mod h1:AFq3mo9L8Lqqiid3OhADV3RfLJnjiw63cSpi+fDTRC0= -github.com/envoyproxy/go-control-plane v0.10.1/go.mod h1:AY7fTTXNdv/aJ2O5jwpxAPOWUZ7hQAEvzN5Pf27BkQQ= -github.com/envoyproxy/go-control-plane v0.10.2-0.20220325020618-49ff273808a1/go.mod h1:KJwIaB5Mv44NWtYuAOFCVOjcI94vtpEz2JU/D2v6IjE= -github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= -github.com/envoyproxy/protoc-gen-validate v0.6.2/go.mod h1:2t7qjJNvHPx8IjnBOzl9E9/baC+qXE/TeeyBRzgJDws= -github.com/ethereum/go-ethereum v1.9.25/go.mod h1:vMkFiYLHI4tgPw4k2j4MHKoovchFE8plZ0M9VMk4/oM= -github.com/facebookgo/ensure v0.0.0-20160127193407-b4ab57deab51 h1:0JZ+dUmQeA8IIVUMzysrX4/AKuQwWhV2dYQuPZdvdSQ= -github.com/facebookgo/ensure v0.0.0-20160127193407-b4ab57deab51/go.mod h1:Yg+htXGokKKdzcwhuNDwVvN+uBxDGXJ7G/VN1d8fa64= -github.com/facebookgo/stack v0.0.0-20160209184415-751773369052 h1:JWuenKqqX8nojtoVVWjGfOF9635RETekkoH6Cc9SX0A= -github.com/facebookgo/stack v0.0.0-20160209184415-751773369052/go.mod h1:UbMTZqLaRiH3MsBH8va0n7s1pQYcu3uTb8G4tygF4Zg= -github.com/facebookgo/subset v0.0.0-20150612182917-8dac2c3c4870 h1:E2s37DuLxFhQDg5gKsWoLBOB0n+ZW8s599zru8FJ2/Y= -github.com/facebookgo/subset v0.0.0-20150612182917-8dac2c3c4870/go.mod h1:5tD+neXqOorC30/tWg0LCSkrqj/AR6gu8yY8/fpw1q0= -github.com/fatih/camelcase v1.0.0 h1:hxNvNX/xYBp0ovncs8WyWZrOrpBNub/JfaMvbURyft8= -github.com/fatih/camelcase v1.0.0/go.mod h1:yN2Sb0lFhZJUdVvtELVWefmrXpuZESvPmqwoZc+/fpc= -github.com/fatih/color v1.3.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= -github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= -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.12.0/go.mod h1:ELkj/draVOlAH/xkhN6mQ50Qd0MPOk5AAr3maGEBuJM= -github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk= -github.com/felixge/httpsnoop v1.0.1 h1:lvB5Jl89CsZtGIWuTcDM1E/vkVs49/Ml7JJe07l8SPQ= -github.com/felixge/httpsnoop v1.0.1/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= -github.com/fjl/memsize v0.0.0-20180418122429-ca190fb6ffbc/go.mod h1:VvhXpOYNQvB+uIk2RvXzuaQtkQJzzIx6lSBe1xv7hi0= -github.com/fogleman/gg v1.2.1-0.20190220221249-0403632d5b90/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k= -github.com/fortytw2/leaktest v1.3.0 h1:u8491cBMTQ8ft8aeV+adlcytMZylmA5nnwwkRZjI8vw= -github.com/fortytw2/leaktest v1.3.0/go.mod h1:jDsjWgpAGjm2CA7WthBh/CdZYEPF31XHquHwclZch5g= -github.com/franela/goblin v0.0.0-20200105215937-c9ffbefa60db/go.mod h1:7dvUGVsVBjqR7JHJk0brhHOZYGmfBYOrK0ZhYMEtBr4= -github.com/franela/goblin v0.0.0-20210519012713-85d372ac71e2/go.mod h1:VzmDKDJVZI3aJmnRI9VjAn9nJ8qPPsN1fqzr9dqInIo= -github.com/franela/goreq v0.0.0-20171204163338-bcd34c9993f8/go.mod h1:ZhphrRTfi2rbfLwlschooIH4+wKKDR4Pdxhh+TRoA20= -github.com/frankban/quicktest v1.11.3/go.mod h1:wRf/ReqHper53s+kmmSZizM8NamnL3IM0I9ntUbOk+k= -github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= -github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= -github.com/fsnotify/fsnotify v1.5.1 h1:mZcQUHVQUQWoPXXtuf9yuEXKudkV2sx1E06UadKWpgI= -github.com/fsnotify/fsnotify v1.5.1/go.mod h1:T3375wBYaZdLLcVNkcVbzGHY7f1l/uK5T5Ai1i3InKU= -github.com/gballet/go-libpcsclite v0.0.0-20190607065134-2772fd86a8ff/go.mod h1:x7DCsMOv1taUwEWCzT4cmDeAkigA5/QCwUodaVOe8Ww= -github.com/ghodss/yaml v1.0.0 h1:wQHKEahhL6wmXdzwWG11gIVCkOv05bNOh+Rxn0yngAk= -github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= -github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI= -github.com/gin-gonic/gin v1.6.3/go.mod h1:75u5sXoLsGZoRN5Sgbi1eraJ4GU3++wFwWzhwvtwp4M= -github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= -github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= -github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= -github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= -github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= -github.com/go-kit/kit v0.10.0/go.mod h1:xUsJbQ/Fp4kEt7AFgCuvyX4a71u8h9jB8tj/ORgOZ7o= -github.com/go-kit/kit v0.12.0 h1:e4o3o3IsBfAKQh5Qbbiqyfu97Ku7jrO/JbohvztANh4= -github.com/go-kit/kit v0.12.0/go.mod h1:lHd+EkCZPIwYItmGDDRdhinkzX2A1sj+M9biaEaizzs= -github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vbaY= -github.com/go-kit/log v0.2.0 h1:7i2K3eKTos3Vc0enKCfnVcgHh2olr/MyfboYq7cAcFw= -github.com/go-kit/log v0.2.0/go.mod h1:NwTd00d/i8cPZ3xOwwiv2PO5MOcx78fFErGNcVmBjv0= -github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= -github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= -github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A= -github.com/go-logfmt/logfmt v0.5.1 h1:otpy5pqBCBZ1ng9RQ0dPu4PN7ba75Y/aA+UpowDyNVA= -github.com/go-logfmt/logfmt v0.5.1/go.mod h1:WYhtIu8zTZfxdn5+rREduYbwxfcBr/Vr6KEVveWlfTs= -github.com/go-ole/go-ole v1.2.1/go.mod h1:7FAglXiTm7HKlQRDeOQ6ZNUHidzCWXuZWq/1dTyBNF8= -github.com/go-playground/assert/v2 v2.0.1/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4= -github.com/go-playground/locales v0.13.0/go.mod h1:taPMhCMXrRLJO55olJkUXHZBHCxTMfnGwq/HNwmWNS8= -github.com/go-playground/universal-translator v0.17.0/go.mod h1:UkSxE5sNxxRwHyU+Scu5vgOQjsIJAF8j9muTVoKLVtA= -github.com/go-playground/validator/v10 v10.2.0/go.mod h1:uOYAAleCW8F/7oMFd6aG0GOhaH6EGOAJShg8Id5JGkI= -github.com/go-sourcemap/sourcemap v2.1.2+incompatible/go.mod h1:F8jJfvm2KbVjc5NqelyYJmf/v5J0dwNLS2mL4sNA1Jg= -github.com/go-sql-driver/mysql v1.4.0/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w= -github.com/go-sql-driver/mysql v1.6.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= -github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= -github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg7847qk6SyHyPtNmDHnmrv/HOrqktSC+C9fM+CJOE= -github.com/go-zookeeper/zk v1.0.2/go.mod h1:nOB03cncLtlp4t+UAkGSV+9beXP/akpekBwL+UX1Qcw= -github.com/gobwas/httphead v0.0.0-20180130184737-2c6c146eadee/go.mod h1:L0fX3K22YWvt/FAX9NnzrNzcI4wNYi9Yku4O0LKYflo= -github.com/gobwas/pool v0.2.0/go.mod h1:q8bcK0KcYlCgd9e7WYLm9LpyS+YeLd8JVDW6WezmKEw= -github.com/gobwas/ws v1.0.2/go.mod h1:szmBTxLgaFppYjEmNtny/v3w89xOydFnnZMcgRRu/EM= -github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2 h1:ZpnhV/YsD2/4cESfV5+Hoeu/iUR3ruzNvZ+yQfO03a0= -github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2/go.mod h1:bBOAhwG1umN6/6ZUMtDFBMQR8jRg9O75tm9K00oMsK4= -github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= -github.com/gogo/gateway v1.1.0 h1:u0SuhL9+Il+UbjM9VIE3ntfRujKbvVpFvNB4HbjeVQ0= -github.com/gogo/gateway v1.1.0/go.mod h1:S7rR8FRQyG3QFESeSv4l2WnsyzlCLG0CzBbUUo/mbic= -github.com/gogo/googleapis v1.1.0/go.mod h1:gf4bu3Q80BeJ6H1S1vYPm8/ELATdvryBaNFGgqEef3s= -github.com/golang-jwt/jwt/v4 v4.0.0/go.mod h1:/xlHOz8bRuivTWchD4jCa+NbatV+wEUSzwAxVc6locg= -github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe/go.mod h1:8vg3r2VgvsThLBIFL93Qb5yWzgyZWhEmBwUJWevAkK0= -github.com/golang-sql/sqlexp v0.0.0-20170517235910-f1bb20e5a188/go.mod h1:vXjM/+wXQnTPR4KqTKDgJukSZ6amVRtWMPEjE6sQoK8= -github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k= -github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= -github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= -github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= -github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y= -github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= -github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= -github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= -github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4= -github.com/golang/mock v1.5.0/go.mod h1:CWnOUgYIOo4TcNZ0wHX3YZCqsaM1I1Jvs6v3mP3KVu8= -github.com/golang/mock v1.6.0 h1:ErTB+efbowRARo13NNdxyJji2egdxLGQhRaY+DUumQc= -github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs= -github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.0/go.mod h1:Qd/q+1AKNOZr9uGQzbzCmRO6sUih6GTPZv6a1/R87v0= -github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= -github.com/golang/protobuf v1.3.4/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= -github.com/golang/protobuf v1.3.5/go.mod h1:6O5/vntMXwX2lRkT1hjjk0nAC1IDOTvTlVgjlRvqsdk= -github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= -github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= -github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= -github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= -github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= -github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8= -github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= -github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= -github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= -github.com/golang/protobuf v1.5.1/go.mod h1:DopwsBzvsk0Fs44TXzsVbJyPhcCPeIwnvohx4u74HPM= -github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw= -github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= -github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= -github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= -github.com/golang/snappy v0.0.3-0.20201103224600-674baa8c7fc3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= -github.com/golang/snappy v0.0.3 h1:fHPg5GQYlCeLIPB9BZqMVR5nR9A+IM5zcgeTdjMYmLA= -github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= -github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= -github.com/google/btree v1.0.0 h1:0udJVsspx3VBr5FwtLhQQtuAsVc79tTq0ocGIPAU6qo= -github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= -github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= -github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= -github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= -github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.4.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.7 h1:81/ik6ipDQS2aGcBfIN5dHDB36BwrStyeAQquSYCV4o= -github.com/google/gofuzz v0.0.0-20170612174753-24818f796faf/go.mod h1:HP5RmnzzSNb993RKQDq4+1A4ia9nllfqcQFTQJedwGI= -github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/gofuzz v1.1.1-0.20200604201612-c04b05f3adfa/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= -github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= -github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= -github.com/google/martian/v3 v3.1.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= -github.com/google/martian/v3 v3.2.1/go.mod h1:oBOf6HBosgwRXnUGWUB05QECsc6uvmMiJ3+6W4l/CUk= -github.com/google/orderedcode v0.0.1 h1:UzfcAexk9Vhv8+9pNOgRu41f16lHq725vPwnSeiG/Us= -github.com/google/orderedcode v0.0.1/go.mod h1:iVyU4/qPKHY5h/wSd6rZZCDcLJNxiWO6dvsYES2Sb20= -github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= -github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= -github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200212024743-f11f1df84d12/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200229191704-1ebb73c60ed3/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200430221834-fc25d7d30c6d/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20201023163331-3e6fc7fc9c4c/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210122040257-d980be63207e/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210226084205-cbba55b83ad5/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210601050228-01bbb1931b22/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210609004039-a478d1d731e9/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= -github.com/google/uuid v1.0.0/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.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= -github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= -github.com/googleapis/gax-go/v2 v2.1.0/go.mod h1:Q3nei7sK6ybPYH7twZdmQpAd1MKb7pfu6SK+H1/DsU0= -github.com/googleapis/gax-go/v2 v2.1.1/go.mod h1:hddJymUZASv3XPyGkUpKj8pPO47Rmb0eJc8R6ouapiM= -github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= -github.com/gordonklaus/ineffassign v0.0.0-20200309095847-7953dde2c7bf/go.mod h1:cuNKsD1zp2v6XfE/orVX2QE1LC+i254ceGcVeDT3pTU= -github.com/gorilla/context v1.1.1/go.mod h1:kBGZzfjB9CEq2AlWe17Uuf7NDRt0dE0s8S51q0aT7Yg= -github.com/gorilla/handlers v1.5.1 h1:9lRY6j8DEeeBT10CvO9hGW0gmky0BprnvDI5vfhUHH4= -github.com/gorilla/handlers v1.5.1/go.mod h1:t8XrUpc4KVXb7HGyJ4/cEnwQiaxrX/hz1Zv/4g96P1Q= -github.com/gorilla/mux v1.6.2/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= -github.com/gorilla/mux v1.7.3/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= -github.com/gorilla/mux v1.8.0 h1:i40aqfkR1h2SlN9hojwV5ZA91wcXFOvkdNIeFDP5koI= -github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So= -github.com/gorilla/websocket v0.0.0-20170926233335-4201258b820c/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= -github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= -github.com/gorilla/websocket v1.4.1-0.20190629185528-ae1634f6a989/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= -github.com/gorilla/websocket v1.4.1/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= -github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= -github.com/gorilla/websocket v1.5.0 h1:PPwGk2jz7EePpoHN/+ClbZu8SPxiqlu12wZP/3sWmnc= -github.com/gorilla/websocket v1.5.0/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= -github.com/gotestyourself/gotestyourself v2.2.0+incompatible/go.mod h1:zZKM6oeNM8k+FRljX1mnzVYeS8wiGgQyvST1/GafPbY= -github.com/graph-gophers/graphql-go v0.0.0-20191115155744-f33e81362277/go.mod h1:9CQHMSxwO4MprSdzoIEobiHpoLtHm77vfxsvsIN5Vuc= -github.com/grpc-ecosystem/go-grpc-middleware v1.0.0/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= -github.com/grpc-ecosystem/go-grpc-middleware v1.0.1-0.20190118093823-f849b5445de4/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= -github.com/grpc-ecosystem/go-grpc-middleware v1.2.2/go.mod h1:EaizFBKfUKtMIF5iaDEhniwNedqGo9FuLFzppDr3uwI= -github.com/grpc-ecosystem/go-grpc-middleware v1.3.0 h1:+9834+KizmvFV7pXQGSXQTsaWhq2GjuNUt0aUU0YBYw= -github.com/grpc-ecosystem/go-grpc-middleware v1.3.0/go.mod h1:z0ButlSOZa5vEBq9m2m2hlwIgKw+rp3sdCBRoJY+30Y= -github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk= -github.com/grpc-ecosystem/grpc-gateway v1.8.5/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= -github.com/grpc-ecosystem/grpc-gateway v1.9.0/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= -github.com/grpc-ecosystem/grpc-gateway v1.9.5/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= -github.com/grpc-ecosystem/grpc-gateway v1.16.0 h1:gmcG1KaJ57LophUzW0Hy8NmPhnMZb4M0+kPpLofRdBo= -github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= -github.com/gsterjov/go-libsecret v0.0.0-20161001094733-a6f4afe4910c h1:6rhixN/i8ZofjG1Y75iExal34USq5p+wiN1tpie8IrU= -github.com/gsterjov/go-libsecret v0.0.0-20161001094733-a6f4afe4910c/go.mod h1:NMPJylDgVpX0MLRlPy15sqSwOFv/U1GZ2m21JhFfek0= -github.com/gtank/merlin v0.1.1-0.20191105220539-8318aed1a79f/go.mod h1:T86dnYJhcGOh5BjZFCJWTDeTK7XW8uE+E21Cy/bIQ+s= -github.com/gtank/merlin v0.1.1 h1:eQ90iG7K9pOhtereWsmyRJ6RAwcP4tHTDBHXNg+u5is= -github.com/gtank/merlin v0.1.1/go.mod h1:T86dnYJhcGOh5BjZFCJWTDeTK7XW8uE+E21Cy/bIQ+s= -github.com/gtank/ristretto255 v0.1.2 h1:JEqUCPA1NvLq5DwYtuzigd7ss8fwbYay9fi4/5uMzcc= -github.com/gtank/ristretto255 v0.1.2/go.mod h1:Ph5OpO6c7xKUGROZfWVLiJf9icMDwUeIvY4OmlYW69o= -github.com/hashicorp/consul/api v1.1.0/go.mod h1:VmuI/Lkw1nC05EYQWNKwWGbkg+FbDBtguAZLlVdkD9Q= -github.com/hashicorp/consul/api v1.3.0/go.mod h1:MmDNSzIMUjNpY/mQ398R4bk2FnqQLoPndWW5VkKPlCE= -github.com/hashicorp/consul/api v1.10.1/go.mod h1:XjsvQN+RJGWI2TWy1/kqaE16HrR2J/FWgkYjdZQsX9M= -github.com/hashicorp/consul/api v1.12.0/go.mod h1:6pVBMo0ebnYdt2S3H87XhekM/HHrUoTD2XXb/VrZVy0= -github.com/hashicorp/consul/sdk v0.1.1/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8= -github.com/hashicorp/consul/sdk v0.3.0/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8= -github.com/hashicorp/consul/sdk v0.8.0/go.mod h1:GBvyrGALthsZObzUGsfgHZQDXjg4lOjagTIwIR1vPms= -github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= -github.com/hashicorp/go-cleanhttp v0.5.0/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= -github.com/hashicorp/go-cleanhttp v0.5.1/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= -github.com/hashicorp/go-cleanhttp v0.5.2/go.mod h1:kO/YDlP8L1346E6Sodw+PrpBSV4/SoxCXGY6BqNFT48= -github.com/hashicorp/go-hclog v0.12.0/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= -github.com/hashicorp/go-hclog v0.16.2/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= -github.com/hashicorp/go-hclog v1.0.0/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= -github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= -github.com/hashicorp/go-immutable-radix v1.3.1 h1:DKHmCUm2hRBK510BaiZlwvpD40f8bJFeZnpfm2KLowc= -github.com/hashicorp/go-immutable-radix v1.3.1/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= -github.com/hashicorp/go-msgpack v0.5.3/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM= -github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk= -github.com/hashicorp/go-multierror v1.1.0/go.mod h1:spPvp8C1qA32ftKqdAHm4hHTbPw+vmowP0z+KUhOZdA= -github.com/hashicorp/go-retryablehttp v0.5.3/go.mod h1:9B5zBasrRhHXnJnui7y6sL7es7NDiJgTc6Er0maI1Xs= -github.com/hashicorp/go-rootcerts v1.0.0/go.mod h1:K6zTfqpRlCUIjkwsN4Z+hiSfzSTQa6eBIzfwKfwNnHU= -github.com/hashicorp/go-rootcerts v1.0.2/go.mod h1:pqUvnprVnM5bf7AOirdbb01K4ccR319Vf4pU3K5EGc8= -github.com/hashicorp/go-sockaddr v1.0.0/go.mod h1:7Xibr9yA9JjQq1JpNB2Vw7kxv8xerXegt+ozgdvDeDU= -github.com/hashicorp/go-syslog v1.0.0/go.mod h1:qPfqrKkXGihmCqbJM2mZgkZGvKG1dFdvsLplgctolz4= -github.com/hashicorp/go-uuid v1.0.0/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= -github.com/hashicorp/go-uuid v1.0.1 h1:fv1ep09latC32wFoVwnqcnKJGnMSdBanPczbHAYm1BE= -github.com/hashicorp/go-uuid v1.0.1/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= -github.com/hashicorp/go-version v1.2.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= -github.com/hashicorp/go.net v0.0.1/go.mod h1:hjKkEWcCURg++eb33jQU7oqQcI9XDCnUzHA0oac0k90= -github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= -github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= -github.com/hashicorp/golang-lru v0.5.4 h1:YDjusn29QI/Das2iO9M0BHnIbxPeyuCHsjMW+lJfyTc= -github.com/hashicorp/golang-lru v0.5.4/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= -github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= -github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= -github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64= -github.com/hashicorp/mdns v1.0.0/go.mod h1:tL+uN++7HEJ6SQLQ2/p+z2pH24WQKWjBPkE0mNTz8vQ= -github.com/hashicorp/mdns v1.0.1/go.mod h1:4gW7WsVCke5TE7EPeYliwHlRUyBtfCwuFwuMg2DmyNY= -github.com/hashicorp/mdns v1.0.4/go.mod h1:mtBihi+LeNXGtG8L9dX59gAEa12BDtBQSp4v/YAJqrc= -github.com/hashicorp/memberlist v0.1.3/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I= -github.com/hashicorp/memberlist v0.2.2/go.mod h1:MS2lj3INKhZjWNqd3N0m3J+Jxf3DAOnAH9VT3Sh9MUE= -github.com/hashicorp/memberlist v0.3.0/go.mod h1:MS2lj3INKhZjWNqd3N0m3J+Jxf3DAOnAH9VT3Sh9MUE= -github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/JwenrHc= -github.com/hashicorp/serf v0.9.5/go.mod h1:UWDWwZeL5cuWDJdl0C6wrvrUwEqtQ4ZKBKKENpqIUyk= -github.com/hashicorp/serf v0.9.6/go.mod h1:TXZNMjZQijwlDvp+r0b63xZ45H7JmCmgg4gpTwn9UV4= -github.com/hdevalence/ed25519consensus v0.0.0-20210204194344-59a8610d2b87 h1:uUjLpLt6bVvZ72SQc/B4dXcPBw4Vgd7soowdRl52qEM= -github.com/hdevalence/ed25519consensus v0.0.0-20210204194344-59a8610d2b87/go.mod h1:XGsKKeXxeRr95aEOgipvluMPlgjr7dGlk9ZTWOjcUcg= -github.com/holiman/uint256 v1.1.1/go.mod h1:y4ga/t+u+Xwd7CpDgZESaRcWy0I7XMlTMA25ApIH5Jw= -github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= -github.com/hudl/fargo v1.3.0/go.mod h1:y3CKSmjA+wD2gak7sUSXTAoopbhU08POFhmITJgmKTg= -github.com/hudl/fargo v1.4.0/go.mod h1:9Ai6uvFy5fQNq6VPKtg+Ceq1+eTY4nKUlR2JElEOcDo= -github.com/huin/goupnp v1.0.0/go.mod h1:n9v9KO1tAxYH82qOn+UTIFQDmx5n1Zxd/ClZDMX7Bnc= -github.com/huin/goutil v0.0.0-20170803182201-1ca381bf3150/go.mod h1:PpLOETDnJ0o3iZrZfqZzyLl6l7F3c6L1oWn7OICBi6o= -github.com/iancoleman/orderedmap v0.2.0 h1:sq1N/TFpYH++aViPcaKjys3bDClUEU7s5B+z6jq8pNA= -github.com/iancoleman/orderedmap v0.2.0/go.mod h1:N0Wam8K1arqPXNWjMo21EXnBPOPp36vB07FNRdD2geA= -github.com/iancoleman/strcase v0.2.0/go.mod h1:iwCmte+B7n89clKwxIoIXy/HfoL7AsD47ZCWhYzw7ho= -github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= -github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= -github.com/ignite-hq/cli v0.20.4 h1:Xfv5sBLjeEHAt1F9mkh7B/qSIgjdtLp8MV+kemkNZJk= -github.com/ignite-hq/cli v0.20.4/go.mod h1:kOs9GoMwvbIkbgIZP/LWE/qpw1eaqwPchWtNBIUSElY= -github.com/improbable-eng/grpc-web v0.14.1 h1:NrN4PY71A6tAz2sKDvC5JCauENWp0ykG8Oq1H3cpFvw= -github.com/improbable-eng/grpc-web v0.14.1/go.mod h1:zEjGHa8DAlkoOXmswrNvhUGEYQA9UI7DhrGeHR1DMGU= -github.com/inconshreveable/mousetrap v1.0.0 h1:Z8tu5sraLXCXIcARxBp/8cbvlwVa7Z1NHg9XEKhtSvM= -github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= -github.com/influxdata/influxdb v1.2.3-0.20180221223340-01288bdb0883/go.mod h1:qZna6X/4elxqT3yI9iZYdZrWWdeFOOprn86kgg4+IzY= -github.com/influxdata/influxdb1-client v0.0.0-20191209144304-8bf82d3c094d/go.mod h1:qj24IKcXYK6Iy9ceXlo3Tc+vtHo9lIhSX5JddghvEPo= -github.com/influxdata/influxdb1-client v0.0.0-20200827194710-b269163b24ab/go.mod h1:qj24IKcXYK6Iy9ceXlo3Tc+vtHo9lIhSX5JddghvEPo= -github.com/jackpal/go-nat-pmp v1.0.2-0.20160603034137-1fa385a6f458/go.mod h1:QPH045xvCAeXUZOxsnwmrtiCoxIr9eob+4orBN1SBKc= -github.com/jedisct1/go-minisign v0.0.0-20190909160543-45766022959e/go.mod h1:G1CVv03EnqU1wYL2dFwXxW2An0az9JTl/ZsqXQeBlkU= -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/jhump/protoreflect v1.9.0/go.mod h1:7GcYQDdMU/O/BBrl/cX6PNHpXh6cenjd8pneu5yW7Tg= -github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= -github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo= -github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U= -github.com/jmhodges/levigo v1.0.0 h1:q5EC36kV79HWeTBWsod3mG11EgStG3qArTKcvlksN1U= -github.com/jmhodges/levigo v1.0.0/go.mod h1:Q6Qx+uH3RAqyK4rFQroq9RL7mdkABMcfhEI+nNuzMJQ= -github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo= -github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4= -github.com/jrick/logrotate v1.0.0/go.mod h1:LNinyqDIJnpAur+b8yyulnQw/wDuN1+BYKlTRt3OuAQ= -github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= -github.com/json-iterator/go v1.1.7/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= -github.com/json-iterator/go v1.1.8/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= -github.com/json-iterator/go v1.1.9/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= -github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= -github.com/json-iterator/go v1.1.11/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= -github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= -github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= -github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= -github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= -github.com/julienschmidt/httprouter v1.1.1-0.20170430222011-975b5c4c7c21/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= -github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= -github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM= -github.com/jung-kurt/gofpdf v1.0.3-0.20190309125859-24315acbbda5/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes= -github.com/karalabe/usb v0.0.0-20190919080040-51dc0efba356/go.mod h1:Od972xHfMJowv7NGVDiWVxk2zxnWgjLlJzE+F4F7AGU= -github.com/keybase/go-keychain v0.0.0-20190712205309-48d3d31d256d h1:Z+RDyXzjKE0i2sTjZ/b1uxiGtPhFy34Ou/Tk0qwN0kM= -github.com/keybase/go-keychain v0.0.0-20190712205309-48d3d31d256d/go.mod h1:JJNrCn9otv/2QP4D7SMJBgaleKpOf66PnW6F5WGNRIc= -github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= -github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/kkdai/bstream v0.0.0-20161212061736-f391b8402d23/go.mod h1:J+Gs4SYgM6CZQHDETBtE9HaSEkGmuNXF86RwHhHUvq4= -github.com/klauspost/compress v1.10.3/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= -github.com/klauspost/compress v1.11.7/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= -github.com/klauspost/compress v1.13.4/go.mod h1:8dP1Hq4DHOhN9w426knH3Rhby4rFm6D8eO+e+Dq5Gzg= -github.com/klauspost/compress v1.13.6 h1:P76CopJELS0TiO2mebmnzgWaajssP/EszplttgQxcgc= -github.com/klauspost/compress v1.13.6/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk= -github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= -github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= -github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg= -github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= -github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= -github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= -github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= -github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= -github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= -github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= -github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= -github.com/leodido/go-urn v1.2.0/go.mod h1:+8+nEpDfqqsY+g338gtMEUOtuK+4dEMhiQEgxpxOKII= -github.com/lib/pq v1.2.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= -github.com/lib/pq v1.10.4 h1:SO9z7FRPzA03QhHKJrH5BXA6HU1rS4V2nIVrrNC1iYk= -github.com/lib/pq v1.10.4/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= -github.com/libp2p/go-buffer-pool v0.0.2 h1:QNK2iAFa8gjAe1SPz6mHSMuCcjs+X1wlHzeOSqcmlfs= -github.com/libp2p/go-buffer-pool v0.0.2/go.mod h1:MvaB6xw5vOrDl8rYZGLFdKAuk/hRoRZd1Vi32+RXyFM= -github.com/lightstep/lightstep-tracer-common/golang/gogo v0.0.0-20190605223551-bc2310a04743/go.mod h1:qklhhLq1aX+mtWk9cPHPzaBjWImj5ULL6C7HFJtXQMM= -github.com/lightstep/lightstep-tracer-go v0.18.1/go.mod h1:jlF1pusYV4pidLvZ+XD0UBX0ZE6WURAspgAczcDHrL4= -github.com/lucasjones/reggen v0.0.0-20180717132126-cdb49ff09d77/go.mod h1:5ELEyG+X8f+meRWHuqUOewBOhvHkl7M76pdGEansxW4= -github.com/lyft/protoc-gen-star v0.5.3/go.mod h1:V0xaHgaf5oCCqmcxYcWiDfTiKsZsRc87/1qhoTACD8w= -github.com/lyft/protoc-gen-validate v0.0.13/go.mod h1:XbGvPuh87YZc5TdIa2/I4pLk0QoUACkjt2znoq26NVQ= -github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= -github.com/magiconair/properties v1.8.1/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= -github.com/magiconair/properties v1.8.5 h1:b6kJs+EmPFMYGkow9GiUyCyOvIwYetYJ3fSaWak/Gls= -github.com/magiconair/properties v1.8.5/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60= -github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= -github.com/mattn/go-colorable v0.1.0/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= -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.9/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= -github.com/mattn/go-colorable v0.1.12/go.mod h1:u5H1YNBxpqRaxsYJYSkiCWKzEfiAb1Gb520KVy5xxl4= -github.com/mattn/go-ieproxy v0.0.0-20190610004146-91bb50d98149/go.mod h1:31jz6HNzdxOmlERGGEc4v/dMssOfmp2p5bT/okiKFFc= -github.com/mattn/go-ieproxy v0.0.0-20190702010315-6dee0af9227d/go.mod h1:31jz6HNzdxOmlERGGEc4v/dMssOfmp2p5bT/okiKFFc= -github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= -github.com/mattn/go-isatty v0.0.4/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= -github.com/mattn/go-isatty v0.0.5-0.20180830101745-3fb116b82035/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= -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-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= -github.com/mattn/go-isatty v0.0.14 h1:yVuAays6BHfxijgZPzw+3Zlu5yQgKGP2/hcQbHb7S9Y= -github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= -github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= -github.com/mattn/go-runewidth v0.0.3/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= -github.com/mattn/go-runewidth v0.0.4/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= -github.com/mattn/go-sqlite3 v1.14.9/go.mod h1:NyWgC/yNuGj7Q9rpYnZvas74GogHl5/Z4A/KQRfk6bU= -github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= -github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 h1:I0XW9+e1XWDxdcEniV4rQAIOPUGDq67JSCiRCgGCZLI= -github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= -github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg= -github.com/miekg/dns v1.1.26/go.mod h1:bPDLeHnStXmXAq1m/Ch/hvfNHr14JKNPMBo3VZKjuso= -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/mimoo/StrobeGo v0.0.0-20181016162300-f8f6d4d2b643 h1:hLDRPB66XQT/8+wG9WsDpiCvZf1yKO7sz7scAjSlBa0= -github.com/mimoo/StrobeGo v0.0.0-20181016162300-f8f6d4d2b643/go.mod h1:43+3pMjjKimDBf5Kr4ZFNGbLql1zKkbImw+fZbw3geM= -github.com/minio/highwayhash v1.0.1/go.mod h1:BQskDq+xkJ12lmlUUi7U0M5Swg3EWR+dLTk+kldvVxY= -github.com/minio/highwayhash v1.0.2 h1:Aak5U0nElisjDCfPSG79Tgzkn2gl66NxOMspRrKnA/g= -github.com/minio/highwayhash v1.0.2/go.mod h1:BQskDq+xkJ12lmlUUi7U0M5Swg3EWR+dLTk+kldvVxY= -github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc= -github.com/mitchellh/cli v1.1.0/go.mod h1:xcISNoH86gajksDmfB23e/pu+B+GeFRMYmoHXxx3xhI= -github.com/mitchellh/go-homedir v1.0.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= -github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y= -github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= -github.com/mitchellh/go-testing-interface v1.0.0/go.mod h1:kRemZodwjscx+RGhAo8eIhFbs2+BFgRtFPeD/KE+zxI= -github.com/mitchellh/gox v0.4.0/go.mod h1:Sd9lOJ0+aimLBi73mGofS1ycjY8lL3uZM3JPS42BGNg= -github.com/mitchellh/iochan v1.0.0/go.mod h1:JwYml1nuB7xOzsp52dPpHFffvOCDupsG0QubkSMEySY= -github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= -github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= -github.com/mitchellh/mapstructure v1.3.3/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= -github.com/mitchellh/mapstructure v1.4.2/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= -github.com/mitchellh/mapstructure v1.4.3 h1:OVowDSCllw/YjdLkam3/sm7wEtOy59d8ndGgCcyj8cs= -github.com/mitchellh/mapstructure v1.4.3/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= -github.com/moby/sys/mountinfo v0.4.1/go.mod h1:rEr8tzG/lsIZHBtN/JjGG+LMYx9eXgW2JI+6q0qou+A= -github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= -github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= -github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/modocache/gover v0.0.0-20171022184752-b58185e213c5/go.mod h1:caMODM3PzxT8aQXRPkAt8xlV/e7d7w8GM5g0fa5F0D8= -github.com/mrunalp/fileutils v0.5.0/go.mod h1:M1WthSahJixYnrXQl/DFQuteStB1weuxD2QJNHXfbSQ= -github.com/mtibben/percent v0.2.1 h1:5gssi8Nqo8QU/r2pynCm+hBQHpkB/uNK7BJCFogWdzs= -github.com/mtibben/percent v0.2.1/go.mod h1:KG9uO+SZkUp+VkRHsCdYQV3XSZrrSpR3O9ibNBTZrns= -github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= -github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= -github.com/mwitkow/grpc-proxy v0.0.0-20181017164139-0f1106ef9c76/go.mod h1:x5OoJHDHqxHS801UIuhqGl6QdSAEJvtausosHSdazIo= -github.com/naoina/go-stringutil v0.1.0/go.mod h1:XJ2SJL9jCtBh+P9q5btrd/Ylo8XwT/h1USek5+NqSA0= -github.com/naoina/toml v0.1.2-0.20170918210437-9fafd6967416/go.mod h1:NBIhNtsFMo3G2szEBne+bO4gS192HuIYRqfvOWb4i1E= -github.com/nats-io/jwt v0.3.0/go.mod h1:fRYCDE99xlTsqUzISS1Bi75UBJ6ljOJQOAAu5VglpSg= -github.com/nats-io/jwt v0.3.2/go.mod h1:/euKqTS1ZD+zzjYrY7pseZrTtWQSjujC7xjPc8wL6eU= -github.com/nats-io/jwt v1.2.2/go.mod h1:/xX356yQA6LuXI9xWW7mZNpxgF2mBmGecH+Fj34sP5Q= -github.com/nats-io/jwt/v2 v2.0.3/go.mod h1:VRP+deawSXyhNjXmxPCHskrR6Mq50BqpEI5SEcNiGlY= -github.com/nats-io/nats-server/v2 v2.1.2/go.mod h1:Afk+wRZqkMQs/p45uXdrVLuab3gwv3Z8C4HTBu8GD/k= -github.com/nats-io/nats-server/v2 v2.5.0/go.mod h1:Kj86UtrXAL6LwYRA6H4RqzkHhK0Vcv2ZnKD5WbQ1t3g= -github.com/nats-io/nats.go v1.9.1/go.mod h1:ZjDU1L/7fJ09jvUSRVBR2e7+RnLiiIQyqyzEE/Zbp4w= -github.com/nats-io/nats.go v1.12.1/go.mod h1:BPko4oXsySz4aSWeFgOHLZs3G4Jq4ZAyE6/zMCxRT6w= -github.com/nats-io/nkeys v0.1.0/go.mod h1:xpnFELMwJABBLVhffcfd1MZx6VsNRFpEugbxziKVo7w= -github.com/nats-io/nkeys v0.1.3/go.mod h1:xpnFELMwJABBLVhffcfd1MZx6VsNRFpEugbxziKVo7w= -github.com/nats-io/nkeys v0.2.0/go.mod h1:XdZpAbhgyyODYqjTawOnIOI7VlbKSarI9Gfy1tqEu/s= -github.com/nats-io/nkeys v0.3.0/go.mod h1:gvUNGjVcM2IPr5rCsRsC6Wb3Hr2CQAm08dsxtV6A5y4= -github.com/nats-io/nuid v1.0.1/go.mod h1:19wcPz3Ph3q0Jbyiqsd0kePYG7A95tJPxeL+1OSON2c= -github.com/neilotoole/errgroup v0.1.5/go.mod h1:Q2nLGf+594h0CLBs/Mbg6qOr7GtqDK7C2S41udRnToE= -github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e h1:fD57ERR4JtEqsWbfPhv4DMiApHyliiK5xCTNVSPiaAs= -github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= -github.com/nishanths/predeclared v0.0.0-20200524104333-86fad755b4d3/go.mod h1:nt3d53pc1VYcphSCIaYAJtnPYnr3Zyn8fMq2wvPGPso= -github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= -github.com/nxadm/tail v1.4.8 h1:nPr65rt6Y5JFSKQO7qToXr7pePgD6Gwiw05lkbyAQTE= -github.com/nxadm/tail v1.4.8/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+AU= -github.com/oklog/oklog v0.3.2/go.mod h1:FCV+B7mhrz4o+ueLpx+KqkyXRGMWOYEvfiXtdGtbWGs= -github.com/oklog/run v1.0.0/go.mod h1:dlhp/R75TPv97u0XWUtDeV/lRKWPKSdTuV0TZvrmrQA= -github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= -github.com/olekukonko/tablewriter v0.0.0-20170122224234-a0225b3f23b5/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo= -github.com/olekukonko/tablewriter v0.0.1/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo= -github.com/olekukonko/tablewriter v0.0.2-0.20190409134802-7e037d187b0c/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo= -github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= -github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= -github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk= -github.com/onsi/ginkgo v1.14.0/go.mod h1:iSB4RoI2tjJc9BBv4NKIKWKya62Rps+oPG/Lv9klQyY= -github.com/onsi/ginkgo v1.16.2/go.mod h1:CObGmKUOKaSC0RjmoAK7tKyn4Azo5P2IWuoMnvwxz1E= -github.com/onsi/ginkgo v1.16.4 h1:29JGrr5oVBm5ulCWet69zQkzWipVXIol6ygQUe/EzNc= -github.com/onsi/ginkgo v1.16.4/go.mod h1:dX+/inL/fNMqNlz0e9LfyB9TswhZpCVdJM/Z6Vvnwo0= -github.com/onsi/gomega v1.4.1/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA= -github.com/onsi/gomega v1.4.3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= -github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= -github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= -github.com/onsi/gomega v1.13.0 h1:7lLHu94wT9Ij0o6EWWclhu0aOh32VxhkwEJvzuWPeak= -github.com/onsi/gomega v1.13.0/go.mod h1:lRk9szgn8TxENtWd0Tp4c3wjlRfMTMH27I+3Je41yGY= -github.com/op/go-logging v0.0.0-20160315200505-970db520ece7/go.mod h1:HzydrMdWErDVzsI23lYNej1Htcns9BCg93Dk0bBINWk= -github.com/opencontainers/go-digest v1.0.0-rc1/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s= -github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= -github.com/opencontainers/image-spec v1.0.1/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= -github.com/opencontainers/image-spec v1.0.2/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= -github.com/opencontainers/runc v0.1.1/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U= -github.com/opencontainers/runc v1.0.2/go.mod h1:aTaHFFwQXuA71CiyxOdFFIorAoemI04suvGRQFzWTD0= -github.com/opencontainers/runc v1.0.3/go.mod h1:aTaHFFwQXuA71CiyxOdFFIorAoemI04suvGRQFzWTD0= -github.com/opencontainers/runtime-spec v1.0.3-0.20210326190908-1c3f411f0417/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= -github.com/opencontainers/selinux v1.8.2/go.mod h1:MUIHuUEvKB1wtJjQdOyYRgOnLD2xAPP8dBsCoU0KuF8= -github.com/opentracing-contrib/go-observer v0.0.0-20170622124052-a52f23424492/go.mod h1:Ngi6UdF0k5OKD5t5wlmGhe/EDKPoUM3BXZSSfIuJbis= -github.com/opentracing/basictracer-go v1.0.0/go.mod h1:QfBfYuafItcjQuMwinw9GhYKwFXS9KnPs5lxoYwgW74= -github.com/opentracing/opentracing-go v1.0.2/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= -github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= -github.com/opentracing/opentracing-go v1.2.0/go.mod h1:GxEUsuufX4nBwe+T+Wl9TAgYrxe9dPLANfrWvHYVTgc= -github.com/openzipkin-contrib/zipkin-go-opentracing v0.4.5/go.mod h1:/wsWhb9smxSfWAKL3wpBW7V8scJMt8N8gnaMCS9E/cA= -github.com/openzipkin/zipkin-go v0.1.6/go.mod h1:QgAqvLzwWbR/WpD4A3cGpPtJrZXNIiJc5AZX7/PBEpw= -github.com/openzipkin/zipkin-go v0.2.1/go.mod h1:NaW6tEwdmWMaCDZzg8sh+IBNOxHMPnhQw8ySjnjRyN4= -github.com/openzipkin/zipkin-go v0.2.2/go.mod h1:NaW6tEwdmWMaCDZzg8sh+IBNOxHMPnhQw8ySjnjRyN4= -github.com/openzipkin/zipkin-go v0.2.5/go.mod h1:KpXfKdgRDnnhsxw4pNIH9Md5lyFqKUa4YDFlwRYAMyE= -github.com/ory/dockertest v3.3.5+incompatible/go.mod h1:1vX4m9wsvi00u5bseYwXaSnhNrne+V0E6LAcBILJdPs= -github.com/otiai10/copy v1.6.0 h1:IinKAryFFuPONZ7cm6T6E2QX/vcJwSnlaA5lfoaXIiQ= -github.com/otiai10/copy v1.6.0/go.mod h1:XWfuS3CrI0R6IE0FbgHsEazaXO8G0LpMp9o8tos0x4E= -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.2/go.mod h1:/yxELlJQ0ufhjUwhshSj+wFjZ78CnZ48/1wtmBH1OTc= -github.com/pact-foundation/pact-go v1.0.4/go.mod h1:uExwJY4kCzNPcHRj+hCR/HBbOOIwwtUjcrb0b5/5kLM= -github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= -github.com/pascaldekloe/goe v0.1.0 h1:cBOtyMzM9HTpWjXfbbunk26uA6nG3a8n06Wieeh0MwY= -github.com/pascaldekloe/goe v0.1.0/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= -github.com/pborman/uuid v0.0.0-20170112150404-1b00554d8222/go.mod h1:VyrYX9gd7irzKovcSS6BIIEwPRkP2Wm2m9ufcdFSJ34= -github.com/pborman/uuid v1.2.0/go.mod h1:X/NO0urCmaxf9VXbdlT7C2Yzkj2IKimNn4k+gtPdI/k= -github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= -github.com/pelletier/go-toml v1.9.4 h1:tjENF6MfZAg8e4ZmZTeWaWiT2vXtsoO6+iuOjFhECwM= -github.com/pelletier/go-toml v1.9.4/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= -github.com/performancecopilot/speed v3.0.0+incompatible/go.mod h1:/CLtqpZ5gBg1M9iaPbIdPPGyKcA8hKdoy6hAWba7Yac= -github.com/performancecopilot/speed/v4 v4.0.0/go.mod h1:qxrSyuDGrTOWfV+uKRFhfxw6h/4HXRGUiZiufxo49BM= -github.com/peterh/liner v1.1.1-0.20190123174540-a2c9a5303de7/go.mod h1:CRroGNssyjTd/qIG2FyxByd2S8JEAZXBl4qUrZf8GS0= -github.com/petermattis/goid v0.0.0-20180202154549-b0b1615b78e5 h1:q2e307iGHPdTGp0hoxKjt1H5pDo6utceo3dQVK3I5XQ= -github.com/petermattis/goid v0.0.0-20180202154549-b0b1615b78e5/go.mod h1:jvVRKCrJTQWu0XVbaOlby/2lO20uSCHEMzzplHXte1o= -github.com/philhofer/fwd v1.1.1/go.mod h1:gk3iGcWd9+svBvR0sR+KPcfE+RNWozjowpeBVG3ZVNU= -github.com/pierrec/lz4 v1.0.2-0.20190131084431-473cd7ce01a1/go.mod h1:3/3N9NVKO0jef7pBehbT1qWhCMrIgbYNnFAZCqQ5LRc= -github.com/pierrec/lz4 v2.0.5+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= -github.com/pkg/browser v0.0.0-20180916011732-0a3d74bf9ce4/go.mod h1:4OwLy04Bl9Ef3GJJCoec+30X3LQs/0/m4HFRt/2LUSA= -github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= -github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -github.com/pkg/profile v1.2.1/go.mod h1:hJw3o1OdXxsrSjjVksARp5W95eeEaEfptyVZyv6JUPA= -github.com/pkg/sftp v1.10.1/go.mod h1:lYOWFsE0bwd1+KfKJaKeuokY15vzFx25BLbzYYoAxZI= -github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= -github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI= -github.com/posener/complete v1.2.3/go.mod h1:WZIdtGGp+qx0sLrYKtIRAruyNpv6hFCicSgv7Sy7s/s= -github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= -github.com/prometheus/client_golang v0.9.3-0.20190127221311-3c4408c8b829/go.mod h1:p2iRAGwDERtqlqzRXnrOVns+ignqQo//hLXqYxZYVNs= -github.com/prometheus/client_golang v0.9.3/go.mod h1:/TN21ttK/J9q6uSwhBd54HahCDft0ttaMvbicHlPoso= -github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo= -github.com/prometheus/client_golang v1.3.0/go.mod h1:hJaj2vgQTGQmVCsAACORcieXFeDPbaTKGT+JTgUa3og= -github.com/prometheus/client_golang v1.4.0/go.mod h1:e9GMxYsXl05ICDXkRhurwBS4Q3OK1iX/F2sw+iXX5zU= -github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M= -github.com/prometheus/client_golang v1.8.0/go.mod h1:O9VU6huf47PktckDQfMTX0Y8tY0/7TSWwj+ITvv0TnM= -github.com/prometheus/client_golang v1.11.0/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0= -github.com/prometheus/client_golang v1.12.1 h1:ZiaPsmm9uiBeaSMRznKsCDNtPCS0T3JVDGF+06gjBzk= -github.com/prometheus/client_golang v1.12.1/go.mod h1:3Z9XVyYiZYEO+YQWt3RD2R3jrbd179Rt297l4aS6nDY= -github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= -github.com/prometheus/client_model v0.0.0-20190115171406-56726106282f/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= -github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/client_model v0.1.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/client_model v0.2.0 h1:uq5h0d+GuxiXLJLNABMgp2qUWDPiLvgCzz2dUR+/W/M= -github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/common v0.0.0-20181113130724-41aa239b4cce/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= -github.com/prometheus/common v0.2.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= -github.com/prometheus/common v0.4.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= -github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= -github.com/prometheus/common v0.7.0/go.mod h1:DjGbpBbp5NYNiECxcL/VnbXCCaQpKd3tt26CguLLsqA= -github.com/prometheus/common v0.9.1/go.mod h1:yhUN8i9wzaXS3w1O07YhxHEBxD+W35wd8bs7vj7HSQ4= -github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo= -github.com/prometheus/common v0.14.0/go.mod h1:U+gB1OBLb1lF3O42bTCL+FK18tX9Oar16Clt/msog/s= -github.com/prometheus/common v0.15.0/go.mod h1:U+gB1OBLb1lF3O42bTCL+FK18tX9Oar16Clt/msog/s= -github.com/prometheus/common v0.26.0/go.mod h1:M7rCNAaPfAosfx8veZJCuw84e35h3Cfd9VFqTh1DIvc= -github.com/prometheus/common v0.30.0/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= -github.com/prometheus/common v0.32.1 h1:hWIdL3N2HoUx3B8j3YN9mWor0qhY/NlEKZEaXxuIRh4= -github.com/prometheus/common v0.32.1/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= -github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= -github.com/prometheus/procfs v0.0.0-20190117184657-bf6a532e95b1/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= -github.com/prometheus/procfs v0.0.0-20190507164030-5867b95ac084/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= -github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= -github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+GxbHq6oeK9A= -github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= -github.com/prometheus/procfs v0.2.0/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= -github.com/prometheus/procfs v0.3.0/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= -github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= -github.com/prometheus/procfs v0.7.3 h1:4jVXhlkAyzOScmCkXBTOLRLTz8EeU+eyjrwB/EPq0VU= -github.com/prometheus/procfs v0.7.3/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= -github.com/prometheus/tsdb v0.6.2-0.20190402121629-4f204dcbc150/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= -github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= -github.com/rakyll/statik v0.1.7 h1:OF3QCZUuyPxuGEP7B4ypUa7sB/iHtqOTDYZXGM8KOdQ= -github.com/rakyll/statik v0.1.7/go.mod h1:AlZONWzMtEnMs7W4e/1LURLiI49pIMmp6V9Unghqrcc= -github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= -github.com/rcrowley/go-metrics v0.0.0-20200313005456-10cdbea86bc0 h1:MkV+77GLUNo5oJ0jf870itWm3D0Sjh7+Za9gazKc5LQ= -github.com/rcrowley/go-metrics v0.0.0-20200313005456-10cdbea86bc0/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= -github.com/regen-network/cosmos-proto v0.3.1 h1:rV7iM4SSFAagvy8RiyhiACbWEGotmqzywPxOvwMdxcg= -github.com/regen-network/cosmos-proto v0.3.1/go.mod h1:jO0sVX6a1B36nmE8C9xBFXpNwWejXC7QqCOnH3O0+YM= -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/rjeczalik/notify v0.9.1/go.mod h1:rKwnCoCGeuQnwBtTSPL9Dad03Vh2n40ePRrjvIXnJho= -github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= -github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= -github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= -github.com/rs/cors v0.0.0-20160617231935-a62a804a8a00/go.mod h1:gFx+x8UowdsKA9AchylcLynDq+nNFfI8FkUZdN/jGCU= -github.com/rs/cors v1.7.0/go.mod h1:gFx+x8UowdsKA9AchylcLynDq+nNFfI8FkUZdN/jGCU= -github.com/rs/cors v1.8.2 h1:KCooALfAYGs415Cwu5ABvv9n9509fSiG5SQJn/AQo4U= -github.com/rs/cors v1.8.2/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU= -github.com/rs/xhandler v0.0.0-20160618193221-ed27b6fd6521/go.mod h1:RvLn4FgxWubrpZHtQLnOf6EwhN2hEMusxZOhcW9H3UQ= -github.com/rs/xid v1.2.1/go.mod h1:+uKXf+4Djp6Md1KODXJxgGQPKngRmWyn10oCKFzNHOQ= -github.com/rs/zerolog v1.23.0 h1:UskrK+saS9P9Y789yNNulYKdARjPZuS35B8gJF2x60g= -github.com/rs/zerolog v1.23.0/go.mod h1:6c7hFfxPOy7TacJc4Fcdi24/J0NKYGzjG8FWRI916Qo= -github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g= -github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= -github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= -github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= -github.com/sagikazarmark/crypt v0.4.0/go.mod h1:ALv2SRj7GxYV4HO9elxH9nS6M9gW+xDNxqmyJ6RfDFM= -github.com/samuel/go-zookeeper v0.0.0-20190923202752-2cc03de413da/go.mod h1:gi+0XIa01GRL2eRQVjQkKGqKF3SF9vZR/HnPullcV2E= -github.com/sasha-s/go-deadlock v0.2.1-0.20190427202633-1595213edefa h1:0U2s5loxrTy6/VgfVoLuVLFJcURKLH49ie0zSch7gh4= -github.com/sasha-s/go-deadlock v0.2.1-0.20190427202633-1595213edefa/go.mod h1:F73l+cr82YSh10GxyRI6qZiCgK64VaZjwesgfQ1/iLM= -github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc= -github.com/seccomp/libseccomp-golang v0.9.1/go.mod h1:GbW5+tmTXfcxTToHLXlScSlAvWlF4P2Ca7zGrPiEpWo= -github.com/segmentio/fasthash v1.0.3/go.mod h1:waKX8l2N8yckOgmSsXJi7x1ZfdKZ4x7KRMzBtS3oedY= -github.com/shirou/gopsutil v2.20.5+incompatible/go.mod h1:5b4v6he4MtMOwMlS0TUMTu2PcXUg8+E1lC7eC3UO/RA= -github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= -github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= -github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q= -github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= -github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88= -github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= -github.com/sirupsen/logrus v1.8.1/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= -github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= -github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= -github.com/snikch/goodman v0.0.0-20171125024755-10e37e294daa/go.mod h1:oJyF+mSPHbB5mVY2iO9KV3pTt/QbIkGaO8gQ2WrDbP4= -github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM= -github.com/sony/gobreaker v0.4.1/go.mod h1:ZKptC7FHNvhBz7dN2LGjPVBz2sZJmc0/PkyDJOjmxWY= -github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= -github.com/spaolacci/murmur3 v1.1.0 h1:7c1g84S4BPRrfL5Xrdp6fOJ206sU9y293DDHaoy0bLI= -github.com/spaolacci/murmur3 v1.1.0/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= -github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ= -github.com/spf13/afero v1.3.3/go.mod h1:5KUK8ByomD5Ti5Artl0RtHeI5pTF7MIDuXL3yY520V4= -github.com/spf13/afero v1.6.0 h1:xoax2sJ2DT8S8xA2paPFjDCScCNeWsg75VG0DLRreiY= -github.com/spf13/afero v1.6.0/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z93I= -github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= -github.com/spf13/cast v1.4.1 h1:s0hze+J0196ZfEMTs80N7UlFt0BDuQ7Q+JDnHiMWKdA= -github.com/spf13/cast v1.4.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= -github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= -github.com/spf13/cobra v0.0.5/go.mod h1:3K3wKZymM7VvHMDS9+Akkh4K60UwM26emMESw8tLCHU= -github.com/spf13/cobra v1.0.0/go.mod h1:/6GTrnGXV9HjY+aR4k0oJ5tcvakLuG6EuKReYlHNrgE= -github.com/spf13/cobra v1.1.1/go.mod h1:WnodtKOvamDL/PwE2M4iKs8aMDBZ5Q5klgD3qfVJQMI= -github.com/spf13/cobra v1.4.0 h1:y+wJpx64xcgO1V+RcnwW0LEHxTKRi2ZDPSBjWnrg88Q= -github.com/spf13/cobra v1.4.0/go.mod h1:Wo4iy3BUC+X2Fybo0PDqwJIv3dNRiZLHQymsfxlB84g= -github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= -github.com/spf13/jwalterweatherman v1.1.0 h1:ue6voC5bR5F8YxI5S67j9i582FU4Qvo2bmqnqMYADFk= -github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo= -github.com/spf13/pflag v1.0.1/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= -github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= -github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= -github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -github.com/spf13/viper v1.3.2/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DMA2s= -github.com/spf13/viper v1.4.0/go.mod h1:PTJ7Z/lr49W6bUbkmS1V3by4uWynFiR9p7+dSq/yZzE= -github.com/spf13/viper v1.7.0/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg= -github.com/spf13/viper v1.7.1/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg= -github.com/spf13/viper v1.10.1 h1:nuJZuYpG7gTj/XqiUwg8bA0cp1+M2mC3J4g5luUYBKk= -github.com/spf13/viper v1.10.1/go.mod h1:IGlFPqhNAPKRxohIzWpI5QEy4kuI7tcl5WvR+8qy1rU= -github.com/status-im/keycard-go v0.0.0-20190316090335-8537d3370df4/go.mod h1:RZLeN1LMWmRsyYjvAu+I6Dm9QmlDaIIt+Y+4Kd7Tp+Q= -github.com/steakknife/bloomfilter v0.0.0-20180922174646-6819c0d2a570/go.mod h1:8OR4w3TdeIHIh1g6EMY5p0gVNOovcWC+1vpc7naMuAw= -github.com/steakknife/hamming v0.0.0-20180906055917-c99c65617cd3/go.mod h1:hpGUWaI9xL8pRQCTXQgocU38Qw1g0Us7n5PxxTwTCYU= -github.com/streadway/amqp v0.0.0-20190404075320-75d898a42a94/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw= -github.com/streadway/amqp v0.0.0-20190827072141-edfb9018d271/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw= -github.com/streadway/amqp v1.0.0/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw= -github.com/streadway/handy v0.0.0-20190108123426-d5acb3125c2a/go.mod h1:qNTQ5P5JnDBl6z3cMAg/SywNDC5ABu5ApDIw6lUbRmI= -github.com/streadway/handy v0.0.0-20200128134331-0f66f006fb2e/go.mod h1:qNTQ5P5JnDBl6z3cMAg/SywNDC5ABu5ApDIw6lUbRmI= -github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.2.0 h1:Hbg2NidpLE8veEBkEZTL3CvlkUIVzuU9jDplZO54c48= -github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE= -github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= -github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= -github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= -github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= -github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.7.1 h1:5TQK59W5E3v0r2duFAb7P95B6hEeOyEnHRa8MjYSMTY= -github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/subosito/gotenv v1.2.0 h1:Slr1R9HxAlEKefgq5jn9U+DnETlIUa6HfgEzj0g5d7s= -github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw= -github.com/syndtr/gocapability v0.0.0-20200815063812-42c35b437635/go.mod h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww= -github.com/syndtr/goleveldb v1.0.1-0.20200815110645-5c35d600f0ca h1:Ld/zXl5t4+D69SiV4JoN7kkfvJdOWlPpfxrzxpLMoUk= -github.com/syndtr/goleveldb v1.0.1-0.20200815110645-5c35d600f0ca/go.mod h1:u2MKkTVTVJWe5D1rCvame8WqhBd88EuIwODJZ1VHCPM= -github.com/tecbot/gorocksdb v0.0.0-20191217155057-f0fad39f321c h1:g+WoO5jjkqGAzHWCjJB1zZfXPIAaDpzXIEJ0eS6B5Ok= -github.com/tecbot/gorocksdb v0.0.0-20191217155057-f0fad39f321c/go.mod h1:ahpPrc7HpcfEWDQRZEmnXMzHY03mLDYMCxeDzy46i+8= -github.com/tendermint/btcd v0.1.1 h1:0VcxPfflS2zZ3RiOAHkBiFUcPvbtRj5O7zHmcJWHV7s= -github.com/tendermint/btcd v0.1.1/go.mod h1:DC6/m53jtQzr/NFmMNEu0rxf18/ktVoVtMrnDD5pN+U= -github.com/tendermint/crypto v0.0.0-20191022145703-50d29ede1e15 h1:hqAk8riJvK4RMWx1aInLzndwxKalgi5rTqgfXxOxbEI= -github.com/tendermint/crypto v0.0.0-20191022145703-50d29ede1e15/go.mod h1:z4YtwM70uOnk8h0pjJYlj3zdYwi9l03By6iAIF5j/Pk= -github.com/tendermint/go-amino v0.16.0 h1:GyhmgQKvqF82e2oZeuMSp9JTN0N09emoSZlb2lyGa2E= -github.com/tendermint/go-amino v0.16.0/go.mod h1:TQU0M1i/ImAo+tYpZi73AU3V/dKeCoMC9Sphe2ZwGME= -github.com/tendermint/tendermint v0.34.14/go.mod h1:FrwVm3TvsVicI9Z7FlucHV6Znfd5KBc/Lpp69cCwtk0= -github.com/tendermint/tendermint v0.34.19 h1:y0P1qI5wSa9IRuhKnTDA6IUcOrLi1hXJuALR+R7HFEk= -github.com/tendermint/tendermint v0.34.19/go.mod h1:R5+wgIwSxMdKQcmOaeudL0Cjkr3HDkhpcdum6VeU3R4= -github.com/tendermint/tm-db v0.6.4/go.mod h1:dptYhIpJ2M5kUuenLr+Yyf3zQOv1SgBZcl8/BmWlMBw= -github.com/tendermint/tm-db v0.6.6 h1:EzhaOfR0bdKyATqcd5PNeyeq8r+V4bRPHBfyFdD9kGM= -github.com/tendermint/tm-db v0.6.6/go.mod h1:wP8d49A85B7/erz/r4YbKssKw6ylsO/hKtFk7E1aWZI= -github.com/tidwall/gjson v1.6.7/go.mod h1:zeFuBCIqD4sN/gmqBzZ4j7Jd6UcA2Fc56x7QFsv+8fI= -github.com/tidwall/match v1.0.3/go.mod h1:eRSPERbgtNPcGhD8UCthc6PmLEQXEWd3PRB5JTxsfmM= -github.com/tidwall/pretty v1.0.2/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk= -github.com/tidwall/sjson v1.1.4/go.mod h1:wXpKXu8CtDjKAZ+3DrKY5ROCorDFahq8l0tey/Lx1fg= -github.com/tinylib/msgp v1.1.5/go.mod h1:eQsjooMTnV42mHu917E26IogZ2930nFyBQdofk10Udg= -github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= -github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= -github.com/ttacon/chalk v0.0.0-20160626202418-22c06c80ed31/go.mod h1:onvgF043R+lC5RZ8IT9rBXDaEDnpnw/Cl+HFiw+v/7Q= -github.com/tv42/httpunix v0.0.0-20150427012821-b75d8614f926/go.mod h1:9ESjWnEqriFuLhtthL60Sar/7RFoluCcXsuvEwTV5KM= -github.com/tv42/httpunix v0.0.0-20191220191345-2ba4b9c3382c/go.mod h1:hzIxponao9Kjc7aWznkXaL4U4TWaDSs8zcsY4Ka08nM= -github.com/tyler-smith/go-bip39 v1.0.1-0.20181017060643-dbb3b84ba2ef/go.mod h1:sJ5fKU0s6JVwZjjcUEX2zFOnvq0ASQ2K9Zr6cf67kNs= -github.com/tyler-smith/go-bip39 v1.0.2/go.mod h1:sJ5fKU0s6JVwZjjcUEX2zFOnvq0ASQ2K9Zr6cf67kNs= -github.com/ugorji/go v1.1.4/go.mod h1:uQMGLiO92mf5W77hV/PUCpI3pbzQx3CRekS0kk+RGrc= -github.com/ugorji/go v1.1.7/go.mod h1:kZn38zHttfInRq0xu/PH0az30d+z6vm202qpg1oXVMw= -github.com/ugorji/go/codec v0.0.0-20181204163529-d75b2dcb6bc8/go.mod h1:VFNgLljTbGfSG7qAOspJ7OScBnGdDN/yBr0sguwnwf0= -github.com/ugorji/go/codec v1.1.7/go.mod h1:Ax+UKWsSmolVDwsd+7N3ZtXu+yMGCf907BLYF3GoBXY= -github.com/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA= -github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= -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.1.4/go.mod h1:C5gboKD0TJPqWDTVTtrQNfRbiBwHZGo8UTqP/9/XvLI= -github.com/vmihailenco/tagparser v0.1.2/go.mod h1:OeAg3pn3UbLjkWt+rN9oFYB6u/cQgqMEUPoW2WPyhdI= -github.com/wsddn/go-ecdh v0.0.0-20161211032359-48726bab9208/go.mod h1:IotVbo4F+mw0EzQ08zFqg7pK3FebNXpaMsRy2RT+Ees= -github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= -github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q= -github.com/ybbus/jsonrpc v2.1.2+incompatible/go.mod h1:XJrh1eMSzdIYFbM08flv0wp5G35eRniyeGut1z+LSiE= -github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= -github.com/zondax/hid v0.9.0 h1:eiT3P6vNxAEVxXMw66eZUAAnU2zD33JBkfG/EnfAKl8= -github.com/zondax/hid v0.9.0/go.mod h1:l5wttcP0jwtdLjqjMMWFVEE7d1zO0jvSPA9OPZxWpEM= -go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= -go.etcd.io/bbolt v1.3.3/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= -go.etcd.io/bbolt v1.3.5/go.mod h1:G5EMThwa9y8QZGBClrRx5EY+Yw9kAhnjy3bSjsnlVTQ= -go.etcd.io/bbolt v1.3.6 h1:/ecaJf0sk1l4l6V4awd65v2C3ILy7MSj+s/x1ADCIMU= -go.etcd.io/bbolt v1.3.6/go.mod h1:qXsaaIqmgQH0T+OPdb99Bf+PKfBBQVAdyD6TY9G8XM4= -go.etcd.io/etcd v0.0.0-20191023171146-3cf2f69b5738/go.mod h1:dnLIgRNXwCJa5e+c6mIZCrds/GIG4ncV9HhK5PX7jPg= -go.etcd.io/etcd/api/v3 v3.5.0/go.mod h1:cbVKeC6lCfl7j/8jBhAK6aIYO9XOjdptoxU/nLQcPvs= -go.etcd.io/etcd/api/v3 v3.5.1/go.mod h1:cbVKeC6lCfl7j/8jBhAK6aIYO9XOjdptoxU/nLQcPvs= -go.etcd.io/etcd/client/pkg/v3 v3.5.0/go.mod h1:IJHfcCEKxYu1Os13ZdwCwIUTUVGYTSAM3YSwc9/Ac1g= -go.etcd.io/etcd/client/pkg/v3 v3.5.1/go.mod h1:IJHfcCEKxYu1Os13ZdwCwIUTUVGYTSAM3YSwc9/Ac1g= -go.etcd.io/etcd/client/v2 v2.305.0/go.mod h1:h9puh54ZTgAKtEbut2oe9P4L/oqKCVB6xsXlzd7alYQ= -go.etcd.io/etcd/client/v2 v2.305.1/go.mod h1:pMEacxZW7o8pg4CrFE7pquyCJJzZvkvdD2RibOCCCGs= -go.etcd.io/etcd/client/v3 v3.5.0/go.mod h1:AIKXXVX/DQXtfTEqBryiLTUXwON+GuvO6Z7lLS/oTh0= -go.opencensus.io v0.20.1/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk= -go.opencensus.io v0.20.2/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk= -go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= -go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= -go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= -go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= -go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= -go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= -go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= -go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= -go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= -go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= -go.uber.org/atomic v1.5.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= -go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= -go.uber.org/atomic v1.9.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= -go.uber.org/goleak v1.1.11-0.20210813005559-691160354723/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ= -go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= -go.uber.org/multierr v1.3.0/go.mod h1:VgVr7evmIr6uPjLBxg28wmKNXyqE9akIJ5XnfpiKl+4= -go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU= -go.uber.org/multierr v1.7.0/go.mod h1:7EAYxJLBy9rStEaz58O2t4Uvip6FSURkq8/ppBp95ak= -go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee/go.mod h1:vJERXedbb3MVM5f9Ejo0C68/HhF8uaILCdgjnY+goOA= -go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= -go.uber.org/zap v1.13.0/go.mod h1:zwrFLgMcdUuIBviXEYEH1YKNaOBnKXsx2IPda5bBwHM= -go.uber.org/zap v1.17.0/go.mod h1:MXVU+bhUf/A7Xi2HNOnopQOrmycQ5Ih87HtOu4q5SSo= -go.uber.org/zap v1.19.1/go.mod h1:j3DNczoxDZroyBnOT1L/Q79cfUMGZxlv/9dzN7SM1rI= -golang.org/x/crypto v0.0.0-20170930174604-9419663f5a44/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20181029021203-45a5f77698d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20181203042331-505ab145d0a9/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20190426145343-a29dc8fdc734/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190909091759-094676da4a83/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-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20191206172530-e9b2fee46413/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20200115085410-6d4e4cb37c7d/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20200323165209-0ec3e9974c59/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20200510223506-06a226fb4e37/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20200728195943-123391ffb6de/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20200820211705-5c72a883971a/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20201016220609-9e8e0b390897/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20201117144127-c1f2f97bffc9/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= -golang.org/x/crypto v0.0.0-20210314154223-e6e6c4f2bb5b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= -golang.org/x/crypto v0.0.0-20210616213533-5ff15b29337e/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.0.0-20210817164053-32db794688a5/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.0.0-20210915214749-c084706c2272 h1:3erb+vDS8lU1sxfDHF4/hhWyaXnhIaO+7RgL4fDZORA= -golang.org/x/crypto v0.0.0-20210915214749-c084706c2272/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -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-20190121172915-509febef88a4/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-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= -golang.org/x/exp v0.0.0-20190731235908-ec7cb31e5a56/go.mod h1:JhuoJpWY28nO4Vef9tZUw9qufEGTyX1+7lmHxV5q5G4= -golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod h1:86+5VVa7VpoJ4kLfm080zCjGlMRFzhUhsZKEZO7MGek= -golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod h1:JXzH8nQsPlswgeRAPE3MuO9GYsAcnJvJ4vnMwN/5qkY= -golang.org/x/exp v0.0.0-20191129062945-2f5052295587/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= -golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= -golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= -golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= -golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= -golang.org/x/exp v0.0.0-20200331195152-e8c3332aa8e5/go.mod h1:4M0jN8W1tt0AVLNr8HDosyJCDCDuyL9N9+3m7wDWgKw= -golang.org/x/image v0.0.0-20180708004352-c73c2afc3b81/go.mod h1:ux5Hcp/YLpHSI86hEcLt0YII63i6oz57MZXIpbrjZUs= -golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= -golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= -golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= -golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= -golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= -golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20190909230951-414d861bb4ac/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRuDixDT3tpyyb+LUpUlRWLxfhWrs= -golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/lint v0.0.0-20210508222113-6edffad5e616/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= -golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= -golang.org/x/mobile v0.0.0-20200801112145-973feb4309de/go.mod h1:skQtrUTUwhdJvXM/2KKJzY8pDgNr9I/FOMqDVRPBUS4= -golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= -golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY= -golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= -golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= -golang.org/x/mod v0.1.1-0.20191209134235-331c550502dd/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.5.0 h1:UG21uOlmZabA4fW5i7ZX6bjw1xELEGg/ZLgZq9auk/Q= -golang.org/x/mod v0.5.0/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro= -golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= -golang.org/x/net v0.0.0-20180719180050-a680a1efc54d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181011144130-49bb7cea24b1/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181023162649-9b4f9f5ad519/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181201002055-351d144fa1fc/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181220203305-927f97764cc3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190125091013-d26f9f9a57f3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/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-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= -golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190813141303-74dc4d7220e7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190923162816-aa69164e4478/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200222125558-5a598a2470a0/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200301022130-244492dfa37a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200421231249-e086a090c8fd/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200501053045-e0ff5e5a1de5/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200506145744-7e3656a0809f/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200513185701-a91f0712d120/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= -golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= -golang.org/x/net v0.0.0-20200813134508-3edf25e44fcc/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= -golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= -golang.org/x/net v0.0.0-20200904194848-62affa334b73/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= -golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20201031054903-ff519b6c9102/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20201209123823-ac852fbbde11/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20201224014010-6772e930b67b/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc= -golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= -golang.org/x/net v0.0.0-20210410081132-afb366fc7cd1/go.mod h1:9tjilg8BloeKEkVJvy7fQ90B1CfIiPueXVOjqfkSzI8= -golang.org/x/net v0.0.0-20210428140749-89ef3d95e781/go.mod h1:OJAsFXCWl8Ukc7SiCT/9KSuxbyM7479/AVlXFRxuMCk= -golang.org/x/net v0.0.0-20210503060351-7fd8e65b6420/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20210610132358-84b48f89b13b/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20210614182718-04defd469f4e/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20210813160813-60bc85c4be6d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20210903162142-ad29c8ab022f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20210917221730-978cfadd31cf/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20211208012354-db4efeb81f4b/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd h1:O7DYs+zxREGLKzKoMQrtrEacpb0ZVXA5rIwylE2Xchk= -golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= -golang.org/x/net v0.0.0-20220624214902-1bab6f366d9e/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= -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/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= -golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20200902213428-5d25da1a8d43/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20201109201403-9fd604954f58/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20201208152858-08078c50e5b5/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210218202405-ba52d332ba99/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210220000619-9bb904979d93/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210313182246-cd4f82c27b84/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210628180205-a41e5a781914/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210805134026-6f1e6394065a/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210819190943-2bc19b11175f/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20211005180243-6b3c2da341f1/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20210220032951-036812b2e83c h1:5KslGYwFpkhGh+Q16bwMP3cOontH8FOep7tGV86Y7SQ= -golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181026203630-95b1ffbd15a5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181122145206-62eef0e2fa9b/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181205085412-a5c9d58dba9a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190130150945-aca44879d564/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190606203320-7fc4e5ec1444/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190626221950-04f50cda93cb/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190712062909-fae7ac547cb7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190826190057-c7b8b68b1456/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/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-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191008105621-543471e840be/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191115151921-52ab43148777/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191210023423-ac6580df4449/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191220142924-d4481acd189f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200106162015-b016eb3dc98e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200124204421-9fbb57f87de9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200212091648-12a6c2dcc1e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200331124033-c3d80250170d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200420163511-1957bb5e6d1f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200501052902-10377860bb8e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200511232937-7e40ca221e25/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200519105757-fe76b779f299/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200814200057-3d37ad5750ed/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200824131525-c12d262b63d8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200905004654-be1d3432aa8f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200909081042-eff7692f9009/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200923182605-d9f96fdee20d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20201015000850-e3ed0017c211/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210104204734-6f8348627aad/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210112080510-489259a85091/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210220050731-9a76102bfb43/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210303074136-134d130e1a04/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210305230114-8fe3ee5dd75b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210315160823-c6e025ad8005/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210403161142-5e06dd20ab57/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210426230700-d19ff857e887/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210514084401-e8d321eab015/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210603081109-ebe580a85c40/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210603125802-9665404d3644/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210806184541-e5e7981a1069/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210816183151-1e6c022a8912/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210823070655-63515b42dcdf/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210903071746-97244b99971b/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210908233432-aa78b53d3365/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210917161153-d61c044b1678/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/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-20211124211545-fe61309f8881/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211205182925-97ca703d548d/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211210111614-af8b64212486/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220114195835-da31bd327af9 h1:XfKQ4OlFl8okEOr5UvAqFRVj8pY/4yfcXrddB8qAbU0= -golang.org/x/sys v0.0.0-20220114195835-da31bd327af9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220610221304-9f5ed59c137d/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/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= -golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/term v0.0.0-20210927222741-03fcf44c2211 h1:JGgROgKl9N8DuW20oFS5gxc+lE67/N3FcwmBPMe7ArY= -golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -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/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= -golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk= -golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -golang.org/x/text v0.5.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20200416051211-89c76fbcd5d1/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20210723032227-1f47c861a9ac/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-20180828015842-6cd1fcedba52/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/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-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= -golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20190907020128-2ca718005c18/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191029041327-9cc4af7d6b2c/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191029190741-b9c20aec41a5/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191112195655-aa38f8e97acc/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191130070609-6e064ea0cf2d/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200103221440-774c71fcf114/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200117012304-6edc0a871e69/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200117161641-43d50277825c/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200122220014-bf1340f18c4a/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200204074204-1cc6d1ef6c74/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200207183749-b753a1ba74fa/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200212150539-ea181f53ac56/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200224181240-023911ca70b2/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200227222343-706bc42d1f0d/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200304193943-95d2e580d8eb/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= -golang.org/x/tools v0.0.0-20200312045724-11d5b4c81c7d/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= -golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= -golang.org/x/tools v0.0.0-20200501065659-ab2804fb9c9d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200512131952-2bc93b1c0c88/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200515010526-7d3b6ebf133d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200522201501-cb1345f3a375/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200618134242-20370b0cb4b2/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200717024301-6ddee64345a6/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-20200904185747-39188db58858/go.mod h1:Cj7w3i3Rnn0Xh82ur9kSqwfTHTeVxaDqrfMjpcNT6bE= -golang.org/x/tools v0.0.0-20201022035929-9cf592e881e9/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20201110124207-079ba7bd75cd/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20201201161351-ac6f37ff4c2a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20201208233053-a543418bbed2/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20201224043029-2b0845dc783e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= -golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.3/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.4/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE= -golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -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/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= -google.golang.org/api v0.3.1/go.mod h1:6wY9I6uQWHQ8EM57III9mq/AjF+i8G65rmVagqKMtkk= -google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= -google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= -google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= -google.golang.org/api v0.9.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= -google.golang.org/api v0.13.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= -google.golang.org/api v0.14.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= -google.golang.org/api v0.15.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= -google.golang.org/api v0.17.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.18.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.19.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.20.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.22.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.24.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= -google.golang.org/api v0.28.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= -google.golang.org/api v0.29.0/go.mod h1:Lcubydp8VUV7KeIHD9z2Bys/sm/vGKnG1UHuDBSrHWM= -google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz5138Fc= -google.golang.org/api v0.35.0/go.mod h1:/XrVsuzM0rZmrsbjJutiuftIzeuTQcEeaYcSk/mQ1dg= -google.golang.org/api v0.36.0/go.mod h1:+z5ficQTmoYpPn8LCUNVpK5I7hwkpjbcgqA7I34qYtE= -google.golang.org/api v0.40.0/go.mod h1:fYKFpnQN0DsDSKRVRcQSDQNtqWPfM9i+zNPxepjRCQ8= -google.golang.org/api v0.41.0/go.mod h1:RkxM5lITDfTzmyKFPt+wGrCJbVfniCr2ool8kTBzRTU= -google.golang.org/api v0.43.0/go.mod h1:nQsDGjRXMo4lvh5hP0TKqF244gqhGcr/YSIykhUk/94= -google.golang.org/api v0.47.0/go.mod h1:Wbvgpq1HddcWVtzsVLyfLp8lDg6AA241LmgIL59tHXo= -google.golang.org/api v0.48.0/go.mod h1:71Pr1vy+TAZRPkPs/xlCf5SsU8WjuAWv1Pfjbtukyy4= -google.golang.org/api v0.50.0/go.mod h1:4bNT5pAuq5ji4SRZm+5QIkjny9JAyVD/3gaSihNefaw= -google.golang.org/api v0.51.0/go.mod h1:t4HdrdoNgyN5cbEfm7Lum0lcLDLiise1F8qDKX00sOU= -google.golang.org/api v0.54.0/go.mod h1:7C4bFFOvVDGXjfDTAsgGwDgAxRDeQ4X8NvUedIt6z3k= -google.golang.org/api v0.55.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqivdVE= -google.golang.org/api v0.56.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqivdVE= -google.golang.org/api v0.57.0/go.mod h1:dVPlbZyBo2/OjBpmvNdpn2GRm6rPy75jyU7bmhdrMgI= -google.golang.org/api v0.59.0/go.mod h1:sT2boj7M9YJxZzgeZqXogmhfmRWDtPzT31xkieUbuZU= -google.golang.org/api v0.61.0/go.mod h1:xQRti5UdCmoCEqFxcz93fTl338AVqDgyaDRuOZ3hg9I= -google.golang.org/api v0.63.0/go.mod h1:gs4ij2ffTRXwuzzgJl/56BdwJaA194ijkfn++9tDuPo= -google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= -google.golang.org/appengine v1.2.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= -google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= -google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= -google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= -google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= -google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= -google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= -google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= -google.golang.org/genproto v0.0.0-20180831171423-11092d34479b/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= -google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190530194941-fb225487d101/go.mod h1:z3L6/3dTEVtUr6QSP8miRzeRqwQOioJ9I66odjN4I7s= -google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= -google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= -google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8= -google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20191115194625-c23dd37a84c9/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20200115191322-ca5a22157cba/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20200122232147-0452cf42e150/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20200204135345-fa8e72b47b90/go.mod h1:GmwEX6Z4W5gMy59cAlVYjN9JhxgbQH6Gn+gFDQe2lzA= -google.golang.org/genproto v0.0.0-20200212174721-66ed5ce911ce/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200224152610-e50cd9704f63/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200228133532-8c2c7df3a383/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200305110556-506484158171/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200312145019-da6875a35672/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200324203455-a04cca1dde73/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200331122359-1ee6d9798940/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200423170343-7949de9c1215/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200430143042-b979b6f78d84/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200511104702-f5ebc3bea380/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200515170657-fc4c6c6a6587/go.mod h1:YsZOwe1myG/8QRHRsmBRE1LrgQY60beZKjly0O1fX9U= -google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= -google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA= -google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20200904004341-0bd0a958aa1d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201109203340-2640f1f9cdfb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201119123407-9b1e624d6bc4/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201201144952-b05cb90ed32e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201210142538-e3217bee35cc/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201214200347-8c77b98c765d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210126160654-44e461bb6506/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210222152913-aa3ee6e6a81c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210303154014-9728d6b83eeb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210310155132-4ce2db91004e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210319143718-93e7006c17a6/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210402141018-6c239bbf2bb1/go.mod h1:9lPAdzaEmUacj36I+k7YKbEc5CXzPIeORRgDAUOu28A= -google.golang.org/genproto v0.0.0-20210513213006-bf773b8c8384/go.mod h1:P3QM42oQyzQSnHPnZ/vqoCdDmzH28fzWByN9asMeM8A= -google.golang.org/genproto v0.0.0-20210602131652-f16073e35f0c/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= -google.golang.org/genproto v0.0.0-20210604141403-392c879c8b08/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= -google.golang.org/genproto v0.0.0-20210608205507-b6d2f5bf0d7d/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= -google.golang.org/genproto v0.0.0-20210624195500-8bfb893ecb84/go.mod h1:SzzZ/N+nwJDaO1kznhnlzqS8ocJICar6hYhVyhi++24= -google.golang.org/genproto v0.0.0-20210713002101-d411969a0d9a/go.mod h1:AxrInvYm1dci+enl5hChSFPOmmUF1+uAa/UsgNRWd7k= -google.golang.org/genproto v0.0.0-20210716133855-ce7ef5c701ea/go.mod h1:AxrInvYm1dci+enl5hChSFPOmmUF1+uAa/UsgNRWd7k= -google.golang.org/genproto v0.0.0-20210728212813-7823e685a01f/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48= -google.golang.org/genproto v0.0.0-20210805201207-89edb61ffb67/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48= -google.golang.org/genproto v0.0.0-20210813162853-db860fec028c/go.mod h1:cFeNkxwySK631ADgubI+/XFU/xp8FD5KIVV4rj8UC5w= -google.golang.org/genproto v0.0.0-20210821163610-241b8fcbd6c8/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= -google.golang.org/genproto v0.0.0-20210828152312-66f60bf46e71/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= -google.golang.org/genproto v0.0.0-20210831024726-fe130286e0e2/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= -google.golang.org/genproto v0.0.0-20210903162649-d08c68adba83/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= -google.golang.org/genproto v0.0.0-20210909211513-a8c4777a87af/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= -google.golang.org/genproto v0.0.0-20210917145530-b395a37504d4/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= -google.golang.org/genproto v0.0.0-20210924002016-3dee208752a0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20211008145708-270636b82663/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20211028162531-8db9c33dc351/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20211118181313-81c1377c94b1/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20211206160659-862468c7d6e0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20211208223120-3a66f561d7aa/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20211223182754-3ac035c7e7cb/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20220317150908-0efb43f6373e h1:fNKDNuUyC4WH+inqDMpfXDdfvwfYILbsX+oskGZ8hxg= -google.golang.org/genproto v0.0.0-20220317150908-0efb43f6373e/go.mod h1:hAL49I2IFola2sVEjAn7MEwsja0xp51I0tlGAf9hz4E= -google.golang.org/genproto v0.0.0-20220822174746-9e6da59bd2fc/go.mod h1:dbqgFATTzChvnt+ujMdZwITVAJHFtfyN1qUhDqEiIlk= -google.golang.org/genproto v0.0.0-20221114212237-e4508ebdbee1/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg= -google.golang.org/genproto v0.0.0-20221207170731-23e4bf6bdc37/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= -google.golang.org/grpc v1.17.0/go.mod h1:6QZJwpn2B+Zp71q/5VxRsJ6NXXVCE5NRUHRo+f3cWCs= -google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= -google.golang.org/grpc v1.19.1/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= -google.golang.org/grpc v1.20.0/go.mod h1:chYK+tFQF0nDUGJgXMSgLCQk3phJEuONr2DCgLDdAQM= -google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= -google.golang.org/grpc v1.21.0/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= -google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= -google.golang.org/grpc v1.22.1/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= -google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= -google.golang.org/grpc v1.23.1/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= -google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= -google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= -google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= -google.golang.org/grpc v1.27.1/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= -google.golang.org/grpc v1.28.0/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKal+60= -google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk= -google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= -google.golang.org/grpc v1.31.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= -google.golang.org/grpc v1.31.1/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= -google.golang.org/grpc v1.32.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= -google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTpR3n0= -google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= -google.golang.org/grpc v1.34.0/go.mod h1:WotjhfgOW/POjDeRt8vscBtXq+2VjORFy659qA51WJ8= -google.golang.org/grpc v1.35.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= -google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= -google.golang.org/grpc v1.36.1/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= -google.golang.org/grpc v1.37.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= -google.golang.org/grpc v1.37.1/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= -google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= -google.golang.org/grpc v1.39.0/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE= -google.golang.org/grpc v1.39.1/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE= -google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= -google.golang.org/grpc v1.40.1/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= -google.golang.org/grpc v1.42.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= -google.golang.org/grpc v1.43.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= -google.golang.org/grpc v1.45.0 h1:NEpgUqV3Z+ZjkqMsxMg11IaDrXY4RY6CQukSGK0uI1M= -google.golang.org/grpc v1.45.0/go.mod h1:lN7owxKUQEqMfSyQikvvk5tf/6zMPsrK+ONuO11+0rQ= -google.golang.org/grpc v1.48.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= -google.golang.org/grpc v1.50.1/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= -google.golang.org/grpc v1.51.0/go.mod h1:wgNDFcnuBGmxLKI/qn4T+m5BtEBYXJPvibbUPsAIPww= -google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= -google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= -google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= -google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= -google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE= -google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= -google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4= -google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= -google.golang.org/protobuf v1.25.1-0.20200805231151-a709e31e5d12/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= -google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= -google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.27.1 h1:SnqbnDw1V7RiZcXPx5MEeqPv2s79L9i7BJUlG/+RurQ= -google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.28.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= -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= -gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20200902074654-038fdea0a05b h1:QRR6H1YWRnHb4Y/HeNFCTJLFVxaq6wH4YuVdsUOr75U= -gopkg.in/check.v1 v1.0.0-20200902074654-038fdea0a05b/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/cheggaaa/pb.v1 v1.0.25/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qStrOgw= -gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= -gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= -gopkg.in/gcfg.v1 v1.2.3/go.mod h1:yesOnuUOFQAhST5vPY4nbZsb/huCgGGXlipJsBn0b3o= -gopkg.in/ini.v1 v1.51.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= -gopkg.in/ini.v1 v1.66.2 h1:XfR1dOYubytKy4Shzc2LHrrGhU0lDCfDGG1yLPmpgsI= -gopkg.in/ini.v1 v1.66.2/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= -gopkg.in/natefinch/npipe.v2 v2.0.0-20160621034901-c1b8fa8bdcce/go.mod h1:5AcXVHNjg+BDxry382+8OKon8SEWiKktQR07RKPsv1c= -gopkg.in/olebedev/go-duktape.v3 v3.0.0-20200619000410-60c24ae608a6/go.mod h1:uAJfkITjFhyEEuUfm7bsmCZRbW5WRq8s9EY8HZ6hCns= -gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo= -gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ= -gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= -gopkg.in/urfave/cli.v1 v1.20.0/go.mod h1:vuBzUtMdQeixQj8LVd+/98pzhxNGQoyuPBlsXHOQNO0= -gopkg.in/warnings.v0 v0.1.2/go.mod h1:jksf8JmL6Qr/oQM2OXTHunEvvTAsrWBLb6OOjuVWRNI= -gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74= -gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.5/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= -gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= -gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b h1:h8qDotaEPuJATrMmW04NCwg7v22aHH28wwpauUhK9Oo= -gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gotest.tools v2.2.0+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81HFBacw= -honnef.co/go/tools v0.0.0-20180728063816-88497007e858/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= -honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= -honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= -nhooyr.io/websocket v1.8.6 h1:s+C3xAMLwGmlI31Nyn/eAehUlZPwfYZu2JXM621Q5/k= -nhooyr.io/websocket v1.8.6/go.mod h1:B70DZP8IakI65RVQ51MsWP/8jndNma26DVA/nFSCgW0= -rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= -rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4= -rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= -rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= -sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o= -sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc= -sourcegraph.com/sourcegraph/appdash v0.0.0-20190731080439-ebfcffb1b5c0/go.mod h1:hI742Nqp5OhwiqlzhgfbWU4mW4yO10fP+LoT9WOswdU= diff --git a/scripts/requester/requester b/scripts/requester/requester deleted file mode 100755 index e30f1357..00000000 Binary files a/scripts/requester/requester and /dev/null differ diff --git a/scripts/requester/requester.go b/scripts/requester/requester.go deleted file mode 100644 index 6b1c4c64..00000000 --- a/scripts/requester/requester.go +++ /dev/null @@ -1,179 +0,0 @@ -package main - -import ( - "C" - "context" - "encoding/json" - "fmt" - "log" - - "github.com/DecentralCardGame/Cardchain/x/cardchain/types" - "github.com/DecentralCardGame/cardobject/keywords" - sdktypes "github.com/cosmos/cosmos-sdk/types" - "github.com/ignite-hq/cli/ignite/pkg/cosmosclient" -) - -type Content struct { - Content []byte -} - -func getLogger(name string) (*log.Logger) { - logger := log.Default() - logger.SetPrefix("\033[1m[" + name + "]\033[0m ") - return logger -} - -func getAddr(logger *log.Logger, cosmos cosmosclient.Client, user string) sdktypes.AccAddress { - address, err := cosmos.Address(user) - if err != nil { - logger.Fatal("Error:", err) - } - return address -} - -func getClient() (cosmosclient.Client, error) { - config := sdktypes.GetConfig() - config.SetBech32PrefixForAccount("cc", "ccpub") - - return cosmosclient.New(context.Background(), cosmosclient.WithAddressPrefix("cc"), cosmosclient.WithNodeAddress("http://localhost:26659")) -} - -func broadcastMsg(logger *log.Logger, cosmos cosmosclient.Client, creator string, msg sdktypes.Msg) { - logger.Println("Message:", msg) - - txResp, err := cosmos.BroadcastTx(creator, msg) - if err != nil { - logger.Fatal("Error:", err) - } - logger.Println("Response:", txResp) -} - -func getCardContent(rawContent string) []byte { - logger := getLogger("get_card_content") - contentString := fmt.Sprintf(`{"Content": "%s"}`, rawContent) - - var content Content - err := json.Unmarshal([]byte(contentString), &content) - if err != nil { - logger.Fatal(err) - } - return content.Content -} - -//export make_add_artwork_request -func make_add_artwork_request(creator *C.char, cardId int, image *C.char, fullArt bool) { - logger := getLogger("make_add_artwork_request") - cosmos, err := getClient() - if err != nil { - logger.Fatal("Error:", err) - } - - address := getAddr(logger, cosmos, C.GoString(creator)) - - msg := types.NewMsgAddArtwork( - address.String(), - uint64(cardId), - getCardContent(C.GoString(image)), - fullArt, - ) - - broadcastMsg(logger, cosmos, C.GoString(creator), msg) -} - -//export make_save_card_content_request -func make_save_card_content_request(creator *C.char, cardId int, content *C.char, notes *C.char, artist *C.char) { - logger := getLogger("make_save_card_content_request") - cosmos, err := getClient() - if err != nil { - logger.Fatal("Error:", err) - } - - address := getAddr(logger, cosmos, C.GoString(creator)) - artistAddr := getAddr(logger, cosmos, C.GoString(artist)) - - cardobj, err := keywords.Unmarshal(getCardContent(C.GoString(content))) - if err != nil { - logger.Fatal("Error:", err) - } - - cardbytes, err := json.Marshal(cardobj) - if err != nil { - logger.Fatal("Error:", err) - } - - msg := types.NewMsgSaveCardContent( - address.String(), - uint64(cardId), - cardbytes, - C.GoString(notes), - artistAddr.String(), - ) - - logger = getLogger("make_save_card_content_request") - broadcastMsg(logger, cosmos, C.GoString(creator), msg) -} - -//export make_buy_card_scheme_request -func make_buy_card_scheme_request(creator *C.char, price *C.char) { - logger := getLogger("make_buy_card_scheme_request") - cosmos, err := getClient() - if err != nil { - logger.Fatal("Error:", err) - } - - address := getAddr(logger, cosmos, C.GoString(creator)) - - bid, err := sdktypes.ParseCoinNormalized(C.GoString(price)) - if err != nil { - logger.Fatal(err) - } - - msg := types.NewMsgBuyCardScheme( - address.String(), - bid.String(), - ) - - broadcastMsg(logger, cosmos, C.GoString(creator), msg) -} - -//export make_create_user_request -func make_create_user_request(creator *C.char, alias *C.char) { - logger := getLogger("make_create_user_request") - cosmos, err := getClient() - if err != nil { - logger.Fatal("Error:", err) - } - - address := getAddr(logger, cosmos, C.GoString(creator)) - useraddr := getAddr(logger, cosmos, C.GoString(alias)) - - msg := types.NewMsgCreateuser( - address.String(), - useraddr.String(), - C.GoString(alias), - ) - - broadcastMsg(logger, cosmos, C.GoString(creator), msg) -} - -//export make_transfer_card_request -func make_transfer_card_request(creator *C.char, cardId int, receiver *C.char) { - logger := getLogger("make_transfer_card_request") - cosmos, err := getClient() - if err != nil { - logger.Fatal("Error:", err) - } - - address := getAddr(logger, cosmos, C.GoString(creator)) - - msg := types.NewMsgTransferCard( - address.String(), - uint64(cardId), - C.GoString(receiver), - ) - - broadcastMsg(logger, cosmos, C.GoString(creator), msg) -} - -func main() { -} diff --git a/scripts/requester/requester.h b/scripts/requester/requester.h deleted file mode 100644 index 7c955306..00000000 --- a/scripts/requester/requester.h +++ /dev/null @@ -1,79 +0,0 @@ -/* Code generated by cmd/cgo; DO NOT EDIT. */ - -/* package command-line-arguments */ - - -#line 1 "cgo-builtin-export-prolog" - -#include /* for ptrdiff_t below */ - -#ifndef GO_CGO_EXPORT_PROLOGUE_H -#define GO_CGO_EXPORT_PROLOGUE_H - -#ifndef GO_CGO_GOSTRING_TYPEDEF -typedef struct { const char *p; ptrdiff_t n; } _GoString_; -#endif - -#endif - -/* Start of preamble from import "C" comments. */ - - - - -/* End of preamble from import "C" comments. */ - - -/* Start of boilerplate cgo prologue. */ -#line 1 "cgo-gcc-export-header-prolog" - -#ifndef GO_CGO_PROLOGUE_H -#define GO_CGO_PROLOGUE_H - -typedef signed char GoInt8; -typedef unsigned char GoUint8; -typedef short GoInt16; -typedef unsigned short GoUint16; -typedef int GoInt32; -typedef unsigned int GoUint32; -typedef long long GoInt64; -typedef unsigned long long GoUint64; -typedef GoInt64 GoInt; -typedef GoUint64 GoUint; -typedef __SIZE_TYPE__ GoUintptr; -typedef float GoFloat32; -typedef double GoFloat64; -typedef float _Complex GoComplex64; -typedef double _Complex GoComplex128; - -/* - static assertion to make sure the file is being used on architecture - at least with matching size of GoInt. -*/ -typedef char _check_for_64_bit_pointer_matching_GoInt[sizeof(void*)==64/8 ? 1:-1]; - -#ifndef GO_CGO_GOSTRING_TYPEDEF -typedef _GoString_ GoString; -#endif -typedef void *GoMap; -typedef void *GoChan; -typedef struct { void *t; void *v; } GoInterface; -typedef struct { void *data; GoInt len; GoInt cap; } GoSlice; - -#endif - -/* End of boilerplate cgo prologue. */ - -#ifdef __cplusplus -extern "C" { -#endif - -extern void make_add_artwork_request(char* creator, GoInt cardId, char* image, GoUint8 fullArt); -extern void make_save_card_content_request(char* creator, GoInt cardId, char* content, char* notes, char* artist); -extern void make_buy_card_scheme_request(char* creator, char* price); -extern void make_create_user_request(char* creator, char* alias); -extern void make_transfer_card_request(char* creator, GoInt cardId, char* receiver); - -#ifdef __cplusplus -} -#endif diff --git a/scripts/requester/requester.so b/scripts/requester/requester.so deleted file mode 100644 index 85e3cd73..00000000 Binary files a/scripts/requester/requester.so and /dev/null differ diff --git a/scripts/sets/add-artwork.sh b/scripts/sets/add-artwork.sh new file mode 100644 index 00000000..6b6b1bc6 --- /dev/null +++ b/scripts/sets/add-artwork.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash +if [ $# -lt 1 ]; then + echo 1>&2 "Please specify set id via argument" + exit 2 +fi + +Cardchaind tx cardchain add-artwork-to-set $1 "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAYABgAAD/4QBmRXhpZgAATU0AKgAAAAgABAEaAAUAAAABAAAAPgEbAAUAAAABAAAARgEoAAMAAAABAAIAAAExAAIAAAAQAAAATgAAAAAAAABgAAAAAQAAAGAAAAABcGFpbnQubmV0IDUuMC45AP/bAEMAEAsMDgwKEA4NDhIREBMYKRsYFhYYMiQmHik7ND49OjQ5OEFJXlBBRVlGODlSb1NZYWRpamk/T3N7cmZ6XmdpZf/bAEMBERISGBUYMBsbMGVDOUNlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZf/AABEIAasBpAMBEgACEQEDEQH/xAAfAAABBQEBAQEBAQAAAAAAAAAAAQIDBAUGBwgJCgv/xAC1EAACAQMDAgQDBQUEBAAAAX0BAgMABBEFEiExQQYTUWEHInEUMoGRoQgjQrHBFVLR8CQzYnKCCQoWFxgZGiUmJygpKjQ1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4eLj5OXm5+jp6vHy8/T19vf4+fr/xAAfAQADAQEBAQEBAQEBAAAAAAAAAQIDBAUGBwgJCgv/xAC1EQACAQIEBAMEBwUEBAABAncAAQIDEQQFITEGEkFRB2FxEyIygQgUQpGhscEJIzNS8BVictEKFiQ04SXxFxgZGiYnKCkqNTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqCg4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2dri4+Tl5ufo6ery8/T19vf4+fr/2gAMAwEAAhEDEQA/AO2ooAKKACigApaACigAooAWigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKYBRSAKKACmGSMMFLqCe2aAH1Xu7yGzjDytwemO9AFiqltqNrdD93KM+h4oAt0UAFFMAzRSAWkoAWkBoAdRQAUUAFLQAUUAJRQAUUAFFABS0AFFABRQAUUAFFABRQAUtABRQAUUAFFABRQAlLQBDRQAUUALRQAUUAFFABS0AFFABRQAUUAFLQAlFABRQAUUAFLQAlFABRQAUUAFFABQaADNFABRQAVXu7uK0iLyHnsPWgCZmVBlmCj1Jrkr/UZ7yXAbCemcAVLmilFnQS6taxnG4n8K5mOEbTn5/fH+NTzj5DWvteWSFo7eN9zcZ6Y/GstljwAZU9xmlzspRRFcX9/IMBzEhxkLn86cyqThXX8hS5mFiG1vLqFiYS0hPXd0z+NMnaJGxKduPpRdhYjunuZ5N0xXrkgdKYZFkIEbu3tTuwsIs7RtnHHpmk3x7iJVYenHSgRs2XiVooPJkjEmPuknp/jWGY48funGc9jT5hWOustfRmP2gjyycB15APp9K5BV+bBbnsTT5gselqwZQynKkZBHeuBttQvbRgEnde45yPxFVzE2O/rI0fW1vz5MyhJsZGOjU7isa9FAADRQA4UgNADqKACigAooAKKACloASigApaACigAooAKKACigAooAKKACigAooAKKACigCGkoAWigAooAWigAooAWkoAWigAooAKKACigAooAKKACigAooAKKACigAooAKKACigAprMqKWYgKOpNAEd1cx2kDSynCgfnXL6zqX2u52qMonQdvqaly7FKJFeXbXcrSznr91R2HpWc12iscYd+3oKz1ZasiRpRn5Ezj14FV1d5DnH5UWGSuxkwrucDsvFNMRx1I9cUASeVGgGFC59ai8kPwzEe3NAEhgkYcMMeuM0giKfd4HsM0AJ9n5JLR/iMUyTdjJdyf9wUCGOmT1Tj0H/1qjWUgE88/SgBGnkQ4bDfWnefHj5xz+VMBgeOVv+ebH1+7TXMbZKn/AD9aBDykidRkeoOagV2U/IzD6GgCZZSGxhd3TmmlhIAJVGexxTESw3Hly5KFGU5BBxg+1MbbImGGD6/1oA7TRtdW5xDdMBLj5W6bvr71xdu7QuCpIIOQQe/rTTFY9QrndG14Oqw3Ix6P6fWquTY6KkyM4pgOBpKAH0imgBaWgAooAKKACigAooAKKACigAooAKKACigAooAKKACigAooAKKAIKKAFooAKKAFpKAFooAKKAFooAKKACigAooAKKAFpKACigAooAKKACigAooAKKAEJrM128+z2phQ4kkH5LSbsCVzJ1zVzIxiib5c4Hv71hyRl5Mnt0rNu5okQXcucRo5x1ZvU0siKjdj60DIIsKM7foKlkZNuB3oAmgk2/MaovKcYBwopAaTXG4YUhQOwrOSbdwAfrQMvkysco2B3qvHuJyefQUDsWQ1x2IYD0FPV/lwTj2zSCxBJJIT8wH5VZ8ky8gEe5NFx8pQYnHDn8avPZoOSc0XDlMqQ8435B7AVee3QckcelO4rGZtZzwOPU1ckB6KMDtzTuKxVIEfGcmnGMZ6ZNFwsMWVweuBUojJouHKCueoGfWgpjtTuKwhmYZbBOBxUbNt4J/M0ySxDMyuGzg1BGSaAPRPD10txp6rkeYnDYH5GuU0i8mtJ1kjbGOCD0IppiaPQKjgmWeJZE6MO9USSCigB4oHSgBaKACigAooAKWgBKWgAooAKKACigAooAKKACigBKWgBKKACloAr0UALRQAUUAFFAC0UAFFABRQAtFABRQAUUAFFABRQAUUAFFABRQAUUAFFABR2oA5HV5xNqExOdqnaPw/+vms25lLKcHOSfxrJ6s0WhWurlY93PzHNZ0ihnNMB5uA38QOev61FtUHj6UAPaQtzmlVSxAApDGohc9K1LSzL4Cj6mk2WolaK3ZjgCujt7MJxiouXymTHZheXOK6AQhRRcrlMhIbdRkyLWqQg58vNFwsUAAc+WCR6gVZcO/CxgD6UCsZ0pXnk5+tXDZyMeRQHKZMjKB8q5Pqa1hpmTlqLhymFteVuck10UdikZ+7RcOUxobIkZIre8oKOmKLj5TGaz2jpWlJHnrRcLGLLB6DA9a0JYtwPFNMlo5y6hIORV26i4Oe1WmZNGdFKM4pWiUHI7VRBp2ZUMoJ4NVYC6KMnOMY9RSYzu/D1wXt2gY/NGcj6VmeH7pUvlBPEmV/w/pTi+gpI6sDNPAqyApaACigAooAUUUAFFABS0AJRQAUUAFLQAlLQAUUAJS0AJRQAUUAFGKAK9FABRQAtJQAtFABRQAtJQAtFABRQAtFABSUALRQAUUAFFABRQAUUAFFABRQBFdZ+yzY67Dj8qbettsp2P8Azzb+VAHn1wQI+OMf4Cm3ScEA9Rx/n86yNCjjCe5okba20df5UwFjjUtz09KWHlwo5NIaRftbdZHGBWnZQqiKT1qWzVRLVtEsYAAqaEfNUFlhVpykY607BcNopxIFFguCIMdKduA4zRYLihAOwpcjFOwhCB6UEigYhGe1OzmgCJlGKWRhmkO5BItOYjHNFguVXXNSZBNKwrlaROMCpZAMHFOwXMW6QBuanulBNUjNmU8Q9sUjSjzWjfgjoaszZEpKPt6hjUchwTg0CNKzuDG+Ub7uSCPWqcLFYR6k5oA9QsrhbuzinXjeucehrJ8JSl9LMZ6o36H/ACatO5DRu0UxBRQAUUALRQAUUALSUALRQAlLQAUUAJRQAtFABSUALRQAUUAJS0AVaKAFpKAFooAKKAFooAKKACigBaSgBaKACigAooAWkoAWigAooAKSgBaSgBaKAKWsSeXpcx9gPzIqn4knQaeY1cGQnO3vik9hrc4uZz5qp7Go5HzOnqeKgsrkZldj2qR0+YqOrNQBNpMG+cue1aGloMMQOO1TIuCL28Rrk9O9R3cTOhVfWpNGRS6vtO1Bj3qqbaNRmTjHWnoTqStrDKPkBJ96q/bLWE4VC59hTAc+rXbchj+FQSavGchYAMetHyFddy1Bqt4smSDiqfmTSYcRgA9O1A0dLban5oAbINYtpM6OA6kexHNSy0dOsu4VDAdyZBFK5Viw0wUVnX0vkRsSegpXCwy+1BoslDXOz3Ms7naCRVJGbZYm1S8duCcVVjJR1D7CSeAWx+vQVViblqLVblTlicehpqXtkw2vGQemcZFAvmXF1UnB4NU2S2cZhIFA9S3LeLMMgYNUdhVqLCuyvOP9IDelTToAwJ9KpEMrTriZgOnanXRyykdSMUAPtwS6/SpbRcyKAMnHagR2vhMbbeZSMEbT+HNaenWYtYkIyGMSqw9xk/1q0rEtlylFMQUUCCigYUUAFFABS0AFJQAUUALRQAlFAC0UAJS0AFFABRQAUUAVaKACigAooAWkoAWigBaSgBaKACigAooAWkoAWigAooAKinuYbdC0sioPc0xEtYF74mhiU/Z13/7TcCgLm8SAMk4rzzUPEFzdZHmHHoOBRYLnZ3uuWVmCGlDMP4V5rzWSZ3OS2TTsB0uoeLZ5dyWyiJfXqa5YtQBq2d281xMZC7sYzz17jrWdp86x6jCz427sHccAZGOv41Mtio7lt4y8gI7GtM2jLJKcd6yubuFjPlQB1xwetJcEm4AHTp+tBBr6XGFhFLpZYwDPrUs0iaSxgjmpYxgVNjRFKexSQ5KlvbNaOM0rBYyBbQx8PCB7Fa1yhI7U9R2RkNHZE/NBGf8AgIrT8sD+EflRdhyozlghlUKIsr6DitLaO9FwsU/s0e1Bs6dCecVaIzSHYS2jCrx0qaIAcUIZQ1KBZY8EcZ5q1ddCDTFuZC6fCU2MmV9jjNXkGRigVkVZLSzlws6Zx/DnH8qvmJXGHUN9adxcq7GT/ZdiikImP+BVqG0hz9wfkKLsOVdjEfTYw48gc/yreWCOMZRAPoKLsXIZUWnkDLkE/StJuKNQ5Tn76IxyAjoKtawv7rcPWrRlJGOybmB96sBf3akDk80yC3pUGxmnOAAOCemaztSupYZI4FG1EXcMd9wB5q4rqTJ9DrRrV7DjcVcepFcla6tJH8rHK9wa00M7HbReJTnEsH4g1zMd5FKvpRZAdjH4htG+/uT6iuREgJxnIosI7iPVbKQZE6j68VxKv2o5R3O+S5hk+5Kp+hrz95GAypIo5QueiBgehFeeR6pcR42zOMf7VKwXPRK4+x8TzRsFn/eL+RosO52FVLLUre+XMT/N3U9aQXLdFIYUUALSUAFFAC0UAFFABRQAUUAVKKAFooAKKACigBaSgBaSgBaKAFpKAFooAKxNZ15LLMMOGlxyey0xF2/1W2sBiVsv2Uda87vLt5pWkZiWY85NOwHRXvieeXKwbYl9eprkmlPrQBo3F7I7bpJC7erHNZhf3oAlklaQ5Y1XL80APJqMtQA5mqMmkAjtTGNAxrH3pjGkB6THtubRZkH+tjVwPqKxvCmqx3FqthM+Jos+WT/Ev/1v5VnKNjqjUTQy+ttkgyMHqP6/0rX1KEOgO3JHepuJq+pDpoxAop1pgDikxI0U6VCkmSOOtI0RZFND4HNBRYVRjmq7ThehxTCxMyiqMt12XFIaLZ2qOTWa8kpXeR8o659KQFxpBu46VAJEIznpSKsWkOaWDawGDTQhk4yKkuECjOQaLBcoB9j4I4qKedEJGRmixJoIQygg9azbWdtu4HKknFAzW2+tV0nyKYEz+oqMyZHWmIjkwKZI/FBLKGqjNox9CDRfHdayDtx/OqRnIzIgT5YA6irBKQWJnYj92PzPpT3J2MDVXkGpzCQEEEAZHYAY/TFVpS0p3Mct64rQxYqsDUIJBpgXI5mQ8Gq6tQI1Yrw9zWcrU7gbkd0Mdayo5SDTuFjZ80ms5J/encVi8QGbpVdJuelAFjZjmovPJ9KANOwna2k3qSCCDVKKUtFLhsELTEek2k4uLZJR3FZXhucvbMhOQMEVDQ0zbpKkoWigAooAWigAooAKKACigCpRQAUUALRQAUUAFFABRQAtFABRQBmeINQFjYNtfEsnypXMeMLwS6ksatlYlx+Jpk7mPNIzksxJJ6k1CWzQMhc8H1pH60xkYJPajOD9aQCHcaCaAE5ozQAnPrSE8UABNMJzSARjTTQA0mgcmgCS3ke3nSaNtrocgikoA7KHXodQiMagrJtyUPU9M49etcjBK0EySofmQ5FTyov2jO5g4bbVS0uBPCksefmGfpWbRomaYfB5qCNix+bipLTJmmK0eXuB9qLl3ImkZzgVFO4j46UBzFmKNc5bmoIbhSPlOaLBzFqUjG3seCKiJDLjPNA7mVcadMrM9vcyDHRSeK2AqlfvAU7itcyLLVJbZvLuPwNWL7SxcNuSQdOlGjF7yIb3XVVCE+ZvSqiaIUkzLKuPrTshNyZTiW5vJd7scHt2rcigWEYUjbRcXK+pYsYxHAFNR+aIwMtj3qbXKUrFsjGSKrrLuP3hQPmRMZcDFRFcjNAXEebB69aqzZV89MVSM2xbh820hJxVa6cfZZFPdapK5m2Z2pzrIqQIQyrySOmf8/zqoy1qlYzbbIMU8jBoEQumeRUpoArA44pX5fikA8GmimBIGpoNAE6OelRA0AWRKRUGaALKy8VApoAvQylY5GPTbioXOLYDuzAVQjs9DvDbwLInK7RuFU9G/wCPfZ/s1W6JO1t7mO5jDxtn+lc1bTyQNvjOCOCKlxHc6usdNbWMf6RGQv8AfXkD61Nh3NnNRQTx3EYkicOp6EGgCWkpDHUlAC0UAFFAFOigBaKAFooAKKACigAooAKqahqENhbtJKwyBwvcmmIqa/qq6fbbEP75+FHp71w+o30l7cvNKclu3oPSiwFW4kaSRmYkknJNQuaYCxt1FRg4f60hj25FIaAIWpTQAmc0wHtQA7NJQAhNJSAQ0GgBjUNQAgFOFACjmkoAdRQBuaFc/ujASdynIx6H/wCv/OsuyuPs1yshyV6MB6VLVyk7HYqxAzkmq0U4dQVYEHpjvWdjVM04nzxmqsUm1hu+lTYtMddQCR+egqZZEeTk9OtIZk32kzKBJayuB3U+lb4GVOapMqyZg2lrNKQrTlevWtZ7Zc5AxQUo+ZDFpcrws63XT2684qRYFKlGOFJzxTDkfRkcum3UZAWVWB45FOaDa2RNJj/fPH60ByS7kB0q63ANKACM9KdLCpKnzZSR0/eNx+tAuSXcz7q0uYUZvNzg1b+zfKV+YqTk5YnmgXI+5hxT3s0xjjTzAO/aujtbdIxhQAB6UXRPL5le1ikUbpPvemauuVjYZH3uKm4WsRt8gPJqOeUBz70CuVZmBfBOKgZgSf61aM2yG6YlNvTPNQSSf6TgjIxitoIykyo2A1LdJsfI6VRJG656URnOakCGQ7RQ6bjnNAyACpDGaAGU4qVGTQA3NFIBwpvSmBJnNIp5oAeOKft4zQA9my0S/jULN+9B9BTEdXor5LAdhUPhzlJTVolm0jK08iA89xVKHeurSE/dYDFAGguMbTzR/HQIzzdz+H7wXEOXs5D+8j/un1FXp4VuIXikGVYYpNDOmtLmK7t0mhYMjjIIrh/Dt/Npl9LYOxKqcqD3FTYdzvhUUE6Txh0Oc0hk1IKQx1JQBVooAKKACigAooAWkoAqapfx6dZPPJzj7o9TXKeMNRW4vIrWM5WI5b3NMRl6hfTXkpkmbLHt2HtVCR8mmAjtk0w+tAAeaYzcUhiScfhUZO5T60ATEjg1ErZQUAD9aH60AM/ioPagAopAFGKAGmg0AMPJpe9ACgAUtACUtABS0AFHamBraXc5i8sn5k6Z9KzIpGikDr2qWrlKVjqopmY53VQtbhXiDA8fSs2i0zT+ZGHXk5HPJppk80Bgc44wfSpLuakLblGWHPQVTt3II3HGDSLTNLaT2pEmz1HsKRZC5cdulWdwYZIFMDPeZgQBmr7RRnnaM0BqUPMJPA/E1Zwq5yOtFw1IPmPXipsrtzRcRHuCLknpVW6k+UnOKCW7Ed1cZYY6Dv6VSDDP8xVJEOQ+e4O0557VSnmBJAHHqKaRDY/zAx9BV690qSw0i3uJuJJpB8v91ccZ960jEzcjIufllBFLdc81qyRJhvjBpiPlcUgIYhhjTyMEnFIZE4wSKJDSAjB5xRnJoAJgQgFPuR8qmhiIAKKBgRS0gEHBo6mmBaXmOo0bCkUwIRy5pYxl/wAaQHVeG1xA9N0qQW+nzOf4RmtFsQzTjlSWbcOq8Vj6POz7ix6mmtQN4t+9A9qZuBkyOwoEWAaiVhkUAY+sD7PqtpcrxuO1qXxGR5Vv6+aMVLGb1vO8TZjcjviqynBT6UxG7Bq8eQs3yn17Visu5valyjudYkiuoZTkGucgupIY9ingUuUdzboqCgpaAEooEFI7rGhZyAB60DMjxJqp060CxH99Jwvt71yXiPU/7Qvy6f6tBtX396YtzKuZCzBycnOSfWonO5cUwFJzUaNleeopDHE4FNJoACeDSE0AM70NQAR9x6GkXOc+ooAc/JzSE/LQAhPFHY0ALQOlABiloAYRTsUAMIpWGBQAlA5FIApaACloAKKYCGkNIDR0hPNaaPeEwu4E9OKrWEnlzlScB1KfnQxo0obzHIbg96y4A8Zde6nkVLiUpHSwz5XIbAH6VjRzuoyOncVHKUpHUwzFgO9YUOoFcbmOc0uUtSOnjkwOSKxk1BXXk8d6ViuY2hKWY54HSsc36bsbuKLBzGsZAevH1rIlvhtClh1/KiwcxblnVcise5vcoGU8Nx/n86fKS5Fq4lUplSc1kyXRf1zTsQ5Esk+cjuepqrIjhCxUgnpVWJubnhzTBd3scs65gVuAf4jgn8uKk03xB/Z08cF5BhYzglOwC46U0Js3vGi50eNv7sgNJ4juIdQ8MPPbuHUFTx25HWrRmzip+UpkrZjFUwKwODSHmkMlRsnFRK2GoGSzrxmnk70oApD71K4w9IBbtuFxSTKWRTigCEHNJjFADxQtACilNADs8Ug6GgBbVd0lLZn5zQhGvPMYdKKA/wCsOKqag5eWG3X+Ec/Wrb6AaGk4SHeTgCq88gSNLWM89XIoWgjaspCQzN/EeKzvtotocsenT3NVcVjWjm3XTJ2UVnWtyI7R7iQ4Z+aADWCJr2zhBz8+TVbTGN3fyXcn3E4Wp3YHQ5+cD0FRW7GRi2asRPkk+1DHHApDEaXBxTCBnmgR1VJWJoLVa/vI7G1eeQ8KOB6mgRFqmqwaZBvlOWP3VHU159qV7LfXTTTNnPQdgPSnYC3qWt3WoEmRtkZ6Rr0/H1rHeTNMAlbPNRk5oGNJpp4pAIxwdw/Gk3c4NADs96Z93jtQApNIaAAmkPNADkI2kHtUZODQA4mm5oAeOlNzxQA8Ui9KAH9qQUALilApgRyD5aWXpSAYn3aI+hoAWloABRQAUGgBKKQCe4pe9AGhFEZ5InzhjgN71NbjEKEdQBSKRI9u1vNkDlTWx5S3EQbuSf5UDMSWASI83CvnOxF4x/StFYNjgY4IP8qAMET4yC2PY1sz2EcxDlRzjNLQNTHEjfwt+RqIWsj3rQRqchscdhTsK5MWldtoB3HtjrW7a2ccCgD72OSZT/IUrDuUbLSpJPnuhIkY6Kq/Mf8ACtnyRjkKf+AOaB3KDWkcZJjgZR2BTP6k1bkhTH3U/wC/TUAZEsW64iiAw0jgAlMd6sQW4uNWhATKRsCxAOBj600SzQl0cPqUr3D5TJ59elTXm9mYgkDn+eKdwsVLm5CWurMnEDbI1HYmqWqDytMWBc/eLOfU5p3JsZ27MPWo1P7oUxEe6mk4NIY7PNNzQBNHJiohTAklALA03ORikBZhh3wA4qa3lRIVU9apCKz2vtV/zIyMmiwGWbdh2rUzEaLAZDRMO1a58krjFFgMqNCUJrU+xyS28ht4Xkx12qTilawXKGnRj5pn+6n86e06w26wKOV6/WhAND+WzTv/AKxvuiqxfc248mi4yzFIEBkkPP8AOqu4ZyxyaLiLSHz5BJMcRjoPWqpkZzhaLgXbqdrmRbeLp0wO1JaslqNx5kPene4Gou21t0t0696pW83mT7nNO4jds5fKjAPSmwFHQc1Qi6ZA/SoGkVF+XmgCbA7mqDSSFsg0CO5rO1rUl06yZ8jzG4QeprIs5rxlqBkuVto2+WPlvrXPXUrTOXc5ZjkmgCAzZ4NRsvrQBJ8rd6rkEdDQMnI9Kr73FAEzD1qDe1ADmHrTRIe4oAXPGDRlW9qAEzg4NKV/EUAJQQR70AIaTOOtIAU9jSH1FACmlCkgNjigQ5TTe9AyQGmg0wJhSIc0wElHFOl+7SYECdSKRfvUASUUAFLjNACdacBQA2nEUAM70vegRr2w/cp9BTrUfuU+gqWWjW09zsIPRWFR2Z+Zx64/nSGXHjDKCOoH9aRyY2YjkHcP60AVZiY42XuB/I0+6KSKWU9eP0oAs2Ph1l33EzKHkOcBckfnXQWhP2aAkcY5NWQUJLC3to900sg9CTt/lWvdKs6BHUNg5zTC5zVxbSKwKTSY/wB4+lbFxbgjgUrDuYCDkCRpD0z8xq5PDjkD/OKVigieIIFXgY/rVBg0ZGO2P8aLhYvTKrIfx/nWb9rIGG74H5mlcLFTWwPIYD1NM1KRZYGIPYn9aAaMWM/u6bGfkqzMax5pG60hgDSCgB4NIKAHDmkTlwPU0CLRiYkVaBFVYCutu571bDgDPQCiwEKW7etamjWbancrt4hDgE/3vXFGgrkuj+HptQcMxKQA8t6/Su/hiSGJURQFUYAFK4ENnYwWVsIIYwEH61ZpDsYmqeF9P1Il3j2SH+NOD/8AXrbpBY891DwJcRAvaT+YP7rjB/OvQqAPGbnTLqzfbcwun1HB/GvYZraGZSsiBgexFAanjSgr0XFeh6r4QtrhWe1/cydgPun8KYHnZzV3UdMu9Ol2XMRHow6Gi4XKiswORTGY0DLcd5LH0aqqsO9O4jQGoyetUgRincC99ukNUd9FwNfWdTOoXjSMfkHCD0FYzBuuakB8r56VDu7GgYeZzzSMtAC5U1HigCTHoc1Hg0AO2+1N+Yd6AHYHpSZagA2Uu5vSgBNh9acGJoATaRSkH1oAYyjNWLKymv7pLeBdzufy96QjW8H6OdQ1ISyxh7eL724cE+ld3oWlppOnJbKdzdWb1NADdT0W0vdPa2ESxhRlCoxtNW7+5S1tnkc4CjNAHk13aNbzyROMMhINW7+U3k8lwerMTimCMsgipWGaQxiNg00jFMCZjlKjD8YNADSKcSMUAOxmiPkA0AKBT8UAJQaYDTQaQDe9HegDdtE/0WM+oFWbNP8AQov90VLKQ+3O1z9KReJD9aQzQJyOfU/ypitkZ9x/KgZSm64B9KS74XI64oA6nQpvO0uLJyQMf0qh4UlzZMmfusRVozZvI2ODUTthvzpgSMATiqzThSfxoAbcW2RkVILlG4yKAMW6gK54rWmRJAelKw0zlLhMVp31njJFKw7nK3ZIjZQeoqXUYiu6kIyo+hFNj71RIp60NQMbRQA4GkBoAmtlzMv50Qb92IkLueAAKEBcmmSIZY/hVm30xISJtQO+U8rCDwPrTv2ERWdpNfkSS5itQevdvYV23h/TGk23dyvA/wBUmOB70hFvQdN+zxLKyeWAMRx/3R7+9bXSgdhKWkMSloASloASlxQAlLigBKWgCvc2cN3GUmjVlPUEZqxQI4rVvBQbdJYOF/2G5H512tAWPHr7S72wYi5tXUD+IDK/nXrzxJIMOoNAHie8elema34Ts76JnhjWKbqGUYyff1oA8y3+1X7vR7y1uGie2lJHdEJB/KgLlVjmjHvVDGMM04igBoOeDS45zQA0ripcbloEQ05kI6UgExQAaBgBSjNMQuAaTBoGGBmndqAGkZOAOa2fC+lNqOpJIy/uITuY9iewpMR1nhXQl0y086UA3Moyx/uj0rfAAAA7UgFzjmobuUQwMxOMDNMZyXi7Ui0n2VG4HL/4VzeoXJubqWUn77E/hQIgifqD0qEMA1Ax8yFWyOlSI29dpoAqOO9SSpjpSAr0HrQAhNFAE1ucgim25xJj1poCwRzTzyKYiI04igCI0rUhjR1oX71AHWWIDWMY9FFJpZ/cAZ/hFSWgKgSgHuallT94D6UAPThePaljXIOfSkMpXqnBNT3cfBI6c0AWvC5KwS4/vn+VS+G4ylo7kcMxq0QzYlPy570yVxt60xFa5kAXPc0kihgTSGZhmeMkk8mi5TmpKD+1CvUms2ZOTRcC8+ro4wawZeMigCzqFwkyNt61lSORmgVyuv3jSJ941RI5qQ0AJRSAKO9MDQ06eW3BMQwzcZxzVzTYMxpn6mqSFc0LSEsQ8nzHuTU5YRoAKqxJ2mnTLLbIV6YrI0O52ny2PB5FQ0NM6KkByKkoWigAooAKKACigAxS0AJS0AFFABRQAUUAFJQAxoY2OSozT6BHhnzjvT9wNMY3e4p3BoATzT3FLtBoAVZqQxigRKrqw61EIzTAmwD6VGEI70ASgCmbSKAHnHapbGzlvruO3hGWc/kPWgCxpGkz6tdiKMFYx998dB/jXo+l6dDptmkEK4wOT3J9aVwHafYw6farBAoVV/M1apDCkJwCaAOe8X3Zg08xqcNIdv8AjWF4yu/NvliB4QZP1pknOSNUTHmgoax5prUAThsYYUyI5QigCw2HXIqGN9pwaAIpFwankXcMikBUpzDBoARDhwaTvTA0FPFMjOQPpTEK1KaAIn6Ur0DGJy1LD9+kBuWVxsRce1ZqXG3ipKTOg+1KQCx6VhG4J70hmw+pImQoJrHMm4e9AXNN9QaTjaKoxyAqfWgDsvDrBtNT15/nVfw6CunAk9eatEsvXxVQy5+Yjiobp8t0zQCBH+TBPNRZGelAyO5UGmzOMVLGZ0y9abcPSAzbhfmNRXUyqTzQJlWYDBqvLKWPFMQ1OtCVQhxpCeaACkzSAcg3OB71JbLulHtzTQjbtJDvC9gKZZj95VoRcuJeVGarTNm6C0xG9ZyFAjA8ioYT8gpgdlaSCSFWHcVS0WXfb49Dis2rDRqUlSUOpKAFpKAFooAKKACigAooAKKACigAooAKSgDw0AZwflNWHjI6LuFVYRDtx0NHlgn5G2n0NIY4KaYTJGeRxQBJgg0izA8EUxDlNAZTQA8HikBHagCWCGS5mWGJd0jnAFdH4J08y3b3rr8kY2r7nvSbA6Hw/ocelW+58NcOPnb+grYpALRQMKKAIL2ZYLd3Y4AGaxvGFz5OlOobBbC0COE1G5N1dyyn+Js1UY5NMBjHmkNIY00GgBY22vTO9AEr9aPvKDQBIj5XBqEHBoAdIOaVjkUAQmlYUAWYW+UUyA/LiqQiYtTWoAa5pjHmkMfDyTSwDgmgAxzTwKQAuaeFzSGKgz0qSNcGgBEBDY71NDGWu0GM5NAHXWI8iwjTvtqPzTHGu4YAFUOw+VueaoyXWXxSuBdDAiqckpSPjg4oAbeTpCCWYCsK7Z5JSWJNSAl3etKSE4FV2XFMLlV8k5Jp7YzQIrlTT2PFAhiGkWmA40lABQOaALdkvVqnt02xKKtCL1pw2aS3+9TEIp3XZNLEVE5ycGgDUikGAKgAPUVQjpdCnCuyE9eRWVYzGOVWz0NKSuCO2ByM1FbtvjBrMolpaQwooAKKAFpKAFpKAFpKAFpKACigAooAKKAPGwTmkU1QhXjST7w/GnA570wKreZA2D8yHpVswmRcEcUrAVN0D/eXafalaIRviQEe/Y0APjgVziP5iewFeieHtMsLexjuLWLDSoCWY5NK4HKaT4Zur91aRWhgzySME/QV6IAB0ouBDZWkVjbJBAu1FGBU9IBRRQMWigAJwM1HO22Jj7UxHA+Nb/zL5LZTwg3H61ha1ObjVrmQnPzkflxSBFQnNNBoGLRQAhooAbSmgB0Z7UzODQA8jFO+8uaAGdKWgBDS4oAdCeSKROGpgTN0prtxTuBGx5pOppAWYVPl5p0bBVC0MABI7VNgGpGRiTHanlKAAXAHaomXFAF3TpWkvFAFO0I4vaAOpCb4sEc+9PQkrmqGZk9u/m7s9Kt3MiICWNSMzpt2PmNV7q7ySEFAFOYhST3qJwXOTQIgdixpzALQIrsMUkhycCgCNuhpduRgUARLRjBIpiFooAkgQySgYq5p0XBkP4VSQiyFxxT8c1QiW34YCkjO1xQBWv4pEl3pWjMoZcmiwFGzuZwPn6VI2FGBQgL1vcbnqnA2HFMLHoGi3Hm2qgnleKyfD9xtl2E8MKloSZ1VIDkVBYtFABRQAUUAFFABRQAUUAFFABRQAUUAeLh0HeotvFMRaSdF6LVdV9elMC4t0WOFGaiRgvTincDQtrdLy4jhmdY1Y8s3aqauSeTmgD1G3iSC3jijxsVQBj0ridG16awKxuTJB3Unp9Kmwzu6gtLuG9hEsDhlP5j60gJ6WgAqu99Aj7Q25v8AZ5ouh2ZZrL1K5mlg2Wq5DD5jnmk5Iag2OvdQgaNoo2LMR1A4rnPMlSYRuCCfWo52a+zRg3nhzUVLSqqTbsk+W3P64rp0mdON1LnYnSR5+6PE5SRGR16qwwRXf3EFveqFuoUk7Akcj8eoqucn2bOAFdXqHhAGBp9PdtwGfKbnP0P+NUpJkuDRylJyDg0yQxSGgBCeaSgCSJu1RqcGgCcikzkZoAKM0AKPWkzTAVjmmmgBU5YUsYxzQArk78jtSgZBNICWKboDVc8GgDRDAiqcUxHBpDLT4xTGYEcGgC3pG9L5X2nZ3NaOmxL9mBpoC/PfFVKxCotnqKBlKZ3kOWJqxLGMUgM90qaRaAKbDAply+OBQIrTvngUgTdQBEEyatxxYGTQFhiRhRk1Iy0hmbJjzDTrhdspqiWMUbiAKlt1ydxHSmBoQsI4wtVw/NUIuK/zCoEbNFwNGPDEVWhkIcUxGjKP3fSpFw8NUIypWwaS7XaxqWMSOX5qrBsGlcZ0+lz7JUcHoazdNlwQKpaks9LgbfEDVLRp/NtFyeRxWbVikaVFIYUUAFFABRQAUUAFFABRQAUUAFFAHia9eaFBxk0wH5ppNAD80+1t5LuYRRDJ7n0oAsWFhPfP+7GEH3nPQV1djbi0to4U+6o/En1/z60AVrbRLSL/AFoeVu+Tjn8P/r/0rR6j2/p/n+nsKdxDbO3gs5hLaySREjld25T7H+nNDEAFmIAHXP8An/P4ZBcZZ1PVVEQjQ4J+9/hWDfSM0rFefTJrGUuxvCKW5bivlB5XisffIfvGosaaHRx3aNyDmsGN3QUCsjpd6OvQEEcg1iRXbg80BY1TZQP9wtG3sciq0N2Q3NAaiz2c8I3DDoP4h/WtC3u1bg0WC7Q6wZmiUEdBU0cYjlABwrc1SJk7nlupjGp3QxjErDH4mtLxhZ/ZNelIXCTASD+v6g1qjBmHRQIaaWgBtLigB6NxTBxQBJnNMzg0AONBoAAaE5OKYEhOEpxUFcUAOiwVpgBQ0gHvHUiuGHNAFYqVqwyZFAFfeQKd5eWwaAOj0mYfZQCazIJfKUKDxQO5tTXaKcZrL+WQZzQFyzLfjoKptGAaAJGuiwqLYKAImBdsmrUcW6kBFHFxVsqEHJxQOxAV7CkluUQYXk0gHCIAZY1QluHkPXFOwXGXgV5QE5NNXIcN3FMllnyfLiAqQyeYnNUIp5w1OdcGgCSNqjjOWxQBbDbRmopicDHSmBsWUu6PGapadJjjNNMTHaiMHNGpkEUMEZqtzUQJDVAzXsWwwqvZyYIq0JneeHJvvIT71naFPsuU54PFEkI7OkQ5UGsyx1JQAtJQAUUAFFABSUALSUALSUALSUAeLnjpSMeKYDoYZLiZIoly7nArY8Ops3zMvJzj/P0JoA2dO0+KxgCJ8zfxP6n/AD/ng1Or+/tn/P4H86AJs5P+P+f88+1RhuM9Pb0/zj/x2gB+ct1Ix79/8/19BWdrF+bCxZkwJG+VfY//AFsfoKAIbi6N5qDWsRxbw/fx/Eew+gqhon7u0Mh6s2SazkzWETYMALcnmqL6lhsAZNZmyRoNYBhkUyHU2MfKUBYq3enSf8sXKt7nirovo5Rg8Gi4rGcLK6UA/K36Vf8AtOxuOlFxFNHli4kVl+orXiuI5QMgE0AUoZz5inHGe1bUK2oYEwx5PfbRYalboQ/2lEbtIt/KYB+vpXMeJLJdP1TfZuyLKu/CnGDnmqSJ5l2NT4grbvZWkodfODEAA8lSOf1xXIzGadt0zs59WOatGTsUqs+TTuTYrVOYj6UXCxBipfKb0ouKxDU3kt6U7hYhxzUnln0ouFhu7t1FO8o+lFwsMXhqeIz6UXCxZjVCQSah2NRcLF8pFIuMiqGHHrQBM8YjbrxUJV260ASk4HBqLy2oAcH3OAaYI2zRcC4Ez3qAK/rRcC0qEfxVAEf1ouOxc3epqp5bjqaLhYvKUHLGqWxvWlcdi692EGEqn5Rx1oDUdJM7nk1E0ZHei4gxk9aQowouFhwUVGQwPegRYjiBNV97jpQM04rdTwcVnrLKP4jQBbu7byxuU8VXMjsuGJp3Ahh5enLGwORTuInk5TpTMOexouFiSzco/NESkHkUcwWJb594GAamDDGCtDkCiZOxifun8q3oVU8bBU8xXKZVsrhh8rflXRxQqMfKKOZhyjdOZ0ZG2nIOelalrEPSq52S4HT2sgeFTntWSrSKuFYgVNwsbm4eorD82U/xGi47G5vX1FYXmSf3j+dFwsbm9fUVibpD/EfzouFja3r/AHhWLl8feP50XCxteYvrWL8/94/nRcLG15if3hWGQ3940XCxt+an94ViYP8AeNFwsbXnR/3qxdhPei4WPMgQ7N6LTIM5I7HrTEdLpU0YgCggEYz+v/1qwraXy227sdutAzrVk3YHqAD+R/8ArVjw3xOAzYb+dAG6kgJBJ75/kf8AH86zorgEjnqf8/oKAM3xJIWngjJzhcn69P6VBrQ3XELD+7j8ev8AWkBd03/jwCn3p1syi2UKOcVm9zZbEZgBYjvU6qNwIPzUirjoYH6ZqxHcqjgMtK5SHJYSOuUwT6dDWxBIqxglT0oEzn5DJBJslBH1FbM9wCeFDCmIy4JQDwwrTSSL/lpbqR9KQxLeV2cBQW9hWhbPDt/dYX2osFzA8VW9z5qXRhzCEC7gc4PvW5qsqjSrgPjBGP1q0ZtHBqS3/LMVawnrimQRKn95BT9u7o1AyMhAeVqUIO/NADVERH3KnRE7rmkBAUjB5AxVtRHjBjX60AUjHET8ozVjYA3QYoAjjtUPJP4ZqXYM5FACfZYCflU+/NKVGfvEfSgA+yQ9qcWQLhSfqaNRkYtEzg0/ePrQIf8AY7fHOaRSD60tRi/YrUjqRTww7ijULEP2K39zVkSKP4SaLsLEAsID6irXmA9sUXYWRANNh/vGpt/pRdhZCLpsCjk7qcJSCMA0ahZAun2xPzAmpVlwMlcUtR6EK6dbbuSQKmLs33UJo1DQP7NsWXnNM8xu2aNRaDjpdlt4dgaQO57/AKUahZCjT7IDkMTTj5pHykZp6jsirLYQIxKpx7irAWVuCwo1FYpNHbx9UH5Vaa2L/eOTTEUvOgPBh6e1XlskXlgDRoGpAk1qFx5WPwqx9mjz90ijQCJXtSfu/pU4tYh91Tn1o0HqCSWhGAv5LUq26BRt3g96egtRyC0bjaB9RTki28cn60tAJ44rfsAPwqML9aVgLqJCBxiq6j607BcuqYx0qFBx0osBZ3r61EMA5Cj86BEwdcdahIY+lMCfeuOtQEcc0hk+8Y61Xx6UAT+YvrUGM+ooAn8xfWoMDsaAJ94PQ1BgUAT7x6VCAPU0ATbxUGPrRqB5lG4VwT0q4bNc8I1XdEWZDJjcGRgQamNoB/CaLhZkKzMpwSMfWnm19qLhZk8F0VH3j/Oq3kMp4OKLgXr+VJrVXJG5W6VQkDbCGOaANazkHkDnNZlrOYT/ALPpUtFqRsswJ9DVeKeOTGGFTYq5Jl94OelTo0Z4akUmbemXizR+XJjcOKzrSWNZQRS2Ktc2JdPJRpISc9cetW4pk8oEMKZL0M63huHHz27qfetYSAKWLcDqaAuQwWcmMuVQeg5NVrvUmIKQ5werU7CuZmqJ59y8bSsY0b5RmkZVPJ60XEygbBOu5qvrGCMii7Fymf8AYUxwzCtERdT/AFouOxRW3x8vmH26VcMWT2596LhYqS26AL8zn15q2bcE54JouFil9lUjIL/mKuCAg9QKLhYpG1APAc/iKv7Dii4rFD7MD13j8quEY44/Oi4WKn2TI4J/SrXOeTx7Gi4WK5sw3Un9KsDqQTRdhYqmyC/dY/hVsA5/xNFwsVRBt53H8QKuBWz1/UUXCxX8rd/Fj/gI/wAKthTjmi47FUQgDG7PvirQUepzSuFiuIQT97H4VaEZxzmgLFU24x98n8KthD2JouFir9myPvGrYVc8s1Fx2KZtmJ4J/KrwWMcEvRcLFb/SNu3znwO1WisYzn+dFwsVGSRgvt0G0VaynQAfnSuFioYpG/uj/gNWwvvxRcLFZElH8Sf98Vb2gHFO4WKnlTZz5i/981c28dRSuFimI5Qfvg/8Aq0B2yKLhYq+RKx/1uP+ACrg2/3hTuFimLabPE5/FBV0YHRhRcViuIp+8in/AIBVoN2zTuBX8m47Sj/v3VoEE9aBFT7Pc45n/wDHKvr83HX6mmBRFrcf8/H/AI4K0AB9PxosxXKa21yCMXP/AJDFaKqO7CnqK5S8i8/hugP+2YrSETHpzRYLmcLe9HS6H/foVpeW47UWDQzzDfA8XY/79ir+xj0oAoi2vm6Xg+nlirxjftQBmta34/5fP/IQrRKP6GkBm/Z74db3/wAhir+2TP3aBlD7PfAf8f3/AJCWtDbJ6UwM8w33/P8Af+Qlq8UcdqVwKHk33/P83/fpaveW/pQBRMF6f+X5v+/a1dKv/dNGoHIlXzgKTWnhfSgDNCP/AHa0gBmi4zP8p/7n6VpjHpSuFjMML/8APOtTaCemKLhYyGtXYZEVbGwY4JouFjF+wOedmK2gox1ouPlMQ6a5GcLW0VIPFFwsYo064A+Vxj3NbO0+1FwsZEen3KnLSgVsbDSuOxFa/aIl/wBZn6ipvLPrSuMUeYVbc5we2cCgRGgBAMdhSFSO1FwsDcj7pB9jTc89DTuKwLIQOVbPqaD+lFwsG/PNNyRwDii4WHHceVP5U0MemTRcLC4Y9aTJ9TxRcBRgcbcij6k0rhYUKM8xhvrTlIHUk0XCw3OOdlPLrjgEUXHYjZ26BRS4J96dxWGFj/dx+Ip2wknii4WG47k08L+FFwsNGcdTUnH96i4EYRPbP0FSj2agAUIi8YyfQClHP8VACrtA7/lQGHrQA4MMcfypvmhT96gBfr/KoZLuPuxNFmK5LwSeB+VVjfJ0Un8qdmFyyUJ6/wAqptdFumTRYOYt+Up6gn8KpfaCByM/U0+UXMWpGRBxIVqsrEtk7cegajlHdkhulBwsjEj2p4KNjKpmlZBqM+2TMcAbh7mrOeMArn2zQGpXa4kQZMKt7Bv/AK1RzRkEtvP5U7IV2SxzM/BUD9aqxSFHHzH6cUNILsv+WSR8yj8KcjggZAFSUSJER1f9KFOenNAEyqB3DfWkUnpigRMAPamjOORTESKF9BSLz2p6gTKqdwppoGPejUViwJSOhqILn0piJ/tLA43CodmKLsLInNw3r+lV9vvRdhYsecT3quVPY0XCxOZif/1VXAPvSuOxOZmqAq1FwsT+aw7VDtNFwsSmU+lQmMmi4WJvNPeoPLNFwsTeafSoCvvRcLHKf21ED/qv1rCNPlDmNz+2Yj1iP51hZOKOUOY3xrERPEf5msDNHIg5jo11aIn7gz9awIgCeaXKhqTOi/tWMfwD/vqsYxoEzilyodzcXUozwY8fjWBE7BxzS5Q5joDqkCnGw/ia524Yl8Zp8oOR0P8Aa1uOqGueiYgGjlDmOiOr2/8AdYVg5JXmjlDmN/8Ata277h+FYUnCilyj5jeGq2x43/pXNvw4p8ouY6ZdQtyfviuXyd3WjlDmOrN5BjquK5Xc3qaOUfMdL9oiJ6iud3NxyaXKFzovOjJ4Irmw7Doxo5QudGbhB0FYKTSZ++aLBc3TdrnG2soMxHJpWC5pm5X+6PzrOVj607Bc0hdr3T9azWJ20rBc0/t0OfmVhWOzsO9OwXNwX1uGGHwD6iuckYk8mjlDmOma5yuUdWHsa5dHYdGNHKHMdGb0Ecg1iGRtg+Y0cocxsm8h7kiufZ2J5Jo5Q5joRNEy5STNc2JGB4YijlDmOgM6ocg5/GshZGKZ3UWDmNUXUf8AEWFY87seM0WC5rtNCV+V81g72HQ1VhXNlpYV5Y1jFmPUk0WC5rSSwkZElY7sfWiwrmsjwtz5hFZSk4PNFguan9oxRZVSTz1IrGPWqsS2bCasBnrnNZKDkUWHzM2Tq46HIrHk+8aVg5jbj1lV9TWGOlHKHMbh1G3cksWyaws0uUfMbqzWLctI2awqdg5jpk1C1iT5Wz9a5nJo5Rcx1kWsW+OvFcoCeeaXKPmOuOuWyjpXJZ+WjlDmOyTWYHXIrkEJA4NHKHMdcdbgBrkwTwc0rBdHXf2/bgdM1yRJ9aLBdHW/8JBCeAnNcmpOadh6HW/26p/5Z/rXKh2Hc0tQ0OoOvKD/AKr9a5tmO080Bp2OiOv46RfrXOoxK8mgNDfbXyDkR1g55osGhvDxA2P9V+tc6WIVuaLBc6A+IWzxGK5hSd3WnYVzpf8AhIZDz5Y/OufRjxzSsO5vN4ikH8C1gS8mnYLm5/wkUn9xaxVUbRxSsFz/2Q==" --from jannik --gas auto \ No newline at end of file diff --git a/scripts/sets/add-cards.sh b/scripts/sets/add-cards.sh new file mode 100644 index 00000000..c219fd13 --- /dev/null +++ b/scripts/sets/add-cards.sh @@ -0,0 +1,11 @@ +#!/usr/bin/env bash +if [ $# -lt 1 ]; then + echo 1>&2 "Please specify set id via argument" + exit 2 +fi + +Cardchaind tx cardchain add-card-to-set $1 12 --from jannik +Cardchaind tx cardchain add-card-to-set $1 13 --from jannik +Cardchaind tx cardchain add-card-to-set $1 14 --from jannik +Cardchaind tx cardchain add-card-to-set $1 15 --from jannik +Cardchaind tx cardchain add-card-to-set $1 16 --from jannik diff --git a/scripts/sets/card-rarity.sh b/scripts/sets/card-rarity.sh new file mode 100644 index 00000000..c01c423d --- /dev/null +++ b/scripts/sets/card-rarity.sh @@ -0,0 +1,11 @@ +#!/usr/bin/env bash +if [ $# -lt 1 ]; then + echo 1>&2 "Please specify set id via argument" + exit 2 +fi + +Cardchaind tx cardchain set-card-rarity 12 $1 common --from jannik +Cardchaind tx cardchain set-card-rarity 13 $1 common --from jannik +Cardchaind tx cardchain set-card-rarity 14 $1 common --from jannik +Cardchaind tx cardchain set-card-rarity 15 $1 uncommon --from jannik +Cardchaind tx cardchain set-card-rarity 16 $1 rare --from jannik \ No newline at end of file diff --git a/scripts/sets/create-set.sh b/scripts/sets/create-set.sh new file mode 100644 index 00000000..9abde880 --- /dev/null +++ b/scripts/sets/create-set.sh @@ -0,0 +1,3 @@ +#!/usr/bin/env bash + +Cardchaind tx cardchain create-set testset cc14km80077s0hch3sh38wh2hfk7kxfau4456r3ej cc14km80077s0hch3sh38wh2hfk7kxfau4456r3ej [] --from jannik \ No newline at end of file diff --git a/scripts/sets/finalize-set.sh b/scripts/sets/finalize-set.sh new file mode 100644 index 00000000..969af6ca --- /dev/null +++ b/scripts/sets/finalize-set.sh @@ -0,0 +1,12 @@ +#!/usr/bin/env bash +if [ $# -lt 1 ]; then + echo 1>&2 "Please specify set id via argument" + exit 2 +fi + +Cardchaind tx cardchain finalize-set $1 --from jannik --gas auto + +Cardchaind tx cardchain submit-set-proposal $1 10000000ubpf --from jannik --gas auto +#Cardchaind tx gov submit-legacy-proposal set-proposal + +Cardchaind q gov proposals \ No newline at end of file diff --git a/scripts/sets/story.sh b/scripts/sets/story.sh new file mode 100644 index 00000000..03091261 --- /dev/null +++ b/scripts/sets/story.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash +if [ $# -lt 1 ]; then + echo 1>&2 "Please specify set id via argument" + exit 2 +fi + +Cardchaind tx cardchain add-story-to-set $1 "Once upon a time a great set was created. It was the set of all sets that do not contain themselves. End of story." --from jannik \ No newline at end of file diff --git a/scripts/sets/vote.sh b/scripts/sets/vote.sh new file mode 100644 index 00000000..53b1f4bb --- /dev/null +++ b/scripts/sets/vote.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +if [ $# -lt 1 ]; then + echo 1>&2 "Please specify proposal id via argument" + exit 2 +fi + +echo "\033[0;36mvoting! (I hope jannik has staked ubpf)\033[0m" + +Cardchaind tx gov vote $1 yes --from jannik \ No newline at end of file diff --git a/scripts/test_council.sh b/scripts/tests/test_council.sh similarity index 100% rename from scripts/test_council.sh rename to scripts/tests/test_council.sh diff --git a/scripts/test_setup.sh b/scripts/tests/test_setup.sh similarity index 100% rename from scripts/test_setup.sh rename to scripts/tests/test_setup.sh diff --git a/scripts/validators/get_delegators.sh b/scripts/validators/get_delegators.sh new file mode 100644 index 00000000..c7f60b88 --- /dev/null +++ b/scripts/validators/get_delegators.sh @@ -0,0 +1,12 @@ +#!/usr/bin/env bash + +Cardchaind config output "JSON" + +echo "validator operators:" +Cardchaind q staking validators | jq -r '.validators[] | .operator_address' + +echo "delegators:" +Cardchaind q staking validators | jq -r '.validators[] | .operator_address' | while read object; do + Cardchaind query staking delegations-to "$object" | jq -r '.delegation_responses[].delegation.delegator_address' +done + diff --git a/syncnode.txt b/syncnode.txt new file mode 100644 index 00000000..f1ddc936 --- /dev/null +++ b/syncnode.txt @@ -0,0 +1 @@ +lxgr.xyz \ No newline at end of file diff --git a/testutil/keeper/cardchain.go b/testutil/keeper/cardchain.go index 35d9108c..974fa4b5 100644 --- a/testutil/keeper/cardchain.go +++ b/testutil/keeper/cardchain.go @@ -22,7 +22,7 @@ func CardchainKeeper(t testing.TB) (*keeper.Keeper, sdk.Context) { usersStoreKey := sdk.NewKVStoreKey(types.UsersStoreKey) cardsStoreKey := sdk.NewKVStoreKey(types.CardsStoreKey) matchesStoreKey := sdk.NewKVStoreKey(types.MatchesStoreKey) - collectionsStoreKey := sdk.NewKVStoreKey(types.CollectionsStoreKey) + setsStoreKey := sdk.NewKVStoreKey(types.SetsStoreKey) internalStoreKey := sdk.NewKVStoreKey(types.InternalStoreKey) sellOffersStoreKey := sdk.NewKVStoreKey(types.SellOffersStoreKey) poolsStoreKey := sdk.NewKVStoreKey(types.PoolsStoreKey) @@ -36,7 +36,7 @@ func CardchainKeeper(t testing.TB) (*keeper.Keeper, sdk.Context) { stateStore.MountStoreWithDB(usersStoreKey, sdk.StoreTypeIAVL, db) stateStore.MountStoreWithDB(cardsStoreKey, sdk.StoreTypeIAVL, db) stateStore.MountStoreWithDB(matchesStoreKey, sdk.StoreTypeIAVL, db) - stateStore.MountStoreWithDB(collectionsStoreKey, sdk.StoreTypeIAVL, db) + stateStore.MountStoreWithDB(setsStoreKey, sdk.StoreTypeIAVL, db) stateStore.MountStoreWithDB(internalStoreKey, sdk.StoreTypeIAVL, db) stateStore.MountStoreWithDB(sellOffersStoreKey, sdk.StoreTypeIAVL, db) stateStore.MountStoreWithDB(poolsStoreKey, sdk.StoreTypeIAVL, db) @@ -59,7 +59,7 @@ func CardchainKeeper(t testing.TB) (*keeper.Keeper, sdk.Context) { usersStoreKey, cardsStoreKey, matchesStoreKey, - collectionsStoreKey, + setsStoreKey, sellOffersStoreKey, poolsStoreKey, councilsStoreKey, diff --git a/testutil/keeper/featureflag.go b/testutil/keeper/featureflag.go new file mode 100644 index 00000000..f01def9e --- /dev/null +++ b/testutil/keeper/featureflag.go @@ -0,0 +1,52 @@ +package keeper + +import ( + "testing" + + "github.com/DecentralCardGame/Cardchain/x/featureflag/keeper" + "github.com/DecentralCardGame/Cardchain/x/featureflag/types" + "github.com/cosmos/cosmos-sdk/codec" + codectypes "github.com/cosmos/cosmos-sdk/codec/types" + "github.com/cosmos/cosmos-sdk/store" + storetypes "github.com/cosmos/cosmos-sdk/store/types" + sdk "github.com/cosmos/cosmos-sdk/types" + typesparams "github.com/cosmos/cosmos-sdk/x/params/types" + "github.com/stretchr/testify/require" + "github.com/tendermint/tendermint/libs/log" + tmproto "github.com/tendermint/tendermint/proto/tendermint/types" + tmdb "github.com/tendermint/tm-db" +) + +func FeatureflagKeeper(t testing.TB) (*keeper.Keeper, sdk.Context) { + storeKey := sdk.NewKVStoreKey(types.StoreKey) + memStoreKey := storetypes.NewMemoryStoreKey(types.MemStoreKey) + + db := tmdb.NewMemDB() + stateStore := store.NewCommitMultiStore(db) + stateStore.MountStoreWithDB(storeKey, storetypes.StoreTypeIAVL, db) + stateStore.MountStoreWithDB(memStoreKey, storetypes.StoreTypeMemory, nil) + require.NoError(t, stateStore.LoadLatestVersion()) + + registry := codectypes.NewInterfaceRegistry() + cdc := codec.NewProtoCodec(registry) + + paramsSubspace := typesparams.NewSubspace(cdc, + types.Amino, + storeKey, + memStoreKey, + "FeatureflagParams", + ) + k := keeper.NewKeeper( + cdc, + storeKey, + memStoreKey, + paramsSubspace, + ) + + ctx := sdk.NewContext(stateStore, tmproto.Header{}, false, log.NewNopLogger()) + + // Initialize params + k.SetParams(ctx, types.DefaultParams()) + + return k, ctx +} diff --git a/testutil/keeper/query.proto b/testutil/keeper/query.proto index 0b4952e6..681a6c58 100644 --- a/testutil/keeper/query.proto +++ b/testutil/keeper/query.proto @@ -10,7 +10,7 @@ import "cardchain/voting_results.proto"; import "cardchain/card.proto"; import "cardchain/user.proto"; import "cardchain/match.proto"; -import "cardchain/collection.proto"; +import "cardchain/set.proto"; import "cardchain/sell_offer.proto"; import "cardchain/council.proto"; import "cardchain/tx.proto"; @@ -65,9 +65,9 @@ service Query { option (google.api.http).get = "/DecentralCardGame/cardchain/cardchain/q_match/{matchId}"; } -// Queries a list of QCollection items. - rpc QCollection(QueryQCollectionRequest) returns (Collection) { - option (google.api.http).get = "/DecentralCardGame/cardchain/cardchain/q_collection/{collectionId}"; +// Queries a list of QSet items. + rpc QSet(QueryQSetRequest) returns (Set) { + option (google.api.http).get = "/DecentralCardGame/cardchain/cardchain/q_set/{setId}"; } // Queries a list of QSellOffer items. @@ -113,7 +113,7 @@ message QueryQCardchainInfoRequest { message QueryQCardchainInfoResponse { string cardAuctionPrice = 1 [(gogoproto.nullable) = false, (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Coin"];; - repeated uint64 activeCollections = 2; + repeated uint64 activeSets = 2; } message QueryQVotingResultsRequest { @@ -152,8 +152,8 @@ message QueryQMatchRequest { uint64 matchId = 1; } -message QueryQCollectionRequest { - uint64 collectionId = 1; +message QueryQSetRequest { + uint64 setId = 1; } message QueryQSellOfferRequest { diff --git a/x/cardchain/types/generic_type_keeper/generic_type_keeper.go b/types/generic_type_keeper/generic_type_keeper.go similarity index 92% rename from x/cardchain/types/generic_type_keeper/generic_type_keeper.go rename to types/generic_type_keeper/generic_type_keeper.go index bbc56e8d..fd73c35b 100644 --- a/x/cardchain/types/generic_type_keeper/generic_type_keeper.go +++ b/types/generic_type_keeper/generic_type_keeper.go @@ -4,6 +4,7 @@ import ( "fmt" "github.com/DecentralCardGame/Cardchain/x/cardchain/types" "github.com/cosmos/cosmos-sdk/codec" + storetypes "github.com/cosmos/cosmos-sdk/store/types" sdk "github.com/cosmos/cosmos-sdk/types" ) @@ -40,15 +41,15 @@ func GetEmpty[A any]() *A { } type GenericTypeKeeper[T codec.ProtoMarshaler] struct { - Key sdk.StoreKey - InternalKey sdk.StoreKey + Key storetypes.StoreKey + InternalKey storetypes.StoreKey cdc codec.BinaryCodec name string getEmpty func() T // This is needed because codec.ProtoMarshaler always refers to a pointer, but for cdc.Unmarshal to work the passed pointer can't be nil, but when initializing a pointer it's nil } // NewGTK Returns a new GenericTypeKeeper -func NewGTK[T codec.ProtoMarshaler](key sdk.StoreKey, internalKey sdk.StoreKey, cdc codec.BinaryCodec, getEmpty func() T) GenericTypeKeeper[T] { +func NewGTK[T codec.ProtoMarshaler](key storetypes.StoreKey, internalKey storetypes.StoreKey, cdc codec.BinaryCodec, getEmpty func() T) GenericTypeKeeper[T] { gtk := GenericTypeKeeper[T]{ Key: key, InternalKey: internalKey, diff --git a/x/cardchain/types/generic_type_keeper/keyworded_generic_type_keeper.go b/types/generic_type_keeper/keyworded_generic_type_keeper.go similarity index 85% rename from x/cardchain/types/generic_type_keeper/keyworded_generic_type_keeper.go rename to types/generic_type_keeper/keyworded_generic_type_keeper.go index 70217c26..2c0cf784 100644 --- a/x/cardchain/types/generic_type_keeper/keyworded_generic_type_keeper.go +++ b/types/generic_type_keeper/keyworded_generic_type_keeper.go @@ -1,9 +1,11 @@ package generic_type_keeper import ( + "slices" + "github.com/cosmos/cosmos-sdk/codec" + storetypes "github.com/cosmos/cosmos-sdk/store/types" sdk "github.com/cosmos/cosmos-sdk/types" - "golang.org/x/exp/slices" ) type KeywordedGenericTypeKeeper[T codec.ProtoMarshaler] struct { @@ -12,7 +14,7 @@ type KeywordedGenericTypeKeeper[T codec.ProtoMarshaler] struct { } // NewKGTK Returns a new KeywordedGenericTypeKeeper -func NewKGTK[T codec.ProtoMarshaler](key sdk.StoreKey, internalKey sdk.StoreKey, cdc codec.BinaryCodec, getEmpty func() T, keywords []string) KeywordedGenericTypeKeeper[T] { +func NewKGTK[T codec.ProtoMarshaler](key storetypes.StoreKey, internalKey storetypes.StoreKey, cdc codec.BinaryCodec, getEmpty func() T, keywords []string) KeywordedGenericTypeKeeper[T] { gtk := KeywordedGenericTypeKeeper[T]{ GenericTypeKeeper: NewGTK[T](key, internalKey, cdc, getEmpty), KeyWords: keywords, diff --git a/x/cardchain/client/cli/query.go b/x/cardchain/client/cli/query.go index 8f6104fe..83d1e366 100644 --- a/x/cardchain/client/cli/query.go +++ b/x/cardchain/client/cli/query.go @@ -41,7 +41,7 @@ func GetQueryCmd(queryRoute string) *cobra.Command { cmd.AddCommand(CmdQMatch()) - cmd.AddCommand(CmdQCollection()) + cmd.AddCommand(CmdQSet()) cmd.AddCommand(CmdQSellOffer()) @@ -53,7 +53,7 @@ func GetQueryCmd(queryRoute string) *cobra.Command { cmd.AddCommand(CmdQServer()) - cmd.AddCommand(CmdQCollections()) + cmd.AddCommand(CmdQSets()) cmd.AddCommand(CmdRarityDistribution()) diff --git a/x/cardchain/client/cli/query_q_cards.go b/x/cardchain/client/cli/query_q_cards.go index 143b3f14..69a1fba1 100644 --- a/x/cardchain/client/cli/query_q_cards.go +++ b/x/cardchain/client/cli/query_q_cards.go @@ -1,6 +1,7 @@ package cli import ( + "fmt" "strconv" "github.com/DecentralCardGame/Cardchain/x/cardchain/types" @@ -13,11 +14,12 @@ var _ = strconv.Itoa(0) func CmdQCards() *cobra.Command { cmd := &cobra.Command{ - Use: "q-cards [owner] [status] [card-type] [classes] [sort-by] [name-contains] [keywords-contains] [notes-contains]", + Use: "q-cards [owner] [status] [card-type] [classes] [sort-by] [name-contains] [keywords-contains] [notes-contains] [startercards-only]", Short: "Query qCards", - Args: cobra.ExactArgs(8), + Args: cobra.ExactArgs(9), RunE: func(cmd *cobra.Command, args []string) (err error) { reqOwner := args[0] + var reqOnlyStarterCard bool var reqStatus types.QueryQCardsRequest_Status if args[1] == "" { reqStatus = types.QueryQCardsRequest_none @@ -31,6 +33,15 @@ func CmdQCards() *cobra.Command { reqKeywordsContains := args[6] reqNotesContains := args[7] + switch args[8]{ + case "yes": + reqOnlyStarterCard = true + case "no": + reqOnlyStarterCard = false + default: + return fmt.Errorf("arg 'only-startercard' has to be either yes or no but not %s", args[8]) + } + clientCtx, err := client.GetClientTxContext(cmd) if err != nil { return err @@ -48,6 +59,7 @@ func CmdQCards() *cobra.Command { NameContains: reqNameContains, KeywordsContains: reqKeywordsContains, NotesContains: reqNotesContains, + OnlyStarterCard: reqOnlyStarterCard, } res, err := queryClient.QCards(cmd.Context(), params) diff --git a/x/cardchain/client/cli/query_q_collection.go b/x/cardchain/client/cli/query_q_set.go similarity index 69% rename from x/cardchain/client/cli/query_q_collection.go rename to x/cardchain/client/cli/query_q_set.go index 4fd368eb..a8d2145c 100644 --- a/x/cardchain/client/cli/query_q_collection.go +++ b/x/cardchain/client/cli/query_q_set.go @@ -12,13 +12,13 @@ import ( var _ = strconv.Itoa(0) -func CmdQCollection() *cobra.Command { +func CmdQSet() *cobra.Command { cmd := &cobra.Command{ - Use: "q-collection [collection-id]", - Short: "Query qCollection", + Use: "q-set [set-id]", + Short: "Query qSet", Args: cobra.ExactArgs(1), RunE: func(cmd *cobra.Command, args []string) (err error) { - reqCollectionId, err := cast.ToUint64E(args[0]) + reqSetId, err := cast.ToUint64E(args[0]) if err != nil { return err } @@ -30,12 +30,12 @@ func CmdQCollection() *cobra.Command { queryClient := types.NewQueryClient(clientCtx) - params := &types.QueryQCollectionRequest{ + params := &types.QueryQSetRequest{ - CollectionId: reqCollectionId, + SetId: reqSetId, } - res, err := queryClient.QCollection(cmd.Context(), params) + res, err := queryClient.QSet(cmd.Context(), params) if err != nil { return err } diff --git a/x/cardchain/client/cli/query_q_collections.go b/x/cardchain/client/cli/query_q_sets.go similarity index 54% rename from x/cardchain/client/cli/query_q_collections.go rename to x/cardchain/client/cli/query_q_sets.go index 5794858a..38427381 100644 --- a/x/cardchain/client/cli/query_q_collections.go +++ b/x/cardchain/client/cli/query_q_sets.go @@ -1,6 +1,8 @@ package cli import ( + "encoding/json" + "slices" "strconv" "github.com/DecentralCardGame/Cardchain/x/cardchain/types" @@ -11,23 +13,35 @@ import ( var _ = strconv.Itoa(0) -func CmdQCollections() *cobra.Command { +func CmdQSets() *cobra.Command { cmd := &cobra.Command{ - Use: "q-collections [status]", - Short: "Query q_collections", - Args: cobra.ExactArgs(1), + Use: "q-sets [status] [contributors] [contains-cards] [owner]", + Short: "Query q_sets", + Args: cobra.ExactArgs(4), RunE: func(cmd *cobra.Command, args []string) (err error) { var ( reqStatus types.CStatus ignoreStatus bool = false ) - if args[0] != "" { + if slices.Contains([]string{"\"\"", "''"}, args[0]) { reqStatus = types.CStatus(types.CStatus_value[args[0]]) } else { ignoreStatus = true } + var argContributors []string + err = json.Unmarshal([]byte(args[1]), &argContributors) + if err != nil { + return err + } + + var argContainsCards []uint64 + err = json.Unmarshal([]byte(args[2]), &argContainsCards) + if err != nil { + return err + } + clientCtx, err := client.GetClientTxContext(cmd) if err != nil { return err @@ -35,13 +49,16 @@ func CmdQCollections() *cobra.Command { queryClient := types.NewQueryClient(clientCtx) - params := &types.QueryQCollectionsRequest{ + params := &types.QueryQSetsRequest{ Status: reqStatus, IgnoreStatus: ignoreStatus, + Contributors: argContributors, + ContainsCards: argContainsCards, + Owner: args[3], } - res, err := queryClient.QCollections(cmd.Context(), params) + res, err := queryClient.QSets(cmd.Context(), params) if err != nil { return err } diff --git a/x/cardchain/client/cli/tx_submit_copyright_proposal.go b/x/cardchain/client/cli/submit_copyright_proposal.go similarity index 82% rename from x/cardchain/client/cli/tx_submit_copyright_proposal.go rename to x/cardchain/client/cli/submit_copyright_proposal.go index eec38ed1..c1a275de 100644 --- a/x/cardchain/client/cli/tx_submit_copyright_proposal.go +++ b/x/cardchain/client/cli/submit_copyright_proposal.go @@ -5,10 +5,9 @@ import ( "github.com/DecentralCardGame/Cardchain/x/cardchain/types" "github.com/cosmos/cosmos-sdk/client" - "github.com/cosmos/cosmos-sdk/client/flags" "github.com/cosmos/cosmos-sdk/client/tx" sdk "github.com/cosmos/cosmos-sdk/types" - govtypes "github.com/cosmos/cosmos-sdk/x/gov/types" + govtypes "github.com/cosmos/cosmos-sdk/x/gov/types/v1beta1" "github.com/spf13/cast" "github.com/spf13/cobra" ) @@ -17,8 +16,8 @@ var _ = strconv.Itoa(0) func CmdSubmitCopyrightProposal() *cobra.Command { cmd := &cobra.Command{ - Use: "submit-copyright-proposal [card-id] [deposit] [description] [link]", - Short: "Broadcast message SubmitCopyrightProposal", + Use: "copyright-proposal [card-id] [deposit] [description] [link]", + Short: "Propose CopyrightProposal", Args: cobra.ExactArgs(4), RunE: func(cmd *cobra.Command, args []string) (err error) { argCardId, err := cast.ToUint64E(args[0]) @@ -56,7 +55,5 @@ func CmdSubmitCopyrightProposal() *cobra.Command { }, } - flags.AddTxFlagsToCmd(cmd) - return cmd } diff --git a/x/cardchain/client/cli/tx_submit_match_reporter_proposal.go b/x/cardchain/client/cli/submit_match_reporter_proposal.go similarity index 82% rename from x/cardchain/client/cli/tx_submit_match_reporter_proposal.go rename to x/cardchain/client/cli/submit_match_reporter_proposal.go index d4ade685..f8c66c99 100644 --- a/x/cardchain/client/cli/tx_submit_match_reporter_proposal.go +++ b/x/cardchain/client/cli/submit_match_reporter_proposal.go @@ -5,10 +5,9 @@ import ( "github.com/DecentralCardGame/Cardchain/x/cardchain/types" "github.com/cosmos/cosmos-sdk/client" - "github.com/cosmos/cosmos-sdk/client/flags" "github.com/cosmos/cosmos-sdk/client/tx" sdk "github.com/cosmos/cosmos-sdk/types" - govtypes "github.com/cosmos/cosmos-sdk/x/gov/types" + govtypes "github.com/cosmos/cosmos-sdk/x/gov/types/v1beta1" "github.com/spf13/cobra" ) @@ -16,8 +15,8 @@ var _ = strconv.Itoa(0) func CmdSubmitMatchReporterProposal() *cobra.Command { cmd := &cobra.Command{ - Use: "submit-match-reporter-proposal [deposit] [description]", - Short: "Broadcast message SubmitMatchReporterProposal", + Use: "match-reporter-proposal [deposit] [description]", + Short: "Propose MatchReporterProposal", Args: cobra.ExactArgs(2), RunE: func(cmd *cobra.Command, args []string) (err error) { argDeposit := args[0] @@ -51,7 +50,5 @@ func CmdSubmitMatchReporterProposal() *cobra.Command { }, } - flags.AddTxFlagsToCmd(cmd) - return cmd } diff --git a/x/cardchain/client/cli/tx_submit_collection_proposal.go b/x/cardchain/client/cli/submit_set_proposal.go similarity index 60% rename from x/cardchain/client/cli/tx_submit_collection_proposal.go rename to x/cardchain/client/cli/submit_set_proposal.go index 4b105d59..0c960969 100644 --- a/x/cardchain/client/cli/tx_submit_collection_proposal.go +++ b/x/cardchain/client/cli/submit_set_proposal.go @@ -5,23 +5,22 @@ import ( "github.com/DecentralCardGame/Cardchain/x/cardchain/types" "github.com/cosmos/cosmos-sdk/client" - "github.com/cosmos/cosmos-sdk/client/flags" "github.com/cosmos/cosmos-sdk/client/tx" sdk "github.com/cosmos/cosmos-sdk/types" - govtypes "github.com/cosmos/cosmos-sdk/x/gov/types" + govtypes "github.com/cosmos/cosmos-sdk/x/gov/types/v1beta1" "github.com/spf13/cast" "github.com/spf13/cobra" ) var _ = strconv.Itoa(0) -func CmdSubmitCollectionProposal() *cobra.Command { +func CmdSubmitSetProposal() *cobra.Command { cmd := &cobra.Command{ - Use: "submit-collection-proposal [collection-id] [deposit]", - Short: "Broadcast message SubmitCollectionProposal", + Use: "set-proposal [set-id] [deposit]", + Short: "Propose SetProposal", Args: cobra.ExactArgs(2), RunE: func(cmd *cobra.Command, args []string) (err error) { - argCollectionId, err := cast.ToUint64E(args[0]) + argSetId, err := cast.ToUint64E(args[0]) if err != nil { return err } @@ -33,10 +32,10 @@ func CmdSubmitCollectionProposal() *cobra.Command { } from := clientCtx.GetFromAddress() - proposal := types.CollectionProposal{ - Title: "Request to activate the collection `" + args[0] + "`", - Description: "See `" + args[0] + "` for more information on the collection.", - CollectionId: argCollectionId, + proposal := types.SetProposal{ + Title: "Request to activate the set `" + args[0] + "`", + Description: "See `" + args[0] + "` for more information on the set.", + SetId: argSetId, } deposit, err := sdk.ParseCoinsNormalized(argDeposit) @@ -53,7 +52,5 @@ func CmdSubmitCollectionProposal() *cobra.Command { }, } - flags.AddTxFlagsToCmd(cmd) - return cmd } diff --git a/x/cardchain/client/cli/tx.go b/x/cardchain/client/cli/tx.go index 798381da..3e3f4cff 100644 --- a/x/cardchain/client/cli/tx.go +++ b/x/cardchain/client/cli/tx.go @@ -6,8 +6,8 @@ import ( "github.com/spf13/cobra" - "github.com/cosmos/cosmos-sdk/client" "github.com/DecentralCardGame/Cardchain/x/cardchain/types" + "github.com/cosmos/cosmos-sdk/client" ) var ( @@ -36,25 +36,22 @@ func GetTxCmd() *cobra.Command { cmd.AddCommand(CmdTransferCard()) cmd.AddCommand(CmdDonateToCard()) cmd.AddCommand(CmdAddArtwork()) - cmd.AddCommand(CmdSubmitCopyrightProposal()) cmd.AddCommand(CmdChangeArtist()) cmd.AddCommand(CmdRegisterForCouncil()) cmd.AddCommand(CmdReportMatch()) - cmd.AddCommand(CmdSubmitMatchReporterProposal()) cmd.AddCommand(CmdApointMatchReporter()) - cmd.AddCommand(CmdCreateCollection()) - cmd.AddCommand(CmdAddCardToCollection()) - cmd.AddCommand(CmdFinalizeCollection()) - cmd.AddCommand(CmdBuyCollection()) - cmd.AddCommand(CmdRemoveCardFromCollection()) - cmd.AddCommand(CmdRemoveContributorFromCollection()) - cmd.AddCommand(CmdAddContributorToCollection()) - cmd.AddCommand(CmdSubmitCollectionProposal()) + cmd.AddCommand(CmdCreateSet()) + cmd.AddCommand(CmdAddCardToSet()) + cmd.AddCommand(CmdFinalizeSet()) + cmd.AddCommand(CmdBuyBoosterPack()) + cmd.AddCommand(CmdRemoveCardFromSet()) + cmd.AddCommand(CmdRemoveContributorFromSet()) + cmd.AddCommand(CmdAddContributorToSet()) cmd.AddCommand(CmdCreateSellOffer()) cmd.AddCommand(CmdBuyCard()) cmd.AddCommand(CmdRemoveSellOffer()) - cmd.AddCommand(CmdAddArtworkToCollection()) - cmd.AddCommand(CmdAddStoryToCollection()) + cmd.AddCommand(CmdAddArtworkToSet()) + cmd.AddCommand(CmdAddStoryToSet()) cmd.AddCommand(CmdSetCardRarity()) cmd.AddCommand(CmdCreateCouncil()) cmd.AddCommand(CmdCommitCouncilResponse()) @@ -65,10 +62,13 @@ func GetTxCmd() *cobra.Command { cmd.AddCommand(CmdSetProfileCard()) cmd.AddCommand(CmdOpenBoosterPack()) cmd.AddCommand(CmdTransferBoosterPack()) - cmd.AddCommand(CmdSetCollectionStoryWriter()) - cmd.AddCommand(CmdSetCollectionArtist()) + cmd.AddCommand(CmdSetSetStoryWriter()) + cmd.AddCommand(CmdSetSetArtist()) cmd.AddCommand(CmdSetUserWebsite()) cmd.AddCommand(CmdSetUserBiography()) + cmd.AddCommand(CmdMultiVoteCard()) + cmd.AddCommand(CmdMsgOpenMatch()) + cmd.AddCommand(CmdSetSetName()) // this line is used by starport scaffolding # 1 return cmd diff --git a/x/cardchain/client/cli/tx_add_artwork_to_collection.go b/x/cardchain/client/cli/tx_add_artwork_to_set.go similarity index 72% rename from x/cardchain/client/cli/tx_add_artwork_to_collection.go rename to x/cardchain/client/cli/tx_add_artwork_to_set.go index fca2c8cb..acad7158 100644 --- a/x/cardchain/client/cli/tx_add_artwork_to_collection.go +++ b/x/cardchain/client/cli/tx_add_artwork_to_set.go @@ -13,13 +13,13 @@ import ( var _ = strconv.Itoa(0) -func CmdAddArtworkToCollection() *cobra.Command { +func CmdAddArtworkToSet() *cobra.Command { cmd := &cobra.Command{ - Use: "add-artwork-to-collection [image]", - Short: "Broadcast message AddArtworkToCollection", - Args: cobra.ExactArgs(1), + Use: "add-artwork-to-set [set-id] [image]", + Short: "Broadcast message AddArtworkToSet", + Args: cobra.ExactArgs(2), RunE: func(cmd *cobra.Command, args []string) (err error) { - argCollectionId, err := cast.ToUint64E(args[0]) + argSetId, err := cast.ToUint64E(args[0]) if err != nil { return err } @@ -30,9 +30,9 @@ func CmdAddArtworkToCollection() *cobra.Command { return err } - msg := types.NewMsgAddArtworkToCollection( + msg := types.NewMsgAddArtworkToSet( clientCtx.GetFromAddress().String(), - argCollectionId, + argSetId, argImage, ) if err := msg.ValidateBasic(); err != nil { diff --git a/x/cardchain/client/cli/tx_add_card_to_collection.go b/x/cardchain/client/cli/tx_add_card_to_set.go similarity index 76% rename from x/cardchain/client/cli/tx_add_card_to_collection.go rename to x/cardchain/client/cli/tx_add_card_to_set.go index 89271f7e..b1456268 100644 --- a/x/cardchain/client/cli/tx_add_card_to_collection.go +++ b/x/cardchain/client/cli/tx_add_card_to_set.go @@ -13,13 +13,13 @@ import ( var _ = strconv.Itoa(0) -func CmdAddCardToCollection() *cobra.Command { +func CmdAddCardToSet() *cobra.Command { cmd := &cobra.Command{ - Use: "add-card-to-collection [collection-id] [card-id]", - Short: "Broadcast message addCardToCollection", + Use: "add-card-to-set [set-id] [card-id]", + Short: "Broadcast message addCardToSet", Args: cobra.ExactArgs(2), RunE: func(cmd *cobra.Command, args []string) (err error) { - argCollectionId, err := cast.ToUint64E(args[0]) + argSetId, err := cast.ToUint64E(args[0]) if err != nil { return err } @@ -33,9 +33,9 @@ func CmdAddCardToCollection() *cobra.Command { return err } - msg := types.NewMsgAddCardToCollection( + msg := types.NewMsgAddCardToSet( clientCtx.GetFromAddress().String(), - argCollectionId, + argSetId, argCardId, ) if err := msg.ValidateBasic(); err != nil { diff --git a/x/cardchain/client/cli/tx_add_contributor_to_collection.go b/x/cardchain/client/cli/tx_add_contributor_to_set.go similarity index 73% rename from x/cardchain/client/cli/tx_add_contributor_to_collection.go rename to x/cardchain/client/cli/tx_add_contributor_to_set.go index 6ef13163..b00013e5 100644 --- a/x/cardchain/client/cli/tx_add_contributor_to_collection.go +++ b/x/cardchain/client/cli/tx_add_contributor_to_set.go @@ -13,13 +13,13 @@ import ( var _ = strconv.Itoa(0) -func CmdAddContributorToCollection() *cobra.Command { +func CmdAddContributorToSet() *cobra.Command { cmd := &cobra.Command{ - Use: "add-contributor-to-collection [collection-id] [user]", - Short: "Broadcast message AddContributorToCollection", + Use: "add-contributor-to-set [set-id] [user]", + Short: "Broadcast message AddContributorToSet", Args: cobra.ExactArgs(2), RunE: func(cmd *cobra.Command, args []string) (err error) { - argCollectionId, err := cast.ToUint64E(args[0]) + argSetId, err := cast.ToUint64E(args[0]) if err != nil { return err } @@ -30,9 +30,9 @@ func CmdAddContributorToCollection() *cobra.Command { return err } - msg := types.NewMsgAddContributorToCollection( + msg := types.NewMsgAddContributorToSet( clientCtx.GetFromAddress().String(), - argCollectionId, + argSetId, argUser, ) if err := msg.ValidateBasic(); err != nil { diff --git a/x/cardchain/client/cli/tx_add_story_to_collection.go b/x/cardchain/client/cli/tx_add_story_to_set.go similarity index 74% rename from x/cardchain/client/cli/tx_add_story_to_collection.go rename to x/cardchain/client/cli/tx_add_story_to_set.go index 9db504ad..9bc0d979 100644 --- a/x/cardchain/client/cli/tx_add_story_to_collection.go +++ b/x/cardchain/client/cli/tx_add_story_to_set.go @@ -13,13 +13,13 @@ import ( var _ = strconv.Itoa(0) -func CmdAddStoryToCollection() *cobra.Command { +func CmdAddStoryToSet() *cobra.Command { cmd := &cobra.Command{ - Use: "add-story-to-collection [collection-id] [story]", - Short: "Broadcast message AddStoryToCollection", + Use: "add-story-to-set [set-id] [story]", + Short: "Broadcast message AddStoryToSet", Args: cobra.ExactArgs(2), RunE: func(cmd *cobra.Command, args []string) (err error) { - argCollectionId, err := cast.ToUint64E(args[0]) + argSetId, err := cast.ToUint64E(args[0]) if err != nil { return err } @@ -30,9 +30,9 @@ func CmdAddStoryToCollection() *cobra.Command { return err } - msg := types.NewMsgAddStoryToCollection( + msg := types.NewMsgAddStoryToSet( clientCtx.GetFromAddress().String(), - argCollectionId, + argSetId, argStory, ) if err := msg.ValidateBasic(); err != nil { diff --git a/x/cardchain/client/cli/tx_buy_card_scheme.go b/x/cardchain/client/cli/tx_buy_card_scheme.go index 030c2829..dc98081a 100644 --- a/x/cardchain/client/cli/tx_buy_card_scheme.go +++ b/x/cardchain/client/cli/tx_buy_card_scheme.go @@ -31,7 +31,7 @@ func CmdBuyCardScheme() *cobra.Command { msg := types.NewMsgBuyCardScheme( clientCtx.GetFromAddress().String(), - argBid.String(), + argBid, ) if err := msg.ValidateBasic(); err != nil { return err diff --git a/x/cardchain/client/cli/tx_buy_collection.go b/x/cardchain/client/cli/tx_buy_set.go similarity index 76% rename from x/cardchain/client/cli/tx_buy_collection.go rename to x/cardchain/client/cli/tx_buy_set.go index b1b377d0..b6657db4 100644 --- a/x/cardchain/client/cli/tx_buy_collection.go +++ b/x/cardchain/client/cli/tx_buy_set.go @@ -13,14 +13,14 @@ import ( var _ = strconv.Itoa(0) -func CmdBuyCollection() *cobra.Command { +func CmdBuyBoosterPack() *cobra.Command { cmd := &cobra.Command{ - Use: "buy-collection [collection-id]", - Short: "Broadcast message BuyCollection", + Use: "buy-booster-pack [set-id]", + Short: "Broadcast message BuyBoosterPack", Args: cobra.ExactArgs(1), RunE: func(cmd *cobra.Command, args []string) (err error) { - argCollectionId, err := cast.ToUint64E(args[0]) + argSetId, err := cast.ToUint64E(args[0]) if err != nil { return err } @@ -30,9 +30,9 @@ func CmdBuyCollection() *cobra.Command { return err } - msg := types.NewMsgBuyCollection( + msg := types.NewMsgBuyBoosterPack( clientCtx.GetFromAddress().String(), - argCollectionId, + argSetId, ) if err := msg.ValidateBasic(); err != nil { return err diff --git a/x/cardchain/client/cli/tx_create_collection.go b/x/cardchain/client/cli/tx_create_set.go similarity index 82% rename from x/cardchain/client/cli/tx_create_collection.go rename to x/cardchain/client/cli/tx_create_set.go index 66e9d0e0..f44c7ff9 100644 --- a/x/cardchain/client/cli/tx_create_collection.go +++ b/x/cardchain/client/cli/tx_create_set.go @@ -13,10 +13,10 @@ import ( var _ = strconv.Itoa(0) -func CmdCreateCollection() *cobra.Command { +func CmdCreateSet() *cobra.Command { cmd := &cobra.Command{ - Use: "create-collection [name] [artist] [story-writer] [contributors]", - Short: "Broadcast message createCollection", + Use: "create-set [name] [artist] [story-writer] [contributors]", + Short: "Broadcast message createSet", Args: cobra.ExactArgs(4), RunE: func(cmd *cobra.Command, args []string) (err error) { argName := args[0] @@ -34,11 +34,11 @@ func CmdCreateCollection() *cobra.Command { return err } - msg := types.NewMsgCreateCollection( + msg := types.NewMsgCreateSet( clientCtx.GetFromAddress().String(), + argName, argArtist, argStoryWriter, - argName, argContributors, ) if err := msg.ValidateBasic(); err != nil { diff --git a/x/cardchain/client/cli/tx_finalize_collection.go b/x/cardchain/client/cli/tx_finalize_set.go similarity index 75% rename from x/cardchain/client/cli/tx_finalize_collection.go rename to x/cardchain/client/cli/tx_finalize_set.go index b584cd43..5e6e33b7 100644 --- a/x/cardchain/client/cli/tx_finalize_collection.go +++ b/x/cardchain/client/cli/tx_finalize_set.go @@ -13,13 +13,13 @@ import ( var _ = strconv.Itoa(0) -func CmdFinalizeCollection() *cobra.Command { +func CmdFinalizeSet() *cobra.Command { cmd := &cobra.Command{ - Use: "finalize-collection [collection-id]", - Short: "Broadcast message FinalizeCollection", + Use: "finalize-set [set-id]", + Short: "Broadcast message FinalizeSet", Args: cobra.ExactArgs(1), RunE: func(cmd *cobra.Command, args []string) (err error) { - argCollectionId, err := cast.ToUint64E(args[0]) + argSetId, err := cast.ToUint64E(args[0]) if err != nil { return err } @@ -29,9 +29,9 @@ func CmdFinalizeCollection() *cobra.Command { return err } - msg := types.NewMsgFinalizeCollection( + msg := types.NewMsgFinalizeSet( clientCtx.GetFromAddress().String(), - argCollectionId, + argSetId, ) if err := msg.ValidateBasic(); err != nil { return err diff --git a/x/cardchain/client/cli/tx_msg_open_match.go b/x/cardchain/client/cli/tx_msg_open_match.go new file mode 100644 index 00000000..c14747d6 --- /dev/null +++ b/x/cardchain/client/cli/tx_msg_open_match.go @@ -0,0 +1,56 @@ +package cli + +import ( + "encoding/json" + "strconv" + + "github.com/DecentralCardGame/Cardchain/x/cardchain/types" + "github.com/cosmos/cosmos-sdk/client" + "github.com/cosmos/cosmos-sdk/client/flags" + "github.com/cosmos/cosmos-sdk/client/tx" + "github.com/spf13/cobra" +) + +var _ = strconv.Itoa(0) + +func CmdMsgOpenMatch() *cobra.Command { + cmd := &cobra.Command{ + Use: "open-match [player-a] [player-b] [player-a-deck] [player-b-deck]", + Short: "Broadcast message OpenMatch", + Args: cobra.ExactArgs(4), + RunE: func(cmd *cobra.Command, args []string) (err error) { + + clientCtx, err := client.GetClientTxContext(cmd) + if err != nil { + return err + } + + var argPlayerADeck []uint64 + var argPlayerBDeck []uint64 + err = json.Unmarshal([]byte(args[2]), &argPlayerADeck) + if err != nil { + return err + } + err = json.Unmarshal([]byte(args[3]), &argPlayerBDeck) + if err != nil { + return err + } + + msg := types.NewMsgOpenMatch( + clientCtx.GetFromAddress().String(), + args[0], + args[1], + argPlayerADeck, + argPlayerBDeck, + ) + if err := msg.ValidateBasic(); err != nil { + return err + } + return tx.GenerateOrBroadcastTxCLI(clientCtx, cmd.Flags(), msg) + }, + } + + flags.AddTxFlagsToCmd(cmd) + + return cmd +} diff --git a/x/cardchain/client/cli/tx_multi_vote_card.go b/x/cardchain/client/cli/tx_multi_vote_card.go new file mode 100644 index 00000000..3b47bc83 --- /dev/null +++ b/x/cardchain/client/cli/tx_multi_vote_card.go @@ -0,0 +1,40 @@ +package cli + +import ( + "strconv" + + "github.com/DecentralCardGame/Cardchain/x/cardchain/types" + "github.com/cosmos/cosmos-sdk/client" + "github.com/cosmos/cosmos-sdk/client/flags" + "github.com/cosmos/cosmos-sdk/client/tx" + "github.com/spf13/cobra" +) + +var _ = strconv.Itoa(0) + +func CmdMultiVoteCard() *cobra.Command { + cmd := &cobra.Command{ + Use: "multi-vote-card", + Short: "Broadcast message MultiVoteCard", + Args: cobra.ExactArgs(0), + RunE: func(cmd *cobra.Command, args []string) (err error) { + + clientCtx, err := client.GetClientTxContext(cmd) + if err != nil { + return err + } + + msg := types.NewMsgMultiVoteCard( + clientCtx.GetFromAddress().String(), + ) + if err := msg.ValidateBasic(); err != nil { + return err + } + return tx.GenerateOrBroadcastTxCLI(clientCtx, cmd.Flags(), msg) + }, + } + + flags.AddTxFlagsToCmd(cmd) + + return cmd +} diff --git a/x/cardchain/client/cli/tx_remove_card_from_collection.go b/x/cardchain/client/cli/tx_remove_card_from_set.go similarity index 74% rename from x/cardchain/client/cli/tx_remove_card_from_collection.go rename to x/cardchain/client/cli/tx_remove_card_from_set.go index ba698322..c782ef11 100644 --- a/x/cardchain/client/cli/tx_remove_card_from_collection.go +++ b/x/cardchain/client/cli/tx_remove_card_from_set.go @@ -13,13 +13,13 @@ import ( var _ = strconv.Itoa(0) -func CmdRemoveCardFromCollection() *cobra.Command { +func CmdRemoveCardFromSet() *cobra.Command { cmd := &cobra.Command{ - Use: "remove-card-from-collection [collection-id] [card-id]", - Short: "Broadcast message RemoveCardFromCollection", + Use: "remove-card-from-set [set-id] [card-id]", + Short: "Broadcast message RemoveCardFromSet", Args: cobra.ExactArgs(2), RunE: func(cmd *cobra.Command, args []string) (err error) { - argCollectionId, err := cast.ToUint64E(args[0]) + argSetId, err := cast.ToUint64E(args[0]) if err != nil { return err } @@ -33,9 +33,9 @@ func CmdRemoveCardFromCollection() *cobra.Command { return err } - msg := types.NewMsgRemoveCardFromCollection( + msg := types.NewMsgRemoveCardFromSet( clientCtx.GetFromAddress().String(), - argCollectionId, + argSetId, argCardId, ) if err := msg.ValidateBasic(); err != nil { diff --git a/x/cardchain/client/cli/tx_remove_contributor_from_collection.go b/x/cardchain/client/cli/tx_remove_contributor_from_set.go similarity index 71% rename from x/cardchain/client/cli/tx_remove_contributor_from_collection.go rename to x/cardchain/client/cli/tx_remove_contributor_from_set.go index 6067ab53..028371ea 100644 --- a/x/cardchain/client/cli/tx_remove_contributor_from_collection.go +++ b/x/cardchain/client/cli/tx_remove_contributor_from_set.go @@ -13,13 +13,13 @@ import ( var _ = strconv.Itoa(0) -func CmdRemoveContributorFromCollection() *cobra.Command { +func CmdRemoveContributorFromSet() *cobra.Command { cmd := &cobra.Command{ - Use: "remove-contributor-from-collection [collection-id] [user]", - Short: "Broadcast message RemoveContributorFromCollection", + Use: "remove-contributor-from-set [set-id] [user]", + Short: "Broadcast message RemoveContributorFromSet", Args: cobra.ExactArgs(2), RunE: func(cmd *cobra.Command, args []string) (err error) { - argCollectionId, err := cast.ToUint64E(args[0]) + argSetId, err := cast.ToUint64E(args[0]) if err != nil { return err } @@ -30,9 +30,9 @@ func CmdRemoveContributorFromCollection() *cobra.Command { return err } - msg := types.NewMsgRemoveContributorFromCollection( + msg := types.NewMsgRemoveContributorFromSet( clientCtx.GetFromAddress().String(), - argCollectionId, + argSetId, argUser, ) if err := msg.ValidateBasic(); err != nil { diff --git a/x/cardchain/client/cli/tx_report_match.go b/x/cardchain/client/cli/tx_report_match.go index 4bf7b047..69599a29 100644 --- a/x/cardchain/client/cli/tx_report_match.go +++ b/x/cardchain/client/cli/tx_report_match.go @@ -15,20 +15,23 @@ var _ = strconv.Itoa(0) func CmdReportMatch() *cobra.Command { cmd := &cobra.Command{ - Use: "report-match [player-a] [player-b] [cards-a] [cards-b] [outcome]", + Use: "report-match [match-id] [cards-a] [cards-b] [outcome]", Short: "Broadcast message ReportMatch", - Args: cobra.ExactArgs(5), + Args: cobra.ExactArgs(4), RunE: func(cmd *cobra.Command, args []string) (err error) { - argPlayerA := args[0] - argPlayerB := args[1] + argMatchId, err := strconv.Atoi(args[0]) + if err != nil { + return err + } + var argCardsA []uint64 var argCardsB []uint64 - err = json.Unmarshal([]byte(args[2]), &argCardsA) + err = json.Unmarshal([]byte(args[1]), &argCardsA) if err != nil { return err } - err = json.Unmarshal([]byte(args[3]), &argCardsB) + err = json.Unmarshal([]byte(args[2]), &argCardsB) if err != nil { return err } @@ -42,8 +45,7 @@ func CmdReportMatch() *cobra.Command { msg := types.NewMsgReportMatch( clientCtx.GetFromAddress().String(), - argPlayerA, - argPlayerB, + uint64(argMatchId), argCardsA, argCardsB, argOutcome, diff --git a/x/cardchain/client/cli/tx_set_card_rarity.go b/x/cardchain/client/cli/tx_set_card_rarity.go index 1293d310..40244118 100644 --- a/x/cardchain/client/cli/tx_set_card_rarity.go +++ b/x/cardchain/client/cli/tx_set_card_rarity.go @@ -1,6 +1,7 @@ package cli import ( + "fmt" "strconv" "github.com/DecentralCardGame/Cardchain/x/cardchain/types" @@ -9,13 +10,14 @@ import ( "github.com/cosmos/cosmos-sdk/client/tx" "github.com/spf13/cast" "github.com/spf13/cobra" + "golang.org/x/exp/maps" ) var _ = strconv.Itoa(0) func CmdSetCardRarity() *cobra.Command { cmd := &cobra.Command{ - Use: "set-card-rarity [card-id] [collection-id] [rarity]", + Use: "set-card-rarity [card-id] [set-id] [rarity]", Short: "Broadcast message SetCardRarity", Args: cobra.ExactArgs(3), RunE: func(cmd *cobra.Command, args []string) (err error) { @@ -23,11 +25,16 @@ func CmdSetCardRarity() *cobra.Command { if err != nil { return err } - argCollectionId, err := cast.ToUint64E(args[1]) + argSetId, err := cast.ToUint64E(args[1]) if err != nil { return err } - argRarity := args[2] + rar, found := types.CardRarity_value[args[2]] + if !found { + return fmt.Errorf("rarity has to be in %s", maps.Keys(types.CardRarity_value)) + } + + argRarity := types.CardRarity(rar) clientCtx, err := client.GetClientTxContext(cmd) if err != nil { @@ -37,7 +44,7 @@ func CmdSetCardRarity() *cobra.Command { msg := types.NewMsgSetCardRarity( clientCtx.GetFromAddress().String(), argCardId, - argCollectionId, + argSetId, argRarity, ) if err := msg.ValidateBasic(); err != nil { diff --git a/x/cardchain/client/cli/tx_set_collection_artist.go b/x/cardchain/client/cli/tx_set_set_artist.go similarity index 75% rename from x/cardchain/client/cli/tx_set_collection_artist.go rename to x/cardchain/client/cli/tx_set_set_artist.go index e74ec95d..c38d6be3 100644 --- a/x/cardchain/client/cli/tx_set_collection_artist.go +++ b/x/cardchain/client/cli/tx_set_set_artist.go @@ -13,13 +13,13 @@ import ( var _ = strconv.Itoa(0) -func CmdSetCollectionArtist() *cobra.Command { +func CmdSetSetArtist() *cobra.Command { cmd := &cobra.Command{ - Use: "set-collection-artist [collection-id] [artist]", - Short: "Broadcast message setCollectionArtist", + Use: "set-set-artist [set-id] [artist]", + Short: "Broadcast message setSetArtist", Args: cobra.ExactArgs(2), RunE: func(cmd *cobra.Command, args []string) (err error) { - argCollectionId, err := cast.ToUint64E(args[0]) + argSetId, err := cast.ToUint64E(args[0]) if err != nil { return err } @@ -30,9 +30,9 @@ func CmdSetCollectionArtist() *cobra.Command { return err } - msg := types.NewMsgSetCollectionArtist( + msg := types.NewMsgSetSetArtist( clientCtx.GetFromAddress().String(), - argCollectionId, + argSetId, argArtist, ) if err := msg.ValidateBasic(); err != nil { diff --git a/x/cardchain/client/cli/tx_set_set_name.go b/x/cardchain/client/cli/tx_set_set_name.go new file mode 100644 index 00000000..bcaa953b --- /dev/null +++ b/x/cardchain/client/cli/tx_set_set_name.go @@ -0,0 +1,48 @@ +package cli + +import ( + "strconv" + + "github.com/DecentralCardGame/Cardchain/x/cardchain/types" + "github.com/cosmos/cosmos-sdk/client" + "github.com/cosmos/cosmos-sdk/client/flags" + "github.com/cosmos/cosmos-sdk/client/tx" + "github.com/spf13/cast" + "github.com/spf13/cobra" +) + +var _ = strconv.Itoa(0) + +func CmdSetSetName() *cobra.Command { + cmd := &cobra.Command{ + Use: "set-set-name [set-id] [name]", + Short: "Broadcast message SetSetName", + Args: cobra.ExactArgs(2), + RunE: func(cmd *cobra.Command, args []string) (err error) { + argSetId, err := cast.ToUint64E(args[0]) + if err != nil { + return err + } + argName := args[1] + + clientCtx, err := client.GetClientTxContext(cmd) + if err != nil { + return err + } + + msg := types.NewMsgSetSetName( + clientCtx.GetFromAddress().String(), + argSetId, + argName, + ) + if err := msg.ValidateBasic(); err != nil { + return err + } + return tx.GenerateOrBroadcastTxCLI(clientCtx, cmd.Flags(), msg) + }, + } + + flags.AddTxFlagsToCmd(cmd) + + return cmd +} diff --git a/x/cardchain/client/cli/tx_set_collection_story_writer.go b/x/cardchain/client/cli/tx_set_set_story_writer.go similarity index 73% rename from x/cardchain/client/cli/tx_set_collection_story_writer.go rename to x/cardchain/client/cli/tx_set_set_story_writer.go index c2b80eee..c71a2cfd 100644 --- a/x/cardchain/client/cli/tx_set_collection_story_writer.go +++ b/x/cardchain/client/cli/tx_set_set_story_writer.go @@ -13,13 +13,13 @@ import ( var _ = strconv.Itoa(0) -func CmdSetCollectionStoryWriter() *cobra.Command { +func CmdSetSetStoryWriter() *cobra.Command { cmd := &cobra.Command{ - Use: "set-collection-story-writer [collection-id]", - Short: "Broadcast message setCollectionStoryWriter", + Use: "set-set-story-writer [set-id]", + Short: "Broadcast message setSetStoryWriter", Args: cobra.ExactArgs(2), RunE: func(cmd *cobra.Command, args []string) (err error) { - argCollectionId, err := cast.ToUint64E(args[0]) + argSetId, err := cast.ToUint64E(args[0]) if err != nil { return err } @@ -29,9 +29,9 @@ func CmdSetCollectionStoryWriter() *cobra.Command { return err } - msg := types.NewMsgSetCollectionStoryWriter( + msg := types.NewMsgSetSetStoryWriter( clientCtx.GetFromAddress().String(), - argCollectionId, + argSetId, args[1], ) if err := msg.ValidateBasic(); err != nil { diff --git a/x/cardchain/client/proposal_handler.go b/x/cardchain/client/proposal_handler.go new file mode 100644 index 00000000..df3e24c8 --- /dev/null +++ b/x/cardchain/client/proposal_handler.go @@ -0,0 +1,11 @@ +package client + +import ( + "github.com/DecentralCardGame/Cardchain/x/cardchain/client/cli" + govclient "github.com/cosmos/cosmos-sdk/x/gov/client" +) + +// ProposalHandler is the param change proposal handler. +var CopyrightProposalHandler = govclient.NewProposalHandler(cli.CmdSubmitCopyrightProposal) +var MatchReporterProposalHandler = govclient.NewProposalHandler(cli.CmdSubmitMatchReporterProposal) +var SetProposalHandler = govclient.NewProposalHandler(cli.CmdSubmitSetProposal) diff --git a/x/cardchain/genesis.go b/x/cardchain/genesis.go index 18be01c1..7516665f 100644 --- a/x/cardchain/genesis.go +++ b/x/cardchain/genesis.go @@ -23,8 +23,8 @@ func InitGenesis(ctx sdk.Context, k keeper.Keeper, genState types.GenesisState) for id, council := range genState.Councils { k.Councils.Set(ctx, uint64(id), council) } - for id, collection := range genState.Collections { - k.Collections.Set(ctx, uint64(id), collection) + for id, set := range genState.Sets { + k.Sets.Set(ctx, uint64(id), set) } for id, sellOffer := range genState.SellOffers { k.SellOffers.Set(ctx, uint64(id), sellOffer) @@ -44,6 +44,9 @@ func InitGenesis(ctx sdk.Context, k keeper.Keeper, genState types.GenesisState) if genState.CardAuctionPrice.Denom != "" { k.SetCardAuctionPrice(ctx, genState.CardAuctionPrice) } + if genState.LastCardModified != nil { + k.SetLastCardModified(ctx, *genState.LastCardModified) + } k.Logger(ctx).Info("reading cards with id:") for currId, record := range genState.CardRecords { _, err := keywords.Unmarshal(record.Content) @@ -59,6 +62,9 @@ func InitGenesis(ctx sdk.Context, k keeper.Keeper, genState types.GenesisState) genState.Params.AirDropValue = defaultParams.AirDropValue genState.Params.AirDropMaxBlockHeight = defaultParams.AirDropMaxBlockHeight } + if genState.Params.MatchWorkerDelay == 0 { + genState.Params.MatchWorkerDelay = types.DefaultMatchWorkerDelay + } k.SetParams(ctx, genState.Params) } @@ -68,13 +74,14 @@ func ExportGenesis(ctx sdk.Context, k keeper.Keeper) *types.GenesisState { params := k.GetParams(ctx) // params := types.DefaultParams() cardAuctionPrice := k.GetCardAuctionPrice(ctx) + lastCardModified := k.GetLastCardModified(ctx) sellOffers := k.SellOffers.GetAll(ctx) pools := k.Pools.GetAll(ctx) records := k.Cards.GetAll(ctx) matches := k.Matches.GetAll(ctx) councils := k.Councils.GetAll(ctx) runningAverages := k.RunningAverages.GetAll(ctx) - collections := k.Collections.GetAll(ctx) + sets := k.Sets.GetAll(ctx) images := k.Images.GetAll(ctx) servers := k.Servers.GetAll(ctx) users, accAddresses := k.GetAllUsers(ctx) @@ -87,7 +94,7 @@ func ExportGenesis(ctx sdk.Context, k keeper.Keeper) *types.GenesisState { CardRecords: records, Users: users, Matches: matches, - Collections: collections, + Sets: sets, SellOffers: sellOffers, Pools: pools, Councils: councils, @@ -96,5 +103,6 @@ func ExportGenesis(ctx sdk.Context, k keeper.Keeper) *types.GenesisState { Images: images, RunningAverages: runningAverages, Servers: servers, + LastCardModified: &lastCardModified, } } diff --git a/x/cardchain/handler.go b/x/cardchain/handler.go index 1fd3c9f4..e6f40f38 100644 --- a/x/cardchain/handler.go +++ b/x/cardchain/handler.go @@ -3,10 +3,11 @@ package cardchain import ( "fmt" + sdkerrors "cosmossdk.io/errors" "github.com/DecentralCardGame/Cardchain/x/cardchain/keeper" "github.com/DecentralCardGame/Cardchain/x/cardchain/types" sdk "github.com/cosmos/cosmos-sdk/types" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/cosmos/cosmos-sdk/types/errors" ) // NewHandler ... @@ -50,29 +51,26 @@ func NewHandler(k keeper.Keeper) sdk.Handler { // case *types.MsgApointMatchReporter: // Will be uncommented later when I know how to check for module account // res, err := msgServer.ApointMatchReporter(sdk.WrapSDKContext(ctx), msg) // return sdk.WrapServiceResult(ctx, res, err) - case *types.MsgCreateCollection: - res, err := msgServer.CreateCollection(sdk.WrapSDKContext(ctx), msg) + case *types.MsgCreateSet: + res, err := msgServer.CreateSet(sdk.WrapSDKContext(ctx), msg) return sdk.WrapServiceResult(ctx, res, err) - case *types.MsgAddCardToCollection: - res, err := msgServer.AddCardToCollection(sdk.WrapSDKContext(ctx), msg) + case *types.MsgAddCardToSet: + res, err := msgServer.AddCardToSet(sdk.WrapSDKContext(ctx), msg) return sdk.WrapServiceResult(ctx, res, err) - case *types.MsgFinalizeCollection: - res, err := msgServer.FinalizeCollection(sdk.WrapSDKContext(ctx), msg) + case *types.MsgFinalizeSet: + res, err := msgServer.FinalizeSet(sdk.WrapSDKContext(ctx), msg) return sdk.WrapServiceResult(ctx, res, err) - case *types.MsgBuyCollection: - res, err := msgServer.BuyCollection(sdk.WrapSDKContext(ctx), msg) + case *types.MsgBuyBoosterPack: + res, err := msgServer.BuyBoosterPack(sdk.WrapSDKContext(ctx), msg) return sdk.WrapServiceResult(ctx, res, err) - case *types.MsgRemoveCardFromCollection: - res, err := msgServer.RemoveCardFromCollection(sdk.WrapSDKContext(ctx), msg) + case *types.MsgRemoveCardFromSet: + res, err := msgServer.RemoveCardFromSet(sdk.WrapSDKContext(ctx), msg) return sdk.WrapServiceResult(ctx, res, err) - case *types.MsgRemoveContributorFromCollection: - res, err := msgServer.RemoveContributorFromCollection(sdk.WrapSDKContext(ctx), msg) + case *types.MsgRemoveContributorFromSet: + res, err := msgServer.RemoveContributorFromSet(sdk.WrapSDKContext(ctx), msg) return sdk.WrapServiceResult(ctx, res, err) - case *types.MsgAddContributorToCollection: - res, err := msgServer.AddContributorToCollection(sdk.WrapSDKContext(ctx), msg) - return sdk.WrapServiceResult(ctx, res, err) - case *types.MsgSubmitCollectionProposal: - res, err := msgServer.SubmitCollectionProposal(sdk.WrapSDKContext(ctx), msg) + case *types.MsgAddContributorToSet: + res, err := msgServer.AddContributorToSet(sdk.WrapSDKContext(ctx), msg) return sdk.WrapServiceResult(ctx, res, err) case *types.MsgCreateSellOffer: res, err := msgServer.CreateSellOffer(sdk.WrapSDKContext(ctx), msg) @@ -83,11 +81,11 @@ func NewHandler(k keeper.Keeper) sdk.Handler { case *types.MsgRemoveSellOffer: res, err := msgServer.RemoveSellOffer(sdk.WrapSDKContext(ctx), msg) return sdk.WrapServiceResult(ctx, res, err) - case *types.MsgAddArtworkToCollection: - res, err := msgServer.AddArtworkToCollection(sdk.WrapSDKContext(ctx), msg) + case *types.MsgAddArtworkToSet: + res, err := msgServer.AddArtworkToSet(sdk.WrapSDKContext(ctx), msg) return sdk.WrapServiceResult(ctx, res, err) - case *types.MsgAddStoryToCollection: - res, err := msgServer.AddStoryToCollection(sdk.WrapSDKContext(ctx), msg) + case *types.MsgAddStoryToSet: + res, err := msgServer.AddStoryToSet(sdk.WrapSDKContext(ctx), msg) return sdk.WrapServiceResult(ctx, res, err) case *types.MsgSetCardRarity: res, err := msgServer.SetCardRarity(sdk.WrapSDKContext(ctx), msg) @@ -119,11 +117,11 @@ func NewHandler(k keeper.Keeper) sdk.Handler { case *types.MsgTransferBoosterPack: res, err := msgServer.TransferBoosterPack(sdk.WrapSDKContext(ctx), msg) return sdk.WrapServiceResult(ctx, res, err) - case *types.MsgSetCollectionStoryWriter: - res, err := msgServer.SetCollectionStoryWriter(sdk.WrapSDKContext(ctx), msg) + case *types.MsgSetSetStoryWriter: + res, err := msgServer.SetSetStoryWriter(sdk.WrapSDKContext(ctx), msg) return sdk.WrapServiceResult(ctx, res, err) - case *types.MsgSetCollectionArtist: - res, err := msgServer.SetCollectionArtist(sdk.WrapSDKContext(ctx), msg) + case *types.MsgSetSetArtist: + res, err := msgServer.SetSetArtist(sdk.WrapSDKContext(ctx), msg) return sdk.WrapServiceResult(ctx, res, err) case *types.MsgSetUserWebsite: res, err := msgServer.SetUserWebsite(sdk.WrapSDKContext(ctx), msg) @@ -134,7 +132,7 @@ func NewHandler(k keeper.Keeper) sdk.Handler { // this line is used by starport scaffolding # 1 default: errMsg := fmt.Sprintf("unrecognized %s message type: %T", types.ModuleName, msg) - return nil, sdkerrors.Wrap(sdkerrors.ErrUnknownRequest, errMsg) + return nil, sdkerrors.Wrap(errors.ErrUnknownRequest, errMsg) } } } diff --git a/x/cardchain/keeper/arrays.go b/x/cardchain/keeper/arrays.go index 6b5f30a4..e134227c 100644 --- a/x/cardchain/keeper/arrays.go +++ b/x/cardchain/keeper/arrays.go @@ -1,8 +1,9 @@ package keeper import ( + "slices" + "github.com/DecentralCardGame/Cardchain/x/cardchain/types" - "golang.org/x/exp/slices" ) func PopItemFromArr[E comparable](item E, arr []E) ([]E, error) { diff --git a/x/cardchain/keeper/card.go b/x/cardchain/keeper/card.go index 006ad6fb..4ee29eb8 100644 --- a/x/cardchain/keeper/card.go +++ b/x/cardchain/keeper/card.go @@ -19,6 +19,26 @@ func (k Keeper) SetCardAuctionPrice(ctx sdk.Context, price sdk.Coin) { store.Set([]byte("currentCardSchemeAuctionPrice"), k.cdc.MustMarshal(&price)) } +// GetLastCardModified Returns the block height the last card was modified at +func (k Keeper) GetLastCardModified(ctx sdk.Context) (timeStamp types.TimeStamp) { + store := ctx.KVStore(k.InternalStoreKey) + bz := store.Get([]byte("lastCardModified")) + k.cdc.MustUnmarshal(bz, &timeStamp) + return +} + +// SetLastCardModified Sets the block height the last card was modified at +func (k Keeper) SetLastCardModified(ctx sdk.Context, timeStamp types.TimeStamp) { + store := ctx.KVStore(k.InternalStoreKey) + store.Set([]byte("lastCardModified"), k.cdc.MustMarshal(&timeStamp)) +} + +// SetLastCardModifiedNow Sets the block height the last card was modified at, to now +func (k Keeper) SetLastCardModifiedNow(ctx sdk.Context) { + timeStamp := types.TimeStamp{TimeStamp: uint64(ctx.BlockHeight())} + k.SetLastCardModified(ctx, timeStamp) +} + // AddOwnedCardScheme Adds a cardscheme to a user func (k Keeper) AddOwnedCardScheme(ctx sdk.Context, cardId uint64, address sdk.AccAddress) { user, _ := k.GetUser(ctx, address) @@ -33,4 +53,17 @@ func (k Keeper) SetCardToTrial(ctx sdk.Context, cardId uint64, votePool sdk.Coin card.VotePool = card.VotePool.Add(votePool) card.Status = types.Status_trial k.Cards.Set(ctx, cardId, card) + k.SetLastCardModifiedNow(ctx) +} + +func (k Keeper) GetAllStarterCards(ctx sdk.Context) (cards []uint64) { + iter := k.Cards.GetItemIterator(ctx) + + for ; iter.Valid(); iter.Next() { + idx, gottenCard := iter.Value() + if gottenCard.StarterCard { + cards = append(cards, idx) + } + } + return } diff --git a/x/cardchain/keeper/coin.go b/x/cardchain/keeper/coin.go index 093af107..ef566399 100644 --- a/x/cardchain/keeper/coin.go +++ b/x/cardchain/keeper/coin.go @@ -1,18 +1,18 @@ package keeper import ( + sdkerrors "cosmossdk.io/errors" "github.com/DecentralCardGame/Cardchain/x/cardchain/types" sdk "github.com/cosmos/cosmos-sdk/types" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" "math/big" ) // MulCoin multiplies a Coin with an int func MulCoin(coin sdk.Coin, amt int64) sdk.Coin { return sdk.Coin{ - Denom: coin.Denom, - Amount: coin.Amount.Mul(sdk.NewInt(amt)), - } + Denom: coin.Denom, + Amount: coin.Amount.Mul(sdk.NewInt(amt)), + } } // MulCoinFloat multiplies a Coin with a float @@ -23,17 +23,17 @@ func MulCoinFloat(coin sdk.Coin, amt float64) sdk.Coin { var newAmount big.Int oldAmount.Int(&newAmount) return sdk.Coin{ - Denom: coin.Denom, - Amount: sdk.NewIntFromBigInt(&newAmount), - } + Denom: coin.Denom, + Amount: sdk.NewIntFromBigInt(&newAmount), + } } // QuoCoin devides a Coin with by int func QuoCoin(coin sdk.Coin, amt int64) sdk.Coin { return sdk.Coin{ - Denom: coin.Denom, - Amount: coin.Amount.Quo(sdk.NewInt(amt)), - } + Denom: coin.Denom, + Amount: coin.Amount.Quo(sdk.NewInt(amt)), + } } // MintCoinsToAddr adds coins to an Account diff --git a/x/cardchain/keeper/collection.go b/x/cardchain/keeper/collection.go deleted file mode 100644 index 33e3c9de..00000000 --- a/x/cardchain/keeper/collection.go +++ /dev/null @@ -1,108 +0,0 @@ -package keeper - -import ( - "errors" - - "github.com/DecentralCardGame/Cardchain/x/cardchain/types" - "github.com/DecentralCardGame/cardobject/cardobject" - "github.com/DecentralCardGame/cardobject/keywords" - sdk "github.com/cosmos/cosmos-sdk/types" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" -) - -// CollectCollectionFee Collects a fee from a user -func (k Keeper) CollectCollectionFee(ctx sdk.Context, price sdk.Coin, creator string) error { - err := k.BurnCoinsFromString(ctx, creator, sdk.Coins{price}) - if err != nil { - return err - } - k.AddPoolCredits(ctx, PublicPoolKey, price) - return nil -} - -// CollectCollectionConributionFee Is a wrapper for CollectCollectionFee with contributionfee -func (k Keeper) CollectCollectionConributionFee(ctx sdk.Context, creator string) error { - return k.CollectCollectionFee(ctx, sdk.NewInt64Coin("ucredits", 1000000), creator) -} - -// CollectCollectionCreationFee Is a wrapper for CollectCollectionFee with creationfee -func (k Keeper) CollectCollectionCreationFee(ctx sdk.Context, creator string) error { - return k.CollectCollectionFee(ctx, k.GetParams(ctx).CollectionCreationFee, creator) -} - -// GetAllCollectionContributors Returns an array of all contributors of a collection in their respective frequencies -func (k Keeper) GetAllCollectionContributors(ctx sdk.Context, collection types.Collection) []string { - contribs := []string{collection.StoryWriter, collection.StoryWriter, collection.Artist, collection.Artist, collection.Contributors[0], collection.Contributors[0], collection.Contributors[0], collection.Contributors[0]} - for _, cardId := range collection.Cards { - var card = k.Cards.Get(ctx, cardId) - if card.Owner != "" { - contribs = append(contribs, card.Owner, card.Artist) - } - } - return contribs -} - -// GetActiveCollections Return a list of all active collections ids -func (k Keeper) GetActiveCollections(ctx sdk.Context) (activeCollections []uint64) { - iter := k.Collections.GetItemIterator(ctx) - for ; iter.Valid(); iter.Next() { - idx, collection := iter.Value() - if collection.Status == types.CStatus_active { - activeCollections = append(activeCollections, idx) - } - } - return -} - -func (k Keeper) GetRarityDistribution(ctx sdk.Context, collection types.Collection, collectionSize uint64) (dist [2][4]uint64, err error) { - var ( - unCommons, rares, commons, others, commonsAll, unCommonsAll, raresAll uint64 - ) - - unCommonsAll = uint64(collectionSize / 3) - raresAll = uint64(collectionSize / 3) - commonsAll = uint64(collectionSize - raresAll - unCommonsAll) - - for _, cardId := range collection.Cards { - cardobj, err := keywords.Unmarshal(k.Cards.Get(ctx, cardId).Content) - if err != nil { - return dist, sdkerrors.Wrap(types.ErrCardobject, err.Error()) - } - rarity, err := GetCardRarity(cardobj) - if err != nil { - return dist, sdkerrors.Wrap(types.ErrCardobject, err.Error()) - } - if rarity == nil { - others++ - } else { - switch *rarity { - case cardobject.Rarity("COMMON"): - commons++ - case cardobject.Rarity("UNCOMMON"): - unCommons++ - case cardobject.Rarity("RARE"): - rares++ - default: - others++ - } - } - } - - return [2][4]uint64{ - [4]uint64{commons, unCommons, rares, others}, - [4]uint64{commonsAll, unCommonsAll, raresAll, 0}, - }, nil -} - -func GetCardRarity(card *keywords.Card) (*cardobject.Rarity, error) { - if card.Action != nil { - return card.Action.Rarity, nil - } else if card.Place != nil { - return card.Place.Rarity, nil - } else if card.Entity != nil { - return card.Entity.Rarity, nil - } else if card.Headquarter != nil { - return card.Headquarter.Rarity, nil - } - return nil, errors.New("no card-attributes") -} diff --git a/x/cardchain/keeper/council.go b/x/cardchain/keeper/council.go index b2e106b5..7ec662fe 100644 --- a/x/cardchain/keeper/council.go +++ b/x/cardchain/keeper/council.go @@ -98,13 +98,14 @@ func (k Keeper) CheckTrial(ctx sdk.Context) error { }) if votes[len(votes)-1] == 0 { council.TrialStart = uint64(ctx.BlockHeight()) - k.Councils.Set(ctx, uint64(idx), council) + k.Councils.Set(ctx, idx, council) continue } if card.FairEnoughVotes == votes[len(votes)-1] { card.Status = types.Status_permanent group = approvers amt = 2 + k.SetLastCardModifiedNow(ctx) } else { card.Status = types.Status_prototype group = deniers @@ -133,7 +134,7 @@ func (k Keeper) CheckTrial(ctx sdk.Context) error { card.VotePool = card.VotePool.Sub(card.VotePool) council.Status = types.CouncelingStatus_councilClosed - k.Councils.Set(ctx, uint64(idx), council) + k.Councils.Set(ctx, idx, council) k.Cards.Set(ctx, council.CardId, card) } } diff --git a/x/cardchain/keeper/grpc_query_q_card.go b/x/cardchain/keeper/grpc_query_q_card.go index 3a2fe988..f93e3fdd 100644 --- a/x/cardchain/keeper/grpc_query_q_card.go +++ b/x/cardchain/keeper/grpc_query_q_card.go @@ -2,11 +2,15 @@ package keeper import ( "context" + "crypto/md5" + "encoding/hex" "strconv" "github.com/DecentralCardGame/Cardchain/x/cardchain/types" + + sdkerrors "cosmossdk.io/errors" sdk "github.com/cosmos/cosmos-sdk/types" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/cosmos/cosmos-sdk/types/errors" "google.golang.org/grpc/codes" "google.golang.org/grpc/status" ) @@ -21,15 +25,17 @@ func (k Keeper) QCard(goCtx context.Context, req *types.QueryQCardRequest) (*typ // Start of query code cardId, err := strconv.ParseUint(req.CardId, 10, 64) if err != nil { - return nil, sdkerrors.Wrap(sdkerrors.ErrUnknownRequest, "could not parse cardId") + return nil, sdkerrors.Wrap(errors.ErrUnknownRequest, "could not parse cardId") } card := k.Cards.Get(ctx, cardId) if card == nil { - return nil, sdkerrors.Wrap(sdkerrors.ErrUnknownRequest, "cardId does not represent a card") + return nil, sdkerrors.Wrap(errors.ErrUnknownRequest, "cardId does not represent a card") } image := k.Images.Get(ctx, card.ImageId) + sum := md5.Sum(image.Image) + hash := hex.EncodeToString(sum[:]) outpCard := types.OutpCard{ Owner: card.Owner, @@ -46,6 +52,10 @@ func (k Keeper) QCard(goCtx context.Context, req *types.QueryQCardRequest) (*typ UnderpoweredVotes: card.UnderpoweredVotes, InappropriateVotes: card.InappropriateVotes, Nerflevel: card.Nerflevel, + BalanceAnchor: card.BalanceAnchor, + Hash: hash, + Rarity: card.Rarity, + StarterCard: card.StarterCard, } return &outpCard, nil diff --git a/x/cardchain/keeper/grpc_query_q_card_content.go b/x/cardchain/keeper/grpc_query_q_card_content.go index b732d87a..e5085627 100644 --- a/x/cardchain/keeper/grpc_query_q_card_content.go +++ b/x/cardchain/keeper/grpc_query_q_card_content.go @@ -5,11 +5,12 @@ import ( "crypto/md5" "encoding/hex" "fmt" + "github.com/cosmos/cosmos-sdk/types/errors" "strconv" + sdkerrors "cosmossdk.io/errors" "github.com/DecentralCardGame/Cardchain/x/cardchain/types" sdk "github.com/cosmos/cosmos-sdk/types" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" "google.golang.org/grpc/codes" "google.golang.org/grpc/status" ) @@ -23,12 +24,12 @@ func (k Keeper) QCardContent(goCtx context.Context, req *types.QueryQCardContent cardId, err := strconv.ParseUint(req.CardId, 10, 64) if err != nil { - return nil, sdkerrors.Wrap(sdkerrors.ErrUnknownRequest, "could not parse cardId") + return nil, sdkerrors.Wrap(errors.ErrUnknownRequest, "could not parse cardId") } card := k.Cards.Get(ctx, cardId) if &card == nil { - return nil, sdkerrors.Wrap(sdkerrors.ErrUnknownRequest, "cardId does not represent a card") + return nil, sdkerrors.Wrap(errors.ErrUnknownRequest, "cardId does not represent a card") } image := k.Images.Get(ctx, card.ImageId) diff --git a/x/cardchain/keeper/grpc_query_q_cardchain_info.go b/x/cardchain/keeper/grpc_query_q_cardchain_info.go index 9c781dbf..ff959776 100644 --- a/x/cardchain/keeper/grpc_query_q_cardchain_info.go +++ b/x/cardchain/keeper/grpc_query_q_cardchain_info.go @@ -19,11 +19,12 @@ func (k Keeper) QCardchainInfo(goCtx context.Context, req *types.QueryQCardchain price := k.GetCardAuctionPrice(ctx) return &types.QueryQCardchainInfoResponse{ - CardAuctionPrice: price, - ActiveCollections: k.GetActiveCollections(ctx), - CardsNumber: k.Cards.GetNum(ctx), - MatchesNumber: k.Matches.GetNum(ctx), - SellOffersNumber: k.SellOffers.GetNum(ctx), - CouncilsNumber: k.Councils.GetNum(ctx), + CardAuctionPrice: price, + ActiveSets: k.GetActiveSets(ctx), + CardsNumber: k.Cards.GetNum(ctx), + MatchesNumber: k.Matches.GetNum(ctx), + SellOffersNumber: k.SellOffers.GetNum(ctx), + CouncilsNumber: k.Councils.GetNum(ctx), + LastCardModified: k.GetLastCardModified(ctx).TimeStamp, }, nil } diff --git a/x/cardchain/keeper/grpc_query_q_cards.go b/x/cardchain/keeper/grpc_query_q_cards.go index 4d1a6998..71512eb5 100644 --- a/x/cardchain/keeper/grpc_query_q_cards.go +++ b/x/cardchain/keeper/grpc_query_q_cards.go @@ -3,15 +3,17 @@ package keeper import ( "context" "encoding/json" + "slices" "sort" + "strconv" "strings" + sdkerrors "cosmossdk.io/errors" "github.com/DecentralCardGame/Cardchain/x/cardchain/types" "github.com/DecentralCardGame/cardobject/cardobject" "github.com/DecentralCardGame/cardobject/keywords" sdk "github.com/cosmos/cosmos-sdk/types" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - "golang.org/x/exp/slices" + "github.com/cosmos/cosmos-sdk/types/errors" "google.golang.org/grpc/codes" "google.golang.org/grpc/status" ) @@ -107,10 +109,16 @@ func (k Keeper) QCards(goCtx context.Context, req *types.QueryQCardsRequest) (*t for ; iterator.Valid(); iterator.Next() { idx, gottenCard := iterator.Value() + // filter for starterCards + if req.OnlyStarterCard && !gottenCard.StarterCard { + continue + } + // first skip all cards with irrelevant status if gottenCard.Status == types.Status_none || gottenCard.Status == types.Status_scheme { continue } + // then check if a status constrain was given and skip the card if it has the wrong status if req.Status != types.QueryQCardsRequest_none { if !slices.Contains(states, gottenCard.Status) { @@ -134,7 +142,7 @@ func (k Keeper) QCards(goCtx context.Context, req *types.QueryQCardsRequest) (*t if req.NameContains != "" || req.CardType != "" || req.SortBy != "" || req.Classes != "" || req.KeywordsContains != "" { cardobj, err := keywords.Unmarshal(gottenCard.Content) if err != nil { - return nil, sdkerrors.Wrap(sdkerrors.ErrJSONMarshal, err.Error()) + return nil, sdkerrors.Wrap(errors.ErrJSONMarshal, err.Error()+"cardid="+strconv.FormatUint(idx, 10)) } if cardobj.Action != nil { diff --git a/x/cardchain/keeper/grpc_query_q_collection.go b/x/cardchain/keeper/grpc_query_q_collection.go deleted file mode 100644 index 54c4ca30..00000000 --- a/x/cardchain/keeper/grpc_query_q_collection.go +++ /dev/null @@ -1,34 +0,0 @@ -package keeper - -import ( - "context" - - "github.com/DecentralCardGame/Cardchain/x/cardchain/types" - sdk "github.com/cosmos/cosmos-sdk/types" - "google.golang.org/grpc/codes" - "google.golang.org/grpc/status" -) - -func (k Keeper) QCollection(goCtx context.Context, req *types.QueryQCollectionRequest) (*types.OutpCollection, error) { - if req == nil { - return nil, status.Error(codes.InvalidArgument, "invalid request") - } - - ctx := sdk.UnwrapSDKContext(goCtx) - - collection := k.Collections.Get(ctx, req.CollectionId) - - image := k.Images.Get(ctx, collection.ArtworkId) - - return &types.OutpCollection{ - Name: collection.Name, - Cards: collection.Cards, - Artist: collection.Artist, - StoryWriter: collection.StoryWriter, - Contributors: collection.Contributors, - Story: collection.Story, - Artwork: string(image.Image), - Status: collection.Status, - TimeStamp: collection.TimeStamp, - }, nil -} diff --git a/x/cardchain/keeper/grpc_query_q_collections.go b/x/cardchain/keeper/grpc_query_q_collections.go deleted file mode 100644 index 18b2a946..00000000 --- a/x/cardchain/keeper/grpc_query_q_collections.go +++ /dev/null @@ -1,70 +0,0 @@ -package keeper - -import ( - "context" - - "github.com/DecentralCardGame/Cardchain/x/cardchain/types" - sdk "github.com/cosmos/cosmos-sdk/types" - "golang.org/x/exp/slices" - "google.golang.org/grpc/codes" - "google.golang.org/grpc/status" -) - -func (k Keeper) QCollections(goCtx context.Context, req *types.QueryQCollectionsRequest) (*types.QueryQCollectionsResponse, error) { - if req == nil { - return nil, status.Error(codes.InvalidArgument, "invalid request") - } - - var ( - collectionIds []uint64 - allUsersInCollection bool - allCardsInCollection bool - ) - - ctx := sdk.UnwrapSDKContext(goCtx) - - iter := k.Collections.GetItemIterator(ctx) - for ; iter.Valid(); iter.Next() { - idx, collection := iter.Value() - - allUsersInCollection = true - allCardsInCollection = true - - // Checks for status - if !req.IgnoreStatus { - if req.Status != collection.Status { - continue - } - } - - // Checks for users contained in the contributors - for _, user := range req.Contributors { - if !slices.Contains(collection.Contributors, user) { - allUsersInCollection = false - } - } - if !allUsersInCollection { - continue - } - - // Checks for card contained in the collection - for _, card := range req.ContainsCards { - if !slices.Contains(collection.Cards, card) { - allCardsInCollection = false - } - } - if !allCardsInCollection { - continue - } - - if req.Owner != "" { - if req.Owner != collection.Contributors[0] { - continue - } - } - - collectionIds = append(collectionIds, idx) - } - - return &types.QueryQCollectionsResponse{CollectionIds: collectionIds}, nil -} diff --git a/x/cardchain/keeper/grpc_query_q_matches.go b/x/cardchain/keeper/grpc_query_q_matches.go index de402cc3..13444109 100644 --- a/x/cardchain/keeper/grpc_query_q_matches.go +++ b/x/cardchain/keeper/grpc_query_q_matches.go @@ -2,8 +2,7 @@ package keeper import ( "context" - - "golang.org/x/exp/slices" + "slices" "github.com/DecentralCardGame/Cardchain/x/cardchain/types" sdk "github.com/cosmos/cosmos-sdk/types" diff --git a/x/cardchain/keeper/grpc_query_q_sell_offers.go b/x/cardchain/keeper/grpc_query_q_sell_offers.go index 66385b40..78b35a5d 100644 --- a/x/cardchain/keeper/grpc_query_q_sell_offers.go +++ b/x/cardchain/keeper/grpc_query_q_sell_offers.go @@ -3,9 +3,9 @@ package keeper import ( "context" + sdkerrors "cosmossdk.io/errors" "github.com/DecentralCardGame/Cardchain/x/cardchain/types" sdk "github.com/cosmos/cosmos-sdk/types" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" "google.golang.org/grpc/codes" "google.golang.org/grpc/status" ) diff --git a/x/cardchain/keeper/grpc_query_q_set.go b/x/cardchain/keeper/grpc_query_q_set.go new file mode 100644 index 00000000..ab8b541c --- /dev/null +++ b/x/cardchain/keeper/grpc_query_q_set.go @@ -0,0 +1,34 @@ +package keeper + +import ( + "context" + + "github.com/DecentralCardGame/Cardchain/x/cardchain/types" + sdk "github.com/cosmos/cosmos-sdk/types" + "google.golang.org/grpc/codes" + "google.golang.org/grpc/status" +) + +func (k Keeper) QSet(goCtx context.Context, req *types.QueryQSetRequest) (*types.OutpSet, error) { + if req == nil { + return nil, status.Error(codes.InvalidArgument, "invalid request") + } + + ctx := sdk.UnwrapSDKContext(goCtx) + + set := k.Sets.Get(ctx, req.SetId) + + image := k.Images.Get(ctx, set.ArtworkId) + + return &types.OutpSet{ + Name: set.Name, + Cards: set.Cards, + Artist: set.Artist, + StoryWriter: set.StoryWriter, + Contributors: set.Contributors, + Story: set.Story, + Artwork: string(image.Image), + Status: set.Status, + TimeStamp: set.TimeStamp, + }, nil +} diff --git a/x/cardchain/keeper/grpc_query_q_sets.go b/x/cardchain/keeper/grpc_query_q_sets.go new file mode 100644 index 00000000..cb048d35 --- /dev/null +++ b/x/cardchain/keeper/grpc_query_q_sets.go @@ -0,0 +1,70 @@ +package keeper + +import ( + "context" + "slices" + + "github.com/DecentralCardGame/Cardchain/x/cardchain/types" + sdk "github.com/cosmos/cosmos-sdk/types" + "google.golang.org/grpc/codes" + "google.golang.org/grpc/status" +) + +func (k Keeper) QSets(goCtx context.Context, req *types.QueryQSetsRequest) (*types.QueryQSetsResponse, error) { + if req == nil { + return nil, status.Error(codes.InvalidArgument, "invalid request") + } + + var ( + setIds []uint64 + allUsersInSet bool + allCardsInSet bool + ) + + ctx := sdk.UnwrapSDKContext(goCtx) + + iter := k.Sets.GetItemIterator(ctx) + for ; iter.Valid(); iter.Next() { + idx, set := iter.Value() + + allUsersInSet = true + allCardsInSet = true + + // Checks for status + if !req.IgnoreStatus { + if req.Status != set.Status { + continue + } + } + + // Checks for users contained in the contributors + for _, user := range req.Contributors { + if !slices.Contains(set.Contributors, user) { + allUsersInSet = false + } + } + if !allUsersInSet { + continue + } + + // Checks for card contained in the set + for _, card := range req.ContainsCards { + if !slices.Contains(set.Cards, card) { + allCardsInSet = false + } + } + if !allCardsInSet { + continue + } + + if req.Owner != "" { + if req.Owner != set.Contributors[0] { + continue + } + } + + setIds = append(setIds, idx) + } + + return &types.QueryQSetsResponse{SetIds: setIds}, nil +} diff --git a/x/cardchain/keeper/grpc_query_q_user.go b/x/cardchain/keeper/grpc_query_q_user.go index 0f65c1e7..d4d12311 100644 --- a/x/cardchain/keeper/grpc_query_q_user.go +++ b/x/cardchain/keeper/grpc_query_q_user.go @@ -3,9 +3,9 @@ package keeper import ( "context" + sdkerrors "cosmossdk.io/errors" "github.com/DecentralCardGame/Cardchain/x/cardchain/types" sdk "github.com/cosmos/cosmos-sdk/types" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" "google.golang.org/grpc/codes" "google.golang.org/grpc/status" ) diff --git a/x/cardchain/keeper/grpc_query_q_votable_cards.go b/x/cardchain/keeper/grpc_query_q_votable_cards.go index 59d06a3a..39ee0e46 100644 --- a/x/cardchain/keeper/grpc_query_q_votable_cards.go +++ b/x/cardchain/keeper/grpc_query_q_votable_cards.go @@ -3,9 +3,10 @@ package keeper import ( "context" + sdkerrors "cosmossdk.io/errors" "github.com/DecentralCardGame/Cardchain/x/cardchain/types" sdk "github.com/cosmos/cosmos-sdk/types" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/cosmos/cosmos-sdk/types/errors" "google.golang.org/grpc/codes" "google.golang.org/grpc/status" ) @@ -19,7 +20,7 @@ func (k Keeper) QVotableCards(goCtx context.Context, req *types.QueryQVotableCar address, err := sdk.AccAddressFromBech32(req.Address) if err != nil { - return nil, sdkerrors.Wrap(sdkerrors.ErrUnknownRequest, "could not parse user address") + return nil, sdkerrors.Wrap(errors.ErrUnknownRequest, "could not parse user address") } unreg := true diff --git a/x/cardchain/keeper/grpc_query_rarity_distribution.go b/x/cardchain/keeper/grpc_query_rarity_distribution.go index fa3515c9..b99fd9b1 100644 --- a/x/cardchain/keeper/grpc_query_rarity_distribution.go +++ b/x/cardchain/keeper/grpc_query_rarity_distribution.go @@ -16,9 +16,9 @@ func (k Keeper) RarityDistribution(goCtx context.Context, req *types.QueryRarity ctx := sdk.UnwrapSDKContext(goCtx) - collectionSize := k.GetParams(ctx).CollectionSize - collection := k.Collections.Get(ctx, req.CollectionId) - dist, err := k.GetRarityDistribution(ctx, *collection, collectionSize) + setSize := k.GetParams(ctx).SetSize + set := k.Sets.Get(ctx, req.SetId) + dist, err := k.GetRarityDistribution(ctx, *set, uint32(setSize)) return &types.QueryRarityDistributionResponse{Current: dist[0][:], Wanted: dist[1][:]}, err } diff --git a/x/cardchain/keeper/keeper.go b/x/cardchain/keeper/keeper.go index 6f7d4dcd..da0ba4cf 100644 --- a/x/cardchain/keeper/keeper.go +++ b/x/cardchain/keeper/keeper.go @@ -5,13 +5,15 @@ import ( "fmt" "sort" + gtk "github.com/DecentralCardGame/Cardchain/types/generic_type_keeper" "github.com/DecentralCardGame/Cardchain/x/cardchain/types" - gtk "github.com/DecentralCardGame/Cardchain/x/cardchain/types/generic_type_keeper" + ffKeeper "github.com/DecentralCardGame/Cardchain/x/featureflag/keeper" "github.com/DecentralCardGame/cardobject/cardobject" "github.com/DecentralCardGame/cardobject/keywords" "github.com/cosmos/cosmos-sdk/codec" + storetypes "github.com/cosmos/cosmos-sdk/store/types" sdk "github.com/cosmos/cosmos-sdk/types" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/cosmos/cosmos-sdk/types/errors" paramtypes "github.com/cosmos/cosmos-sdk/x/params/types" "github.com/tendermint/tendermint/libs/log" ) @@ -19,39 +21,41 @@ import ( // Keeper Yeah the keeper type Keeper struct { cdc codec.BinaryCodec // The wire codec for binary encoding/decoding. - UsersStoreKey sdk.StoreKey - InternalStoreKey sdk.StoreKey + UsersStoreKey storetypes.StoreKey + InternalStoreKey storetypes.StoreKey paramstore paramtypes.Subspace Cards gtk.GenericTypeKeeper[*types.Card] Councils gtk.GenericTypeKeeper[*types.Council] SellOffers gtk.GenericTypeKeeper[*types.SellOffer] - Collections gtk.GenericTypeKeeper[*types.Collection] + Sets gtk.GenericTypeKeeper[*types.Set] Matches gtk.GenericTypeKeeper[*types.Match] Servers gtk.GenericTypeKeeper[*types.Server] RunningAverages gtk.KeywordedGenericTypeKeeper[*types.RunningAverage] Pools gtk.KeywordedGenericTypeKeeper[*sdk.Coin] Images gtk.GenericTypeKeeper[*types.Image] - BankKeeper types.BankKeeper + FeatureFlagModuleInstance ffKeeper.ModuleInstance + BankKeeper types.BankKeeper } // NewKeeper Constructor for Keeper func NewKeeper( cdc codec.BinaryCodec, usersStoreKey, - cardsStoreKey sdk.StoreKey, - matchesStorekey sdk.StoreKey, - collectionsStoreKey sdk.StoreKey, - sellOffersStoreKey sdk.StoreKey, - poolsStoreKey sdk.StoreKey, - councilsStoreKey sdk.StoreKey, - runningAveragesStoreKey sdk.StoreKey, - imagesStorekey sdk.StoreKey, - serversStoreKey sdk.StoreKey, - internalStoreKey sdk.StoreKey, + cardsStoreKey storetypes.StoreKey, + matchesStorekey storetypes.StoreKey, + setsStoreKey storetypes.StoreKey, + sellOffersStoreKey storetypes.StoreKey, + poolsStoreKey storetypes.StoreKey, + councilsStoreKey storetypes.StoreKey, + runningAveragesStoreKey storetypes.StoreKey, + imagesStorekey storetypes.StoreKey, + serversStoreKey storetypes.StoreKey, + internalStoreKey storetypes.StoreKey, ps paramtypes.Subspace, + featureFlagKeeper types.FeatureFlagKeeper, bankKeeper types.BankKeeper, ) *Keeper { // set KeyTable if it has not already been set @@ -68,14 +72,15 @@ func NewKeeper( Cards: gtk.NewGTK[*types.Card](cardsStoreKey, internalStoreKey, cdc, gtk.GetEmpty[types.Card]), Councils: gtk.NewGTK[*types.Council](councilsStoreKey, internalStoreKey, cdc, gtk.GetEmpty[types.Council]), SellOffers: gtk.NewGTK[*types.SellOffer](sellOffersStoreKey, internalStoreKey, cdc, gtk.GetEmpty[types.SellOffer]), - Collections: gtk.NewGTK[*types.Collection](collectionsStoreKey, internalStoreKey, cdc, gtk.GetEmpty[types.Collection]), + Sets: gtk.NewGTK[*types.Set](setsStoreKey, internalStoreKey, cdc, gtk.GetEmpty[types.Set]), Matches: gtk.NewGTK[*types.Match](matchesStorekey, internalStoreKey, cdc, gtk.GetEmpty[types.Match]), RunningAverages: gtk.NewKGTK[*types.RunningAverage](runningAveragesStoreKey, internalStoreKey, cdc, gtk.GetEmpty[types.RunningAverage], []string{Games24ValueKey, Votes24ValueKey}), Pools: gtk.NewKGTK[*sdk.Coin](poolsStoreKey, internalStoreKey, cdc, gtk.GetEmpty[sdk.Coin], []string{PublicPoolKey, WinnersPoolKey, BalancersPoolKey}), Images: gtk.NewGTK[*types.Image](imagesStorekey, internalStoreKey, cdc, gtk.GetEmpty[types.Image]), Servers: gtk.NewGTK[*types.Server](serversStoreKey, internalStoreKey, cdc, gtk.GetEmpty[types.Server]), - BankKeeper: bankKeeper, + FeatureFlagModuleInstance: featureFlagKeeper.GetModuleInstance(types.ModuleName, []string{string(types.FeatureFlagName_Council), string(types.FeatureFlagName_Matches)}), + BankKeeper: bankKeeper, } } @@ -88,7 +93,7 @@ func (k Keeper) Logger(ctx sdk.Context) log.Logger { func (k Keeper) TransferSchemeToCard(ctx sdk.Context, cardId uint64, user *User) (err error) { user.OwnedCardSchemes, err = PopItemFromArr(cardId, user.OwnedCardSchemes) if err != nil { - return sdkerrors.ErrUnauthorized + return errors.ErrUnauthorized } user.OwnedPrototypes = append(user.OwnedPrototypes, cardId) @@ -117,6 +122,10 @@ func (k Keeper) GetLastVotingResults(ctx sdk.Context) (results types.VotingResul // NerfBuffCards Nerfes or buffs certain cards // TODO maybe the whole auto balancing stuff should be moved into its own file func (k Keeper) NerfBuffCards(ctx sdk.Context, cardIds []uint64, buff bool) { + if len(cardIds) > 0 { + k.SetLastCardModifiedNow(ctx) + } + for _, val := range cardIds { buffCard := k.Cards.Get(ctx, val) @@ -125,6 +134,10 @@ func (k Keeper) NerfBuffCards(ctx sdk.Context, cardIds []uint64, buff bool) { k.Logger(ctx).Error("error on card content:", err, "with card", buffCard.Content) } + if buffCard.BalanceAnchor { + continue + } + buffnerfCost := func(cost *cardobject.CastingCost) { update := *cost if buff { @@ -211,6 +224,10 @@ func (k Keeper) UpdateBanStatus(ctx sdk.Context, newBannedIds []uint64) { banCard.Status = types.Status_bannedSoon k.Cards.Set(ctx, id, banCard) } + + if len(newBannedIds) > 0 { + k.SetLastCardModifiedNow(ctx) + } } // GetOPandUPCards Gets OP and UP cards diff --git a/x/cardchain/keeper/match.go b/x/cardchain/keeper/match.go index 9ec6f987..4130771b 100644 --- a/x/cardchain/keeper/match.go +++ b/x/cardchain/keeper/match.go @@ -2,10 +2,13 @@ package keeper import ( "fmt" + "slices" + "time" + + sdkerrors "cosmossdk.io/errors" "github.com/DecentralCardGame/Cardchain/x/cardchain/types" sdk "github.com/cosmos/cosmos-sdk/types" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - "golang.org/x/exp/slices" + "github.com/cosmos/cosmos-sdk/types/errors" ) // SetMatchReporter Makes a user a match reporter @@ -20,9 +23,9 @@ func (k Keeper) SetMatchReporter(ctx sdk.Context, address string) error { return nil } -// CalculateMatchReward Calculates the match winning rewards -func (k Keeper) CalculateMatchReward(ctx sdk.Context, outcome types.Outcome) (amountA sdk.Coin, amountB sdk.Coin) { - reward := k.GetMatchReward(ctx) +// calculateMatchReward Calculates the match winning rewards +func (k Keeper) calculateMatchReward(ctx sdk.Context, outcome types.Outcome) (amountA sdk.Coin, amountB sdk.Coin) { + reward := k.getMatchReward(ctx) amountA = sdk.NewInt64Coin("ucredits", 0) amountB = sdk.NewInt64Coin("ucredits", 0) @@ -40,8 +43,8 @@ func (k Keeper) CalculateMatchReward(ctx sdk.Context, outcome types.Outcome) (am return } -// GetMatchReward Calculates winner rewards -func (k Keeper) GetMatchReward(ctx sdk.Context) sdk.Coin { +// getMatchReward Calculates winner rewards +func (k Keeper) getMatchReward(ctx sdk.Context) sdk.Coin { pool := k.Pools.Get(ctx, WinnersPoolKey) reward := QuoCoin(*pool, k.GetParams(ctx).WinnerReward) if reward.Amount.Int64() > 1000000 { @@ -50,8 +53,8 @@ func (k Keeper) GetMatchReward(ctx sdk.Context) sdk.Coin { return reward } -// GetMatchAddresses Get's and verifies the players of a match -func (k Keeper) GetMatchAddresses(ctx sdk.Context, match types.Match) (addresses []sdk.AccAddress, err error) { +// getMatchAddresses Get's and verifies the players of a match +func (k Keeper) getMatchAddresses(ctx sdk.Context, match types.Match) (addresses []sdk.AccAddress, err error) { for _, player := range []string{match.PlayerA.Addr, match.PlayerB.Addr} { var address sdk.AccAddress address, err = sdk.AccAddressFromBech32(player) @@ -65,20 +68,32 @@ func (k Keeper) GetMatchAddresses(ctx sdk.Context, match types.Match) (addresses return } -// DistributeCoins to players of a match -func (k Keeper) DistributeCoins(ctx sdk.Context, match *types.Match, outcome types.Outcome) error { - addresses, err := k.GetMatchAddresses(ctx, *match) +func (k Keeper) getMatchUsers(ctx sdk.Context, match types.Match) (users []*User, err error) { + for _, address := range []string{match.PlayerA.Addr, match.PlayerB.Addr} { + user, err := k.GetUserFromString(ctx, address) + if err != nil { + return []*User{}, err + } + users = append(users, &user) + } + + return +} + +// distributeCoins to players of a match +func (k Keeper) distributeCoins(ctx sdk.Context, match *types.Match, outcome types.Outcome) error { + addresses, err := k.getMatchAddresses(ctx, *match) if err != nil { return err } - amountA, amountB := k.CalculateMatchReward(ctx, outcome) + amountA, amountB := k.calculateMatchReward(ctx, outcome) amounts := []sdk.Coin{amountA, amountB} for idx, address := range addresses { if !amounts[idx].IsZero() { err := k.MintCoinsToAddr(ctx, address, sdk.Coins{amounts[idx]}) if err != nil { - return sdkerrors.Wrap(sdkerrors.ErrInsufficientFunds, err.Error()) + return sdkerrors.Wrap(errors.ErrInsufficientFunds, err.Error()) } k.SubPoolCredits(ctx, WinnersPoolKey, amounts[idx]) @@ -129,3 +144,86 @@ func (k Keeper) GetOutcome(ctx sdk.Context, match types.Match) (outcome types.Ou } return } + +func (k Keeper) TryHandleMatchOutcome(ctx sdk.Context, match *types.Match) error { + if match.PlayerA.Confirmed && match.PlayerB.Confirmed && match.ServerConfirmed { + return k.HandleMatchOutcome(ctx, match) + } + return nil +} + +func (k Keeper) HandleMatchOutcome(ctx sdk.Context, match *types.Match) error { + // Evaluate Outcome + outcomes := []types.Outcome{match.Outcome, match.PlayerA.Outcome, match.PlayerB.Outcome} + slices.Sort(outcomes) + outcomes = slices.Compact(outcomes) + switch i := uint64(len(outcomes)); i { + case 1: + k.ReportServerMatch(ctx, match.Reporter, 1, true) + default: + k.ReportServerMatch(ctx, match.Reporter, i-1, false) + } + + outcome, err := k.GetOutcome(ctx, *match) + match.Outcome = outcome + + err = k.distributeCoins(ctx, match, outcome) + if err != nil { + return err + } + + err = k.voteMatchCards(ctx, match) + if err != nil { + return err + } + + // TODO: Votes + return nil +} + +func (k Keeper) voteMatchCards(ctx sdk.Context, match *types.Match) error { + users, err := k.getMatchUsers(ctx, *match) + if err != nil { + return err + } + players := []*types.MatchPlayer{match.PlayerA, match.PlayerB} + for idx, player := range players { + // filter voted cards cards + otherPlayer := players[(idx+1)%2] + var otherPlayerCards []uint64 + var cleanedVotes []*types.SingleVote + if match.ServerConfirmed { + otherPlayerCards = otherPlayer.PlayedCards + } else { + otherPlayerCards = otherPlayer.Deck + } + for _, vote := range player.VotedCards { + if slices.Contains(otherPlayerCards, vote.CardId) { + cleanedVotes = append(cleanedVotes, vote) + } + } + err = k.multiVote(ctx, users[idx], cleanedVotes, true) + if err != nil { + return err + } + k.SetUserFromUser(ctx, *users[idx]) + } + return nil +} + +func (k Keeper) MatchWorker(ctx sdk.Context) { + now := uint64(time.Now().Unix()) + if ctx.BlockHeight()%20 == 0 { + matchIter := k.Matches.GetItemIterator(ctx) + for ; matchIter.Valid(); matchIter.Next() { + id, match := matchIter.Value() + if !match.CoinsDistributed && match.Timestamp != 0 && match.Timestamp+k.GetParams(ctx).MatchWorkerDelay < now { + err := k.HandleMatchOutcome(ctx, match) + if err != nil { + k.Logger(ctx).Error(fmt.Sprintf(":: Error with matchWorker: %s", err)) + } + k.Matches.Set(ctx, id, match) + } + } + } +} diff --git a/x/cardchain/keeper/match_test.go b/x/cardchain/keeper/match_test.go index 2f130871..7640b02c 100644 --- a/x/cardchain/keeper/match_test.go +++ b/x/cardchain/keeper/match_test.go @@ -28,34 +28,34 @@ func TestMatches(t *testing.T) { require.EqualValues(t, match, *k.Matches.Get(ctx, 0)) require.EqualValues(t, []*types.Match{&match, &match}, k.Matches.GetAll(ctx)) require.EqualValues(t, 2, k.Matches.GetNumber(ctx)) - require.EqualValues(t, sdk.NewInt64Coin("ucredits", 2), k.GetMatchReward(ctx), k.GetMatchReward(ctx).Amount.Int64()) + require.EqualValues(t, sdk.NewInt64Coin("ucredits", 2), k.getMatchReward(ctx), k.getMatchReward(ctx).Amount.Int64()) - amountA, amountB := k.CalculateMatchReward(ctx, types.Outcome_AWon) + amountA, amountB := k.calculateMatchReward(ctx, types.Outcome_AWon) require.EqualValues(t, sdk.NewInt64Coin("ucredits", 2), amountA) require.EqualValues(t, sdk.NewInt64Coin("ucredits", 0), amountB) SetUpPools(ctx, *k) - amountA, amountB = k.CalculateMatchReward(ctx, types.Outcome_BWon) + amountA, amountB = k.calculateMatchReward(ctx, types.Outcome_BWon) require.EqualValues(t, sdk.NewInt64Coin("ucredits", 0), amountA) require.EqualValues(t, sdk.NewInt64Coin("ucredits", 2), amountB) SetUpPools(ctx, *k) - amountA, amountB = k.CalculateMatchReward(ctx, types.Outcome_Draw) + amountA, amountB = k.calculateMatchReward(ctx, types.Outcome_Draw) require.EqualValues(t, sdk.NewInt64Coin("ucredits", 1), amountA) require.EqualValues(t, sdk.NewInt64Coin("ucredits", 1), amountB) SetUpPools(ctx, *k) - amountA, amountB = k.CalculateMatchReward(ctx, types.Outcome_Aborted) + amountA, amountB = k.calculateMatchReward(ctx, types.Outcome_Aborted) require.EqualValues(t, sdk.NewInt64Coin("ucredits", 0), amountA) require.EqualValues(t, sdk.NewInt64Coin("ucredits", 0), amountB) - addrs, err := k.GetMatchAddresses(ctx, match) + addrs, err := k.getMatchAddresses(ctx, match) require.EqualValues(t, nil, err) require.EqualValues(t, addrs[0], addrs[1]) require.EqualValues(t, 2, len(addrs)) match.PlayerA.Addr = "abc" - addrs, err = k.GetMatchAddresses(ctx, match) + addrs, err = k.getMatchAddresses(ctx, match) require.NotEqualValues(t, nil, err) outcome, err := k.GetOutcome(ctx, match) diff --git a/x/cardchain/keeper/msg_server_add_artwork.go b/x/cardchain/keeper/msg_server_add_artwork.go index 3a3abb5d..85b173c1 100644 --- a/x/cardchain/keeper/msg_server_add_artwork.go +++ b/x/cardchain/keeper/msg_server_add_artwork.go @@ -3,10 +3,11 @@ package keeper import ( "context" "fmt" + "github.com/cosmos/cosmos-sdk/types/errors" + sdkerrors "cosmossdk.io/errors" "github.com/DecentralCardGame/Cardchain/x/cardchain/types" sdk "github.com/cosmos/cosmos-sdk/types" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" ) func (k msgServer) AddArtwork(goCtx context.Context, msg *types.MsgAddArtwork) (*types.MsgAddArtworkResponse, error) { @@ -21,7 +22,7 @@ func (k msgServer) AddArtwork(goCtx context.Context, msg *types.MsgAddArtwork) ( //} if card.Artist != msg.Creator { - return nil, sdkerrors.Wrap(sdkerrors.ErrUnauthorized, "Incorrect Artist") + return nil, sdkerrors.Wrap(errors.ErrUnauthorized, "Incorrect Artist") } if len(msg.Image) > 500000 { diff --git a/x/cardchain/keeper/msg_server_add_artwork_to_collection.go b/x/cardchain/keeper/msg_server_add_artwork_to_collection.go deleted file mode 100644 index 26a3225d..00000000 --- a/x/cardchain/keeper/msg_server_add_artwork_to_collection.go +++ /dev/null @@ -1,39 +0,0 @@ -package keeper - -import ( - "context" - "fmt" - - "github.com/DecentralCardGame/Cardchain/x/cardchain/types" - sdk "github.com/cosmos/cosmos-sdk/types" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" -) - -func (k msgServer) AddArtworkToCollection(goCtx context.Context, msg *types.MsgAddArtworkToCollection) (*types.MsgAddArtworkToCollectionResponse, error) { - ctx := sdk.UnwrapSDKContext(goCtx) - - collection := k.Collections.Get(ctx, msg.CollectionId) - image := k.Images.Get(ctx, collection.ArtworkId) - - if collection.Artist != msg.Creator { - return nil, sdkerrors.Wrap(sdkerrors.ErrUnauthorized, "Incorrect Artist") - } - if collection.Status != types.CStatus_design { - return nil, types.ErrCollectionNotInDesign - } - - if len(msg.Image) > 500000 { - return nil, sdkerrors.Wrap(types.ErrImageSizeExceeded, fmt.Sprint(len(msg.Image))) - } - - err := k.CollectCollectionConributionFee(ctx, msg.Creator) - if err != nil { - return nil, sdkerrors.Wrap(sdkerrors.ErrInsufficientFunds, err.Error()) - } - - image.Image = msg.Image - - k.Images.Set(ctx, collection.ArtworkId, image) - - return &types.MsgAddArtworkToCollectionResponse{}, nil -} diff --git a/x/cardchain/keeper/msg_server_add_artwork_to_set.go b/x/cardchain/keeper/msg_server_add_artwork_to_set.go new file mode 100644 index 00000000..fc01c91e --- /dev/null +++ b/x/cardchain/keeper/msg_server_add_artwork_to_set.go @@ -0,0 +1,40 @@ +package keeper + +import ( + "context" + "fmt" + + sdkerrors "cosmossdk.io/errors" + "github.com/DecentralCardGame/Cardchain/x/cardchain/types" + sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/cosmos/cosmos-sdk/types/errors" +) + +func (k msgServer) AddArtworkToSet(goCtx context.Context, msg *types.MsgAddArtworkToSet) (*types.MsgAddArtworkToSetResponse, error) { + ctx := sdk.UnwrapSDKContext(goCtx) + + set := k.Sets.Get(ctx, msg.SetId) + image := k.Images.Get(ctx, set.ArtworkId) + + if set.Artist != msg.Creator { + return nil, sdkerrors.Wrap(errors.ErrUnauthorized, "Incorrect Artist") + } + if set.Status != types.CStatus_design { + return nil, types.ErrSetNotInDesign + } + + if len(msg.Image) > 500000 { + return nil, sdkerrors.Wrap(types.ErrImageSizeExceeded, fmt.Sprint(len(msg.Image))) + } + + err := k.CollectSetConributionFee(ctx, msg.Creator) + if err != nil { + return nil, sdkerrors.Wrap(errors.ErrInsufficientFunds, err.Error()) + } + + image.Image = msg.Image + + k.Images.Set(ctx, set.ArtworkId, image) + + return &types.MsgAddArtworkToSetResponse{}, nil +} diff --git a/x/cardchain/keeper/msg_server_add_card_to_collection.go b/x/cardchain/keeper/msg_server_add_card_to_collection.go deleted file mode 100644 index 7b3e9d1a..00000000 --- a/x/cardchain/keeper/msg_server_add_card_to_collection.go +++ /dev/null @@ -1,60 +0,0 @@ -package keeper - -import ( - "context" - - "github.com/DecentralCardGame/Cardchain/x/cardchain/types" - sdk "github.com/cosmos/cosmos-sdk/types" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - "golang.org/x/exp/slices" -) - -func (k msgServer) AddCardToCollection(goCtx context.Context, msg *types.MsgAddCardToCollection) (*types.MsgAddCardToCollectionResponse, error) { - ctx := sdk.UnwrapSDKContext(goCtx) - - collectionSize := int(k.GetParams(ctx).CollectionSize) - - collection := k.Collections.Get(ctx, msg.CollectionId) - if !slices.Contains(collection.Contributors, msg.Creator) { - return nil, sdkerrors.Wrap(sdkerrors.ErrUnauthorized, "Invalid contributor") - } - if collection.Status != types.CStatus_design { - return nil, types.ErrCollectionNotInDesign - } - - iter := k.Collections.GetItemIterator(ctx) - for ; iter.Valid(); iter.Next() { - idx, coll := iter.Value() - if coll.Status != types.CStatus_archived && slices.Contains(coll.Cards, msg.CardId) { - return nil, sdkerrors.Wrapf(types.ErrCardAlreadyInCollection, "Collection: %d", idx) - } - } - - card := k.Cards.Get(ctx, msg.CardId) - if card.Status != types.Status_permanent { - return nil, sdkerrors.Wrap(types.ErrCardDoesNotExist, "Card is not permanent or does not exist") - } - - if card.Owner != msg.Creator { - return nil, sdkerrors.Wrap(sdkerrors.ErrUnauthorized, "Invalid creator") - } - - if len(collection.Cards) >= collectionSize { - return nil, sdkerrors.Wrapf(types.ErrCollectionSize, "Max is %d", collectionSize) - } - - if slices.Contains(collection.Cards, msg.CardId) { - return nil, sdkerrors.Wrapf(types.ErrCardAlreadyInCollection, "Card: %d", msg.CardId) - } - - err := k.CollectCollectionConributionFee(ctx, msg.Creator) - if err != nil { - return nil, sdkerrors.Wrap(sdkerrors.ErrInsufficientFunds, err.Error()) - } - - collection.Cards = append(collection.Cards, msg.CardId) - - k.Collections.Set(ctx, msg.CollectionId, collection) - - return &types.MsgAddCardToCollectionResponse{}, nil -} diff --git a/x/cardchain/keeper/msg_server_add_card_to_set.go b/x/cardchain/keeper/msg_server_add_card_to_set.go new file mode 100644 index 00000000..9eca5043 --- /dev/null +++ b/x/cardchain/keeper/msg_server_add_card_to_set.go @@ -0,0 +1,61 @@ +package keeper + +import ( + "context" + "slices" + + sdkerrors "cosmossdk.io/errors" + "github.com/DecentralCardGame/Cardchain/x/cardchain/types" + sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/cosmos/cosmos-sdk/types/errors" +) + +func (k msgServer) AddCardToSet(goCtx context.Context, msg *types.MsgAddCardToSet) (*types.MsgAddCardToSetResponse, error) { + ctx := sdk.UnwrapSDKContext(goCtx) + + setSize := int(k.GetParams(ctx).SetSize) + + set := k.Sets.Get(ctx, msg.SetId) + if !slices.Contains(set.Contributors, msg.Creator) { + return nil, sdkerrors.Wrap(errors.ErrUnauthorized, "Invalid contributor") + } + if set.Status != types.CStatus_design { + return nil, types.ErrSetNotInDesign + } + + iter := k.Sets.GetItemIterator(ctx) + for ; iter.Valid(); iter.Next() { + idx, coll := iter.Value() + if coll.Status != types.CStatus_archived && slices.Contains(coll.Cards, msg.CardId) { + return nil, sdkerrors.Wrapf(types.ErrCardAlreadyInSet, "Set: %d", idx) + } + } + + card := k.Cards.Get(ctx, msg.CardId) + if card.Status != types.Status_permanent { + return nil, sdkerrors.Wrap(types.ErrCardDoesNotExist, "Card is not permanent or does not exist") + } + + if card.Owner != msg.Creator { + return nil, sdkerrors.Wrap(errors.ErrUnauthorized, "Invalid creator") + } + + if len(set.Cards) >= setSize { + return nil, sdkerrors.Wrapf(types.ErrSetSize, "Max is %d", setSize) + } + + if slices.Contains(set.Cards, msg.CardId) { + return nil, sdkerrors.Wrapf(types.ErrCardAlreadyInSet, "Card: %d", msg.CardId) + } + + err := k.CollectSetConributionFee(ctx, msg.Creator) + if err != nil { + return nil, sdkerrors.Wrap(errors.ErrInsufficientFunds, err.Error()) + } + + set.Cards = append(set.Cards, msg.CardId) + + k.Sets.Set(ctx, msg.SetId, set) + + return &types.MsgAddCardToSetResponse{}, nil +} diff --git a/x/cardchain/keeper/msg_server_add_contributor_to_collection.go b/x/cardchain/keeper/msg_server_add_contributor_to_collection.go deleted file mode 100644 index c74f1c32..00000000 --- a/x/cardchain/keeper/msg_server_add_contributor_to_collection.go +++ /dev/null @@ -1,37 +0,0 @@ -package keeper - -import ( - "context" - - "github.com/DecentralCardGame/Cardchain/x/cardchain/types" - sdk "github.com/cosmos/cosmos-sdk/types" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - "golang.org/x/exp/slices" -) - -func (k msgServer) AddContributorToCollection(goCtx context.Context, msg *types.MsgAddContributorToCollection) (*types.MsgAddContributorToCollectionResponse, error) { - ctx := sdk.UnwrapSDKContext(goCtx) - - collection := k.Collections.Get(ctx, msg.CollectionId) - if msg.Creator != collection.Contributors[0] { - return nil, sdkerrors.Wrap(sdkerrors.ErrUnauthorized, "Invalid creator") - } - if collection.Status != types.CStatus_design { - return nil, types.ErrCollectionNotInDesign - } - - if slices.Contains(collection.Contributors, msg.User) { - return nil, sdkerrors.Wrap(types.ErrContributor, "Contributor allready Contributor: "+msg.User) - } - - err := k.CollectCollectionConributionFee(ctx, msg.Creator) - if err != nil { - return nil, sdkerrors.Wrap(sdkerrors.ErrInsufficientFunds, err.Error()) - } - - collection.Contributors = append(collection.Contributors, msg.User) - - k.Collections.Set(ctx, msg.CollectionId, collection) - - return &types.MsgAddContributorToCollectionResponse{}, nil -} diff --git a/x/cardchain/keeper/msg_server_add_contributor_to_set.go b/x/cardchain/keeper/msg_server_add_contributor_to_set.go new file mode 100644 index 00000000..c0c7c043 --- /dev/null +++ b/x/cardchain/keeper/msg_server_add_contributor_to_set.go @@ -0,0 +1,36 @@ +package keeper + +import ( + "context" + "slices" + + sdkerrors "cosmossdk.io/errors" + "github.com/DecentralCardGame/Cardchain/x/cardchain/types" + sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/cosmos/cosmos-sdk/types/errors" +) + +func (k msgServer) AddContributorToSet(goCtx context.Context, msg *types.MsgAddContributorToSet) (*types.MsgAddContributorToSetResponse, error) { + ctx := sdk.UnwrapSDKContext(goCtx) + + set := k.Sets.Get(ctx, msg.SetId) + err := checkSetEditable(set, msg.Creator) + if err != nil { + return nil, err + } + + if slices.Contains(set.Contributors, msg.User) { + return nil, sdkerrors.Wrap(types.ErrContributor, "Contributor allready Contributor: "+msg.User) + } + + err = k.CollectSetConributionFee(ctx, msg.Creator) + if err != nil { + return nil, sdkerrors.Wrap(errors.ErrInsufficientFunds, err.Error()) + } + + set.Contributors = append(set.Contributors, msg.User) + + k.Sets.Set(ctx, msg.SetId, set) + + return &types.MsgAddContributorToSetResponse{}, nil +} diff --git a/x/cardchain/keeper/msg_server_add_story_to_collection.go b/x/cardchain/keeper/msg_server_add_story_to_collection.go deleted file mode 100644 index be327078..00000000 --- a/x/cardchain/keeper/msg_server_add_story_to_collection.go +++ /dev/null @@ -1,32 +0,0 @@ -package keeper - -import ( - "context" - - "github.com/DecentralCardGame/Cardchain/x/cardchain/types" - sdk "github.com/cosmos/cosmos-sdk/types" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" -) - -func (k msgServer) AddStoryToCollection(goCtx context.Context, msg *types.MsgAddStoryToCollection) (*types.MsgAddStoryToCollectionResponse, error) { - ctx := sdk.UnwrapSDKContext(goCtx) - - collection := k.Collections.Get(ctx, msg.CollectionId) - if collection.StoryWriter != msg.Creator { - return nil, sdkerrors.Wrap(sdkerrors.ErrUnauthorized, "Incorrect StoryWriter") - } - if collection.Status != types.CStatus_design { - return nil, types.ErrCollectionNotInDesign - } - - err := k.CollectCollectionConributionFee(ctx, msg.Creator) - if err != nil { - return nil, sdkerrors.Wrap(sdkerrors.ErrInsufficientFunds, err.Error()) - } - - collection.Story = msg.Story - - k.Collections.Set(ctx, msg.CollectionId, collection) - - return &types.MsgAddStoryToCollectionResponse{}, nil -} diff --git a/x/cardchain/keeper/msg_server_add_story_to_set.go b/x/cardchain/keeper/msg_server_add_story_to_set.go new file mode 100644 index 00000000..5e7695ac --- /dev/null +++ b/x/cardchain/keeper/msg_server_add_story_to_set.go @@ -0,0 +1,33 @@ +package keeper + +import ( + "context" + + sdkerrors "cosmossdk.io/errors" + "github.com/DecentralCardGame/Cardchain/x/cardchain/types" + sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/cosmos/cosmos-sdk/types/errors" +) + +func (k msgServer) AddStoryToSet(goCtx context.Context, msg *types.MsgAddStoryToSet) (*types.MsgAddStoryToSetResponse, error) { + ctx := sdk.UnwrapSDKContext(goCtx) + + set := k.Sets.Get(ctx, msg.SetId) + if set.StoryWriter != msg.Creator { + return nil, sdkerrors.Wrap(errors.ErrUnauthorized, "Incorrect StoryWriter") + } + if set.Status != types.CStatus_design { + return nil, types.ErrSetNotInDesign + } + + err := k.CollectSetConributionFee(ctx, msg.Creator) + if err != nil { + return nil, sdkerrors.Wrap(errors.ErrInsufficientFunds, err.Error()) + } + + set.Story = msg.Story + + k.Sets.Set(ctx, msg.SetId, set) + + return &types.MsgAddStoryToSetResponse{}, nil +} diff --git a/x/cardchain/keeper/msg_server_buy_card.go b/x/cardchain/keeper/msg_server_buy_card.go index 7b745ed1..9f324b26 100644 --- a/x/cardchain/keeper/msg_server_buy_card.go +++ b/x/cardchain/keeper/msg_server_buy_card.go @@ -3,9 +3,10 @@ package keeper import ( "context" + sdkerrors "cosmossdk.io/errors" "github.com/DecentralCardGame/Cardchain/x/cardchain/types" sdk "github.com/cosmos/cosmos-sdk/types" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/cosmos/cosmos-sdk/types/errors" ) func (k msgServer) BuyCard(goCtx context.Context, msg *types.MsgBuyCard) (*types.MsgBuyCardResponse, error) { @@ -29,7 +30,7 @@ func (k msgServer) BuyCard(goCtx context.Context, msg *types.MsgBuyCard) (*types err = k.BankKeeper.SendCoins(ctx, buyer.Addr, sellerAddr, sdk.Coins{sellOffer.Price}) if err != nil { - return nil, sdkerrors.Wrap(sdkerrors.ErrInsufficientFunds, err.Error()) + return nil, sdkerrors.Wrap(errors.ErrInsufficientFunds, err.Error()) } buyer.Cards = append(buyer.Cards, sellOffer.Card) diff --git a/x/cardchain/keeper/msg_server_buy_card_scheme.go b/x/cardchain/keeper/msg_server_buy_card_scheme.go index a4db7345..a5527f17 100644 --- a/x/cardchain/keeper/msg_server_buy_card_scheme.go +++ b/x/cardchain/keeper/msg_server_buy_card_scheme.go @@ -4,9 +4,10 @@ import ( "context" "math" + sdkerrors "cosmossdk.io/errors" "github.com/DecentralCardGame/Cardchain/x/cardchain/types" sdk "github.com/cosmos/cosmos-sdk/types" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/cosmos/cosmos-sdk/types/errors" ) func (k msgServer) BuyCardScheme(goCtx context.Context, msg *types.MsgBuyCardScheme) (*types.MsgBuyCardSchemeResponse, error) { @@ -14,11 +15,7 @@ func (k msgServer) BuyCardScheme(goCtx context.Context, msg *types.MsgBuyCardSch currId := k.Cards.GetNum(ctx) price := k.GetCardAuctionPrice(ctx) - - bid, err := sdk.ParseCoinNormalized(msg.Bid) - if err != nil { - return nil, err - } + bid := msg.Bid buyer, err := sdk.AccAddressFromBech32(msg.Creator) if err != nil { @@ -26,12 +23,12 @@ func (k msgServer) BuyCardScheme(goCtx context.Context, msg *types.MsgBuyCardSch } if bid.IsLT(price) { // Checks if the bid is less than price - return nil, sdkerrors.Wrap(sdkerrors.ErrInsufficientFunds, "Bid not high enough") + return nil, sdkerrors.Wrap(errors.ErrInsufficientFunds, "Bid not high enough") } err = k.BurnCoinsFromAddr(ctx, buyer, sdk.Coins{price}) // If so, deduct the Bid amount from the sender if err != nil { - return nil, sdkerrors.Wrapf(sdkerrors.ErrInsufficientFunds, "Buyer does not have enough coins %s", err) + return nil, sdkerrors.Wrapf(errors.ErrInsufficientFunds, "Buyer does not have enough coins %s", err) } k.AddPoolCredits(ctx, PublicPoolKey, price) @@ -47,5 +44,7 @@ func (k msgServer) BuyCardScheme(goCtx context.Context, msg *types.MsgBuyCardSch k.Images.Set(ctx, newCard.ImageId, &image) k.AddOwnedCardScheme(ctx, currId, buyer) - return &types.MsgBuyCardSchemeResponse{}, nil + return &types.MsgBuyCardSchemeResponse{ + CardId: currId, + }, nil } diff --git a/x/cardchain/keeper/msg_server_buy_collection.go b/x/cardchain/keeper/msg_server_buy_set.go similarity index 64% rename from x/cardchain/keeper/msg_server_buy_collection.go rename to x/cardchain/keeper/msg_server_buy_set.go index ccefe71d..afaae40f 100644 --- a/x/cardchain/keeper/msg_server_buy_collection.go +++ b/x/cardchain/keeper/msg_server_buy_set.go @@ -5,12 +5,13 @@ import ( "fmt" "strconv" + sdkerrors "cosmossdk.io/errors" "github.com/DecentralCardGame/Cardchain/x/cardchain/types" sdk "github.com/cosmos/cosmos-sdk/types" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/cosmos/cosmos-sdk/types/errors" ) -func (k msgServer) BuyCollection(goCtx context.Context, msg *types.MsgBuyCollection) (*types.MsgBuyCollectionResponse, error) { +func (k msgServer) BuyBoosterPack(goCtx context.Context, msg *types.MsgBuyBoosterPack) (*types.MsgBuyBoosterPackResponse, error) { ctx := sdk.UnwrapSDKContext(goCtx) params := k.GetParams(ctx) @@ -19,29 +20,30 @@ func (k msgServer) BuyCollection(goCtx context.Context, msg *types.MsgBuyCollect return nil, sdkerrors.Wrap(types.ErrUserDoesNotExist, err.Error()) } - collection := k.Collections.Get(ctx, msg.CollectionId) + set := k.Sets.Get(ctx, msg.SetId) - if collection.Status != types.CStatus_active { - return nil, types.ErrNoActiveCollection + if set.Status != types.CStatus_active { + return nil, types.ErrNoActiveSet } boosterPack := types.NewBoosterPack( ctx, - msg.CollectionId, + msg.SetId, []uint64{params.CommonsPerPack, params.UnCommonsPerPack, params.RaresPerPack}, + []uint64{params.RareDropRatio, params.ExceptionalDropRatio, params.UniqueDropRatio}, ) // payment - contribs := k.GetAllCollectionContributors(ctx, *collection) + contribs := k.GetAllSetContributors(ctx, *set) for _, contrib := range contribs { contribAddr, err := sdk.AccAddressFromBech32(contrib) if err != nil { return nil, sdkerrors.Wrap(types.ErrInvalidAccAddress, "Unable to convert to AccAddress") } - err = k.BankKeeper.SendCoins(ctx, creator.Addr, contribAddr, sdk.Coins{QuoCoin(params.CollectionPrice, int64(len(contribs)))}) + err = k.BankKeeper.SendCoins(ctx, creator.Addr, contribAddr, sdk.Coins{QuoCoin(params.SetPrice, int64(len(contribs)))}) if err != nil { - return nil, sdkerrors.Wrap(sdkerrors.ErrInsufficientFunds, err.Error()) + return nil, sdkerrors.Wrap(errors.ErrInsufficientFunds, err.Error()) } } @@ -56,5 +58,5 @@ func (k msgServer) BuyCollection(goCtx context.Context, msg *types.MsgBuyCollect k.Pools.Set(ctx, PublicPoolKey, &newPool) k.Logger(ctx).Info(fmt.Sprintf(":: PublicPool: %s", newPool)) - return &types.MsgBuyCollectionResponse{AirdropClaimed: claimedAirdrop}, nil + return &types.MsgBuyBoosterPackResponse{AirdropClaimed: claimedAirdrop}, nil } diff --git a/x/cardchain/keeper/msg_server_change_artist.go b/x/cardchain/keeper/msg_server_change_artist.go index 32f04bb3..d4868f06 100644 --- a/x/cardchain/keeper/msg_server_change_artist.go +++ b/x/cardchain/keeper/msg_server_change_artist.go @@ -3,9 +3,10 @@ package keeper import ( "context" + sdkerrors "cosmossdk.io/errors" "github.com/DecentralCardGame/Cardchain/x/cardchain/types" sdk "github.com/cosmos/cosmos-sdk/types" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/cosmos/cosmos-sdk/types/errors" ) func (k msgServer) ChangeArtist(goCtx context.Context, msg *types.MsgChangeArtist) (*types.MsgChangeArtistResponse, error) { @@ -18,7 +19,7 @@ func (k msgServer) ChangeArtist(goCtx context.Context, msg *types.MsgChangeArtis } if card.Owner != msg.Creator { - return nil, sdkerrors.Wrap(sdkerrors.ErrUnauthorized, "Incorrect Owner") + return nil, sdkerrors.Wrap(errors.ErrUnauthorized, "Incorrect Owner") } newArtist, err := sdk.AccAddressFromBech32(msg.Artist) diff --git a/x/cardchain/keeper/msg_server_commit_council_response.go b/x/cardchain/keeper/msg_server_commit_council_response.go index f4e610e8..db6cb965 100644 --- a/x/cardchain/keeper/msg_server_commit_council_response.go +++ b/x/cardchain/keeper/msg_server_commit_council_response.go @@ -2,11 +2,12 @@ package keeper import ( "context" + "slices" + sdkerrors "cosmossdk.io/errors" "github.com/DecentralCardGame/Cardchain/x/cardchain/types" sdk "github.com/cosmos/cosmos-sdk/types" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - "golang.org/x/exp/slices" + "github.com/cosmos/cosmos-sdk/types/errors" ) func (k msgServer) CommitCouncilResponse(goCtx context.Context, msg *types.MsgCommitCouncilResponse) (*types.MsgCommitCouncilResponseResponse, error) { @@ -21,7 +22,7 @@ func (k msgServer) CommitCouncilResponse(goCtx context.Context, msg *types.MsgCo council := k.Councils.Get(ctx, msg.CouncilId) if !slices.Contains(council.Voters, msg.Creator) { - return nil, sdkerrors.Wrap(sdkerrors.ErrUnauthorized, "Invalid Voter") + return nil, sdkerrors.Wrap(errors.ErrUnauthorized, "Invalid Voter") } if council.Status != types.CouncelingStatus_councilCreated { @@ -34,20 +35,20 @@ func (k msgServer) CommitCouncilResponse(goCtx context.Context, msg *types.MsgCo } if slices.Contains(allreadyVoted, msg.Creator) { - return nil, sdkerrors.Wrap(sdkerrors.ErrUnauthorized, "Allready voted") + return nil, sdkerrors.Wrap(errors.ErrUnauthorized, "Allready voted") } resp := types.WrapHashResponse{ - User: msg.Creator, - Hash: msg.Response, - } + User: msg.Creator, + Hash: msg.Response, + } council.HashResponses = append(council.HashResponses, &resp) if msg.Suggestion != "" { // Direcly reveal when a suggestion is made clearResp := types.WrapClearResponse{ - User: msg.Creator, - Response: types.Response_Suggestion, - Suggestion: msg.Suggestion, - } + User: msg.Creator, + Response: types.Response_Suggestion, + Suggestion: msg.Suggestion, + } council.ClearResponses = append(council.ClearResponses, &clearResp) } @@ -57,7 +58,7 @@ func (k msgServer) CommitCouncilResponse(goCtx context.Context, msg *types.MsgCo err = k.BurnCoinsFromAddr(ctx, creator.Addr, sdk.Coins{collateralDeposit}) if err != nil { - return nil, sdkerrors.Wrap(sdkerrors.ErrInsufficientFunds, "Voter does not have enough coins") + return nil, sdkerrors.Wrap(errors.ErrInsufficientFunds, "Voter does not have enough coins") } council.Treasury = council.Treasury.Add(collateralDeposit) diff --git a/x/cardchain/keeper/msg_server_confirm_match.go b/x/cardchain/keeper/msg_server_confirm_match.go index 51f0c662..cc1ee773 100644 --- a/x/cardchain/keeper/msg_server_confirm_match.go +++ b/x/cardchain/keeper/msg_server_confirm_match.go @@ -2,11 +2,12 @@ package keeper import ( "context" + "time" + sdkerrors "cosmossdk.io/errors" "github.com/DecentralCardGame/Cardchain/x/cardchain/types" sdk "github.com/cosmos/cosmos-sdk/types" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - "golang.org/x/exp/slices" + "github.com/cosmos/cosmos-sdk/types/errors" ) func (k msgServer) ConfirmMatch(goCtx context.Context, msg *types.MsgConfirmMatch) (*types.MsgConfirmMatchResponse, error) { @@ -24,41 +25,22 @@ func (k msgServer) ConfirmMatch(goCtx context.Context, msg *types.MsgConfirmMatc case match.PlayerB.Addr: player = match.PlayerB default: - return nil, sdkerrors.Wrap(sdkerrors.ErrUnauthorized, "Didn't participate in match") + return nil, sdkerrors.Wrap(errors.ErrUnauthorized, "Didn't participate in match") } if player.Confirmed { - return nil, sdkerrors.Wrap(sdkerrors.ErrUnauthorized, "Already reported") + return nil, sdkerrors.Wrap(errors.ErrUnauthorized, "Already reported") } if match.Outcome == types.Outcome_Aborted { - return nil, sdkerrors.Wrap(sdkerrors.ErrUnauthorized, "Can't report, because match was aborted") + return nil, sdkerrors.Wrap(errors.ErrUnauthorized, "Can't report, because match was aborted") } player.Outcome = msg.Outcome + player.VotedCards = msg.VotedCards player.Confirmed = true - k.Matches.Set(ctx, msg.MatchId, match) - - // Report bulshit servers - if match.PlayerA.Confirmed && match.PlayerB.Confirmed { - outcomes := []types.Outcome{match.Outcome, match.PlayerA.Outcome, match.PlayerB.Outcome} - slices.Sort(outcomes) - outcomes = slices.Compact(outcomes) - switch i := uint64(len(outcomes)); i { - case 1: - k.ReportServerMatch(ctx, match.Reporter, 1, true) - default: - k.ReportServerMatch(ctx, match.Reporter, i-1, false) - } - } - - outcome, err := k.GetOutcome(ctx, *match) - - // Distribute coins - if match.CoinsDistributed || err != nil { // Ensures that money isn't dropped twice - return &types.MsgConfirmMatchResponse{}, nil - } + match.Timestamp = uint64(time.Now().Unix()) - err = k.DistributeCoins(ctx, match, outcome) + err := k.TryHandleMatchOutcome(ctx, match) if err != nil { return nil, err } diff --git a/x/cardchain/keeper/msg_server_create_collection.go b/x/cardchain/keeper/msg_server_create_collection.go deleted file mode 100644 index e13344d7..00000000 --- a/x/cardchain/keeper/msg_server_create_collection.go +++ /dev/null @@ -1,37 +0,0 @@ -package keeper - -import ( - "context" - - "github.com/DecentralCardGame/Cardchain/x/cardchain/types" - sdk "github.com/cosmos/cosmos-sdk/types" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" -) - -func (k msgServer) CreateCollection(goCtx context.Context, msg *types.MsgCreateCollection) (*types.MsgCreateCollectionResponse, error) { - ctx := sdk.UnwrapSDKContext(goCtx) - collectionId := k.Collections.GetNum(ctx) - - err := k.CollectCollectionCreationFee(ctx, msg.Creator) - if err != nil { - return nil, sdkerrors.Wrap(sdkerrors.ErrInsufficientFunds, err.Error()) - } - - collection := types.Collection{ - Name: msg.Name, - Cards: []uint64{}, - Contributors: append([]string{msg.Creator}, msg.Contributors...), - Artist: msg.Artist, - StoryWriter: msg.StoryWriter, - Status: types.CStatus_design, - TimeStamp: 0, - ArtworkId: k.Images.GetNum(ctx), - } - - image := types.Image{} - - k.Images.Set(ctx, collection.ArtworkId, &image) - k.Collections.Set(ctx, collectionId, &collection) - - return &types.MsgCreateCollectionResponse{}, nil -} diff --git a/x/cardchain/keeper/msg_server_create_council.go b/x/cardchain/keeper/msg_server_create_council.go index d462a858..ea17c94a 100644 --- a/x/cardchain/keeper/msg_server_create_council.go +++ b/x/cardchain/keeper/msg_server_create_council.go @@ -3,11 +3,12 @@ package keeper import ( "context" "math/rand" + "slices" + sdkerrors "cosmossdk.io/errors" "github.com/DecentralCardGame/Cardchain/x/cardchain/types" sdk "github.com/cosmos/cosmos-sdk/types" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - "golang.org/x/exp/slices" + "github.com/cosmos/cosmos-sdk/types/errors" ) func (k msgServer) CreateCouncil(goCtx context.Context, msg *types.MsgCreateCouncil) (*types.MsgCreateCouncilResponse, error) { @@ -22,7 +23,7 @@ func (k msgServer) CreateCouncil(goCtx context.Context, msg *types.MsgCreateCoun if card.Status != types.Status_prototype { return nil, sdkerrors.Wrapf(types.ErrInvalidCardStatus, "%s", card.Status.String()) } else if card.Owner != msg.Creator { - return nil, sdkerrors.Wrap(sdkerrors.ErrUnauthorized, "Incorrect Creator") + return nil, sdkerrors.Wrap(errors.ErrUnauthorized, "Incorrect Creator") } var possibleVoters []User @@ -54,7 +55,7 @@ func (k msgServer) CreateCouncil(goCtx context.Context, msg *types.MsgCreateCoun err = k.BurnCoinsFromAddr(ctx, creator.Addr, sdk.Coins{treasury}) if err != nil { - return nil, sdkerrors.Wrap(sdkerrors.ErrInsufficientFunds, "Creator does not have enough coins") + return nil, sdkerrors.Wrap(errors.ErrInsufficientFunds, "Creator does not have enough coins") } for _, user := range fiveVoters { diff --git a/x/cardchain/keeper/msg_server_create_sell_offer.go b/x/cardchain/keeper/msg_server_create_sell_offer.go index b266ec64..76d00e04 100644 --- a/x/cardchain/keeper/msg_server_create_sell_offer.go +++ b/x/cardchain/keeper/msg_server_create_sell_offer.go @@ -2,10 +2,11 @@ package keeper import ( "context" + "github.com/cosmos/cosmos-sdk/types/errors" + sdkerrors "cosmossdk.io/errors" "github.com/DecentralCardGame/Cardchain/x/cardchain/types" sdk "github.com/cosmos/cosmos-sdk/types" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" ) func (k msgServer) CreateSellOffer(goCtx context.Context, msg *types.MsgCreateSellOffer) (*types.MsgCreateSellOfferResponse, error) { @@ -16,6 +17,12 @@ func (k msgServer) CreateSellOffer(goCtx context.Context, msg *types.MsgCreateSe return nil, sdkerrors.Wrap(types.ErrUserDoesNotExist, err.Error()) } + // Check if card is startercard + card := k.Cards.Get(ctx, msg.Card) + if card.StarterCard { + return nil, sdkerrors.Wrap(errors.ErrUnauthorized, "Card is startercard and therefore not sellable") + } + newCards, err := PopItemFromArr(msg.Card, creator.Cards) if err != nil { return nil, sdkerrors.Wrapf(err, "User does not posses Card: %d", msg.Card) diff --git a/x/cardchain/keeper/msg_server_create_set.go b/x/cardchain/keeper/msg_server_create_set.go new file mode 100644 index 00000000..ff3b0c84 --- /dev/null +++ b/x/cardchain/keeper/msg_server_create_set.go @@ -0,0 +1,38 @@ +package keeper + +import ( + "context" + + sdkerrors "cosmossdk.io/errors" + "github.com/DecentralCardGame/Cardchain/x/cardchain/types" + sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/cosmos/cosmos-sdk/types/errors" +) + +func (k msgServer) CreateSet(goCtx context.Context, msg *types.MsgCreateSet) (*types.MsgCreateSetResponse, error) { + ctx := sdk.UnwrapSDKContext(goCtx) + setId := k.Sets.GetNum(ctx) + + err := k.CollectSetCreationFee(ctx, msg.Creator) + if err != nil { + return nil, sdkerrors.Wrap(errors.ErrInsufficientFunds, err.Error()) + } + + set := types.Set{ + Name: msg.Name, + Cards: []uint64{}, + Contributors: append([]string{msg.Creator}, msg.Contributors...), + Artist: msg.Artist, + StoryWriter: msg.StoryWriter, + Status: types.CStatus_design, + TimeStamp: 0, + ArtworkId: k.Images.GetNum(ctx), + } + + image := types.Image{} + + k.Images.Set(ctx, set.ArtworkId, &image) + k.Sets.Set(ctx, setId, &set) + + return &types.MsgCreateSetResponse{}, nil +} diff --git a/x/cardchain/keeper/msg_server_donate_to_card.go b/x/cardchain/keeper/msg_server_donate_to_card.go index d93031f4..6009b017 100644 --- a/x/cardchain/keeper/msg_server_donate_to_card.go +++ b/x/cardchain/keeper/msg_server_donate_to_card.go @@ -3,9 +3,10 @@ package keeper import ( "context" + sdkerrors "cosmossdk.io/errors" "github.com/DecentralCardGame/Cardchain/x/cardchain/types" sdk "github.com/cosmos/cosmos-sdk/types" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/cosmos/cosmos-sdk/types/errors" ) func (k msgServer) DonateToCard(goCtx context.Context, msg *types.MsgDonateToCard) (*types.MsgDonateToCardResponse, error) { @@ -13,7 +14,7 @@ func (k msgServer) DonateToCard(goCtx context.Context, msg *types.MsgDonateToCar err := k.BurnCoinsFromString(ctx, msg.Creator, sdk.Coins{msg.Amount}) // If so, deduct the Bid amount from the sender if err != nil { - return nil, sdkerrors.Wrap(sdkerrors.ErrInsufficientFunds, "Donator does not have enough coins") + return nil, sdkerrors.Wrap(errors.ErrInsufficientFunds, "Donator does not have enough coins") } card := k.Cards.Get(ctx, msg.CardId) diff --git a/x/cardchain/keeper/msg_server_finalize_collection.go b/x/cardchain/keeper/msg_server_finalize_collection.go deleted file mode 100644 index 92d8707a..00000000 --- a/x/cardchain/keeper/msg_server_finalize_collection.go +++ /dev/null @@ -1,49 +0,0 @@ -package keeper - -import ( - "context" - "fmt" - - "github.com/DecentralCardGame/Cardchain/x/cardchain/types" - sdk "github.com/cosmos/cosmos-sdk/types" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" -) - -func (k msgServer) FinalizeCollection(goCtx context.Context, msg *types.MsgFinalizeCollection) (*types.MsgFinalizeCollectionResponse, error) { - ctx := sdk.UnwrapSDKContext(goCtx) - - collectionSize := int(k.GetParams(ctx).CollectionSize) - - collection := k.Collections.Get(ctx, msg.CollectionId) - if msg.Creator != collection.Contributors[0] { - return nil, sdkerrors.Wrap(sdkerrors.ErrUnauthorized, "Invalid creator") - } - - if collection.Status != types.CStatus_design { - return nil, types.ErrCollectionNotInDesign - } - - if len(collection.Cards) != collectionSize { - return nil, sdkerrors.Wrapf(types.ErrCollectionSize, "Has to be %d", collectionSize) - } - - err := k.CollectCollectionCreationFee(ctx, msg.Creator) - if err != nil { - return nil, sdkerrors.Wrap(sdkerrors.ErrInsufficientFunds, err.Error()) - } - - dist, err := k.GetRarityDistribution(ctx, *collection, uint64(collectionSize)) - if err != nil { - return nil, err - } - - if dist[0] != dist[1] { - return nil, fmt.Errorf("collections should contain (c,u,r) %d, %d, %d but contains %d, %d, %d", dist[1][0], dist[1][1], dist[1][2], dist[0][0], dist[0][1], dist[0][2]) - } - - collection.Status = types.CStatus_finalized - - k.Collections.Set(ctx, msg.CollectionId, collection) - - return &types.MsgFinalizeCollectionResponse{}, nil -} diff --git a/x/cardchain/keeper/msg_server_finalize_set.go b/x/cardchain/keeper/msg_server_finalize_set.go new file mode 100644 index 00000000..f45d4eda --- /dev/null +++ b/x/cardchain/keeper/msg_server_finalize_set.go @@ -0,0 +1,48 @@ +package keeper + +import ( + "context" + + sdkerrors "cosmossdk.io/errors" + "github.com/DecentralCardGame/Cardchain/x/cardchain/types" + sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/cosmos/cosmos-sdk/types/errors" +) + +func (k msgServer) FinalizeSet(goCtx context.Context, msg *types.MsgFinalizeSet) (*types.MsgFinalizeSetResponse, error) { + ctx := sdk.UnwrapSDKContext(goCtx) + + setSize := int(k.GetParams(ctx).SetSize) + + set := k.Sets.Get(ctx, msg.SetId) + err := checkSetEditable(set, msg.Creator) + if err != nil { + return nil, err + } + + image := k.Images.Get(ctx, set.ArtworkId) + + if len(image.Image) == 0 { + return nil, sdkerrors.Wrapf(types.ErrFinalizeSet, "Set artwork is needed") + } + + err = k.CollectSetCreationFee(ctx, msg.Creator) + if err != nil { + return nil, sdkerrors.Wrap(errors.ErrInsufficientFunds, err.Error()) + } + + dist, err := k.GetRarityDistribution(ctx, *set, uint32(setSize)) + if err != nil { + return nil, err + } + + if dist[0] != dist[1] { + return nil, sdkerrors.Wrapf(types.ErrFinalizeSet, "Sets should contain [(common,unique,exceptional), uncommon, rare] %d, %d, %d but contains %d, %d, %d", dist[1][0], dist[1][1], dist[1][2], dist[0][0], dist[0][1], dist[0][2]) + } + + set.Status = types.CStatus_finalized + + k.Sets.Set(ctx, msg.SetId, set) + + return &types.MsgFinalizeSetResponse{}, nil +} diff --git a/x/cardchain/keeper/msg_server_msg_open_match.go b/x/cardchain/keeper/msg_server_msg_open_match.go new file mode 100644 index 00000000..a446e8c7 --- /dev/null +++ b/x/cardchain/keeper/msg_server_msg_open_match.go @@ -0,0 +1,35 @@ +package keeper + +import ( + "context" + + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + + "github.com/DecentralCardGame/Cardchain/x/cardchain/types" + sdk "github.com/cosmos/cosmos-sdk/types" +) + +func (k msgServer) OpenMatch(goCtx context.Context, msg *types.MsgOpenMatch) (*types.MsgOpenMatchResponse, error) { + ctx := sdk.UnwrapSDKContext(goCtx) + + creator, err := k.GetUserFromString(ctx, msg.Creator) + if err != nil { + return nil, sdkerrors.Wrap(types.ErrUserDoesNotExist, err.Error()) + } + if creator.ReportMatches == false { + return nil, sdkerrors.Wrap(sdkerrors.ErrUnauthorized, "Incorrect Reporter") + } + + matchId := k.Matches.GetNum(ctx) + + match := types.Match{ + Reporter: msg.Creator, + PlayerA: types.NewMatchPlayer(msg.PlayerA, []uint64{}, msg.PlayerADeck), + PlayerB: types.NewMatchPlayer(msg.PlayerB, []uint64{}, msg.PlayerBDeck), + CoinsDistributed: false, + } + + k.Matches.Set(ctx, matchId, &match) + + return &types.MsgOpenMatchResponse{MatchId: matchId}, nil +} diff --git a/x/cardchain/keeper/msg_server_multi_vote_card.go b/x/cardchain/keeper/msg_server_multi_vote_card.go new file mode 100644 index 00000000..fdc37122 --- /dev/null +++ b/x/cardchain/keeper/msg_server_multi_vote_card.go @@ -0,0 +1,27 @@ +package keeper + +import ( + "context" + + sdkerrors "cosmossdk.io/errors" + "github.com/DecentralCardGame/Cardchain/x/cardchain/types" + sdk "github.com/cosmos/cosmos-sdk/types" +) + +func (k msgServer) MultiVoteCard(goCtx context.Context, msg *types.MsgMultiVoteCard) (*types.MsgMultiVoteCardResponse, error) { + ctx := sdk.UnwrapSDKContext(goCtx) + + voter, err := k.GetUserFromString(ctx, msg.Creator) + if err != nil { + return nil, sdkerrors.Wrap(types.ErrInvalidAccAddress, "Unable to convert to AccAddress") + } + + err = k.multiVote(ctx, &voter, msg.Votes, false) + if err != nil { + return nil, err + } + k.ClaimAirDrop(ctx, &voter, types.AirDrop_vote) + k.SetUserFromUser(ctx, voter) + + return &types.MsgMultiVoteCardResponse{}, nil +} diff --git a/x/cardchain/keeper/msg_server_open_booster_pack.go b/x/cardchain/keeper/msg_server_open_booster_pack.go index e85916e0..3e393f3c 100644 --- a/x/cardchain/keeper/msg_server_open_booster_pack.go +++ b/x/cardchain/keeper/msg_server_open_booster_pack.go @@ -3,14 +3,11 @@ package keeper import ( "context" "math/rand" + "slices" - "golang.org/x/exp/slices" - + sdkerrors "cosmossdk.io/errors" "github.com/DecentralCardGame/Cardchain/x/cardchain/types" - "github.com/DecentralCardGame/cardobject/cardobject" - "github.com/DecentralCardGame/cardobject/keywords" sdk "github.com/cosmos/cosmos-sdk/types" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" ) func (k msgServer) OpenBoosterPack(goCtx context.Context, msg *types.MsgOpenBoosterPack) (*types.MsgOpenBoosterPackResponse, error) { @@ -30,28 +27,34 @@ func (k msgServer) OpenBoosterPack(goCtx context.Context, msg *types.MsgOpenBoos ) } - var cardsList []uint64 - rarities := []string{"COMMON", "UNCOMMON", "RARE"} - - collection := k.Collections.Get(ctx, creator.BoosterPacks[msg.BoosterPackId].CollectionId) + var ( + cardsList []uint64 + cleanedRatios [3]uint64 + ) + set := k.Sets.Get(ctx, creator.BoosterPacks[msg.BoosterPackId].SetId) + rarityNums := k.getCardRaritiesInSet(ctx, set) + for idx, ratio := range creator.BoosterPacks[msg.BoosterPackId].DropRatiosPerPack { + if len(rarityNums[idx+2]) == 0 { + cleanedRatios[idx] = 0 + } else { + cleanedRatios[idx] = ratio + } + } for idx, num := range creator.BoosterPacks[msg.BoosterPackId].RaritiesPerPack { for i := 0; i < int(num); i++ { - var rarityCards []uint64 - for _, cardId := range collection.Cards { - cardobj, err := keywords.Unmarshal(k.Cards.Get(ctx, cardId).Content) - if err != nil { - return nil, sdkerrors.Wrap(types.ErrCardobject, err.Error()) - } - rarity, err := GetCardRarity(cardobj) - if err != nil { - return nil, sdkerrors.Wrap(types.ErrCardobject, err.Error()) - } - if *rarity == cardobject.Rarity(rarities[idx]) { - rarityCards = append(rarityCards, cardId) + if idx != 2 { + cardsList = append(cardsList, rarityNums[idx][rand.Intn(len(rarityNums[idx]))]) + } else { + res := uint64(rand.Intn(int(cleanedRatios[0] + cleanedRatios[1] + cleanedRatios[2]))) + j := 4 + if res < cleanedRatios[0] { + j = 2 + } else if res < cleanedRatios[0]+cleanedRatios[1] { + j = 3 } + cardsList = append(cardsList, rarityNums[j][rand.Intn(len(rarityNums[j]))]) } - cardsList = append(cardsList, rarityCards[rand.Intn(len(rarityCards))]) } } @@ -64,5 +67,13 @@ func (k msgServer) OpenBoosterPack(goCtx context.Context, msg *types.MsgOpenBoos k.SetUserFromUser(ctx, creator) - return &types.MsgOpenBoosterPackResponse{}, nil + return &types.MsgOpenBoosterPackResponse{CardIds: cardsList}, nil +} + +func (k Keeper) getCardRaritiesInSet(ctx sdk.Context, set *types.Set) (rarityNums [5][]uint64) { + for _, cardId := range set.Cards { + card := k.Cards.Get(ctx, cardId) + rarityNums[int(card.Rarity)] = append(rarityNums[int(card.Rarity)], cardId) + } + return } diff --git a/x/cardchain/keeper/msg_server_register_for_council.go b/x/cardchain/keeper/msg_server_register_for_council.go index 5836c3c3..b2875af4 100644 --- a/x/cardchain/keeper/msg_server_register_for_council.go +++ b/x/cardchain/keeper/msg_server_register_for_council.go @@ -2,11 +2,11 @@ package keeper import ( "context" + "slices" + sdkerrors "cosmossdk.io/errors" "github.com/DecentralCardGame/Cardchain/x/cardchain/types" sdk "github.com/cosmos/cosmos-sdk/types" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - "golang.org/x/exp/slices" ) func (k msgServer) RegisterForCouncil(goCtx context.Context, msg *types.MsgRegisterForCouncil) (*types.MsgRegisterForCouncilResponse, error) { diff --git a/x/cardchain/keeper/msg_server_remove_card_from_collection.go b/x/cardchain/keeper/msg_server_remove_card_from_collection.go deleted file mode 100644 index 7b6105ad..00000000 --- a/x/cardchain/keeper/msg_server_remove_card_from_collection.go +++ /dev/null @@ -1,33 +0,0 @@ -package keeper - -import ( - "context" - - "github.com/DecentralCardGame/Cardchain/x/cardchain/types" - sdk "github.com/cosmos/cosmos-sdk/types" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - "golang.org/x/exp/slices" -) - -func (k msgServer) RemoveCardFromCollection(goCtx context.Context, msg *types.MsgRemoveCardFromCollection) (*types.MsgRemoveCardFromCollectionResponse, error) { - ctx := sdk.UnwrapSDKContext(goCtx) - - collection := k.Collections.Get(ctx, msg.CollectionId) - if !slices.Contains(collection.Contributors, msg.Creator) { - return nil, sdkerrors.Wrap(sdkerrors.ErrUnauthorized, "Invalid contributor") - } - if collection.Status != types.CStatus_design { - return nil, types.ErrCollectionNotInDesign - } - - newCards, err := PopItemFromArr(msg.CardId, collection.Cards) - if err != nil { - return nil, sdkerrors.Wrapf(err, "Card: %d", msg.CardId) - } - - collection.Cards = newCards - - k.Collections.Set(ctx, msg.CollectionId, collection) - - return &types.MsgRemoveCardFromCollectionResponse{}, nil -} diff --git a/x/cardchain/keeper/msg_server_remove_card_from_set.go b/x/cardchain/keeper/msg_server_remove_card_from_set.go new file mode 100644 index 00000000..9444d574 --- /dev/null +++ b/x/cardchain/keeper/msg_server_remove_card_from_set.go @@ -0,0 +1,34 @@ +package keeper + +import ( + "context" + "slices" + + sdkerrors "cosmossdk.io/errors" + "github.com/DecentralCardGame/Cardchain/x/cardchain/types" + sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/cosmos/cosmos-sdk/types/errors" +) + +func (k msgServer) RemoveCardFromSet(goCtx context.Context, msg *types.MsgRemoveCardFromSet) (*types.MsgRemoveCardFromSetResponse, error) { + ctx := sdk.UnwrapSDKContext(goCtx) + + set := k.Sets.Get(ctx, msg.SetId) + if !slices.Contains(set.Contributors, msg.Creator) { + return nil, sdkerrors.Wrap(errors.ErrUnauthorized, "Invalid contributor") + } + if set.Status != types.CStatus_design { + return nil, types.ErrSetNotInDesign + } + + newCards, err := PopItemFromArr(msg.CardId, set.Cards) + if err != nil { + return nil, sdkerrors.Wrapf(err, "Card: %d", msg.CardId) + } + + set.Cards = newCards + + k.Sets.Set(ctx, msg.SetId, set) + + return &types.MsgRemoveCardFromSetResponse{}, nil +} diff --git a/x/cardchain/keeper/msg_server_remove_contributor_from_collection.go b/x/cardchain/keeper/msg_server_remove_contributor_from_collection.go deleted file mode 100644 index 17408ed1..00000000 --- a/x/cardchain/keeper/msg_server_remove_contributor_from_collection.go +++ /dev/null @@ -1,41 +0,0 @@ -package keeper - -import ( - "context" - - "github.com/DecentralCardGame/Cardchain/x/cardchain/types" - sdk "github.com/cosmos/cosmos-sdk/types" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" -) - -func (k msgServer) RemoveContributorFromCollection(goCtx context.Context, msg *types.MsgRemoveContributorFromCollection) (*types.MsgRemoveContributorFromCollectionResponse, error) { - ctx := sdk.UnwrapSDKContext(goCtx) - - collection := k.Collections.Get(ctx, msg.CollectionId) - if msg.Creator != collection.Contributors[0] { - return nil, sdkerrors.Wrap(sdkerrors.ErrUnauthorized, "Invalid creator") - } - if collection.Status != types.CStatus_design { - return nil, types.ErrCollectionNotInDesign - } - - newContributors, err := stringPopElementFromArr(msg.User, collection.Contributors) - if err != nil { - return nil, sdkerrors.Wrap(err, "Contributor is not a contributor: "+msg.User) - } - - collection.Contributors = newContributors - - k.Collections.Set(ctx, msg.CollectionId, collection) - - return &types.MsgRemoveContributorFromCollectionResponse{}, nil -} - -func stringPopElementFromArr(element string, arr []string) ([]string, error) { - for idx, val := range arr { - if element == val { - return append(arr[:idx], arr[idx+1:]...), nil - } - } - return []string{}, types.ErrContributor -} diff --git a/x/cardchain/keeper/msg_server_remove_contributor_from_set.go b/x/cardchain/keeper/msg_server_remove_contributor_from_set.go new file mode 100644 index 00000000..b02e2c78 --- /dev/null +++ b/x/cardchain/keeper/msg_server_remove_contributor_from_set.go @@ -0,0 +1,42 @@ +package keeper + +import ( + "context" + + sdkerrors "cosmossdk.io/errors" + "github.com/DecentralCardGame/Cardchain/x/cardchain/types" + sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/cosmos/cosmos-sdk/types/errors" +) + +func (k msgServer) RemoveContributorFromSet(goCtx context.Context, msg *types.MsgRemoveContributorFromSet) (*types.MsgRemoveContributorFromSetResponse, error) { + ctx := sdk.UnwrapSDKContext(goCtx) + + set := k.Sets.Get(ctx, msg.SetId) + if msg.Creator != set.Contributors[0] { + return nil, sdkerrors.Wrap(errors.ErrUnauthorized, "Invalid creator") + } + if set.Status != types.CStatus_design { + return nil, types.ErrSetNotInDesign + } + + newContributors, err := stringPopElementFromArr(msg.User, set.Contributors) + if err != nil { + return nil, sdkerrors.Wrap(err, "Contributor is not a contributor: "+msg.User) + } + + set.Contributors = newContributors + + k.Sets.Set(ctx, msg.SetId, set) + + return &types.MsgRemoveContributorFromSetResponse{}, nil +} + +func stringPopElementFromArr(element string, arr []string) ([]string, error) { + for idx, val := range arr { + if element == val { + return append(arr[:idx], arr[idx+1:]...), nil + } + } + return []string{}, types.ErrContributor +} diff --git a/x/cardchain/keeper/msg_server_remove_sell_offer.go b/x/cardchain/keeper/msg_server_remove_sell_offer.go index b162e253..562a92fe 100644 --- a/x/cardchain/keeper/msg_server_remove_sell_offer.go +++ b/x/cardchain/keeper/msg_server_remove_sell_offer.go @@ -3,9 +3,10 @@ package keeper import ( "context" + sdkerrors "cosmossdk.io/errors" "github.com/DecentralCardGame/Cardchain/x/cardchain/types" sdk "github.com/cosmos/cosmos-sdk/types" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/cosmos/cosmos-sdk/types/errors" ) func (k msgServer) RemoveSellOffer(goCtx context.Context, msg *types.MsgRemoveSellOffer) (*types.MsgRemoveSellOfferResponse, error) { @@ -19,7 +20,7 @@ func (k msgServer) RemoveSellOffer(goCtx context.Context, msg *types.MsgRemoveSe sellOffer := k.SellOffers.Get(ctx, msg.SellOfferId) if sellOffer.Seller != msg.Creator { - return nil, sdkerrors.Wrap(sdkerrors.ErrUnauthorized, "Incorrect Seller") + return nil, sdkerrors.Wrap(errors.ErrUnauthorized, "Incorrect Seller") } if sellOffer.Status != types.SellOfferStatus_open { diff --git a/x/cardchain/keeper/msg_server_report_match.go b/x/cardchain/keeper/msg_server_report_match.go index 370e328a..0d5b4a37 100644 --- a/x/cardchain/keeper/msg_server_report_match.go +++ b/x/cardchain/keeper/msg_server_report_match.go @@ -4,47 +4,40 @@ import ( "context" "time" + sdkerrors "cosmossdk.io/errors" "github.com/DecentralCardGame/Cardchain/x/cardchain/types" sdk "github.com/cosmos/cosmos-sdk/types" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/cosmos/cosmos-sdk/types/errors" ) func (k msgServer) ReportMatch(goCtx context.Context, msg *types.MsgReportMatch) (*types.MsgReportMatchResponse, error) { ctx := sdk.UnwrapSDKContext(goCtx) + match := k.Matches.Get(ctx, msg.MatchId) + creator, err := k.GetUserFromString(ctx, msg.Creator) if err != nil { return nil, sdkerrors.Wrap(types.ErrUserDoesNotExist, err.Error()) } if creator.ReportMatches == false { - return nil, sdkerrors.Wrap(sdkerrors.ErrUnauthorized, "Incorrect Reporter") + return nil, sdkerrors.Wrap(errors.ErrUnauthorized, "Incorrect Reporter") } - - matchId := k.Matches.GetNum(ctx) - - match := types.Match{ - Timestamp: uint64(time.Now().Unix()), - Reporter: msg.Creator, - PlayerA: types.NewMatchPlayer(msg.PlayerA, msg.CardsA), - PlayerB: types.NewMatchPlayer(msg.PlayerB, msg.CardsB), - Outcome: msg.Outcome, - CoinsDistributed: false, + if msg.Creator != match.Reporter { + return nil, sdkerrors.Wrapf(errors.ErrUnauthorized, "Wrong Reporter, reporter is %s", match.Reporter) + } + if !match.CoinsDistributed { + return nil, sdkerrors.Wrap(errors.ErrUnauthorized, "Match already reported") } - _, err = k.GetMatchAddresses(ctx, match) + match.Outcome = msg.Outcome + match.Timestamp = uint64(time.Now().Unix()) + + err = k.TryHandleMatchOutcome(ctx, match) if err != nil { return nil, err } - if msg.Outcome == types.Outcome_Aborted { - err = k.DistributeCoins(ctx, &match, msg.Outcome) - if err != nil { - return nil, err - } - k.ReportServerMatch(ctx, msg.Creator, 1, true) - } - - k.Matches.Set(ctx, matchId, &match) + k.Matches.Set(ctx, msg.MatchId, match) return &types.MsgReportMatchResponse{}, nil } diff --git a/x/cardchain/keeper/msg_server_restart_council.go b/x/cardchain/keeper/msg_server_restart_council.go index 79f2cf00..df38863f 100644 --- a/x/cardchain/keeper/msg_server_restart_council.go +++ b/x/cardchain/keeper/msg_server_restart_council.go @@ -3,9 +3,10 @@ package keeper import ( "context" + sdkerrors "cosmossdk.io/errors" "github.com/DecentralCardGame/Cardchain/x/cardchain/types" sdk "github.com/cosmos/cosmos-sdk/types" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/cosmos/cosmos-sdk/types/errors" ) func (k msgServer) RestartCouncil(goCtx context.Context, msg *types.MsgRestartCouncil) (*types.MsgRestartCouncilResponse, error) { @@ -14,7 +15,7 @@ func (k msgServer) RestartCouncil(goCtx context.Context, msg *types.MsgRestartCo council := k.Councils.Get(ctx, msg.CouncilId) card := k.Cards.Get(ctx, council.CardId) if card.Owner != msg.Creator { - return nil, sdkerrors.Wrap(sdkerrors.ErrUnauthorized, "Invalid Owner") + return nil, sdkerrors.Wrap(errors.ErrUnauthorized, "Invalid Owner") } if council.Status != types.CouncelingStatus_suggestionsMade { diff --git a/x/cardchain/keeper/msg_server_reveal_council_response.go b/x/cardchain/keeper/msg_server_reveal_council_response.go index 2ecda4cb..6997cff7 100644 --- a/x/cardchain/keeper/msg_server_reveal_council_response.go +++ b/x/cardchain/keeper/msg_server_reveal_council_response.go @@ -2,11 +2,12 @@ package keeper import ( "context" + "slices" + sdkerrors "cosmossdk.io/errors" "github.com/DecentralCardGame/Cardchain/x/cardchain/types" sdk "github.com/cosmos/cosmos-sdk/types" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - "golang.org/x/exp/slices" + "github.com/cosmos/cosmos-sdk/types/errors" ) func (k msgServer) RevealCouncilResponse(goCtx context.Context, msg *types.MsgRevealCouncilResponse) (*types.MsgRevealCouncilResponseResponse, error) { @@ -21,7 +22,7 @@ func (k msgServer) RevealCouncilResponse(goCtx context.Context, msg *types.MsgRe council := k.Councils.Get(ctx, msg.CouncilId) if !slices.Contains(council.Voters, msg.Creator) { - return nil, sdkerrors.Wrap(sdkerrors.ErrUnauthorized, "Invalid Voter") + return nil, sdkerrors.Wrap(errors.ErrUnauthorized, "Invalid Voter") } if council.Status != types.CouncelingStatus_commited { @@ -34,7 +35,7 @@ func (k msgServer) RevealCouncilResponse(goCtx context.Context, msg *types.MsgRe } if slices.Contains(allreadyVoted, msg.Creator) { - return nil, sdkerrors.Wrap(sdkerrors.ErrUnauthorized, "Already voted") + return nil, sdkerrors.Wrap(errors.ErrUnauthorized, "Already voted") } hashStringResponse := GetResponseHash(msg.Response, msg.Secret) @@ -60,7 +61,7 @@ func (k msgServer) RevealCouncilResponse(goCtx context.Context, msg *types.MsgRe err = k.BurnCoinsFromAddr(ctx, creator.Addr, sdk.Coins{collateralDeposit}) if err != nil { - return nil, sdkerrors.Wrap(sdkerrors.ErrInsufficientFunds, "Voter does not have enough coins") + return nil, sdkerrors.Wrap(errors.ErrInsufficientFunds, "Voter does not have enough coins") } council.Treasury = council.Treasury.Add(collateralDeposit) diff --git a/x/cardchain/keeper/msg_server_rewoke_council_registration.go b/x/cardchain/keeper/msg_server_rewoke_council_registration.go index 40602f15..3f043a1d 100644 --- a/x/cardchain/keeper/msg_server_rewoke_council_registration.go +++ b/x/cardchain/keeper/msg_server_rewoke_council_registration.go @@ -3,9 +3,9 @@ package keeper import ( "context" + sdkerrors "cosmossdk.io/errors" "github.com/DecentralCardGame/Cardchain/x/cardchain/types" sdk "github.com/cosmos/cosmos-sdk/types" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" ) func (k msgServer) RewokeCouncilRegistration(goCtx context.Context, msg *types.MsgRewokeCouncilRegistration) (*types.MsgRewokeCouncilRegistrationResponse, error) { diff --git a/x/cardchain/keeper/msg_server_save_card_content.go b/x/cardchain/keeper/msg_server_save_card_content.go index a8e497b9..1ee82f76 100644 --- a/x/cardchain/keeper/msg_server_save_card_content.go +++ b/x/cardchain/keeper/msg_server_save_card_content.go @@ -4,31 +4,36 @@ import ( "context" "encoding/json" + sdkerrors "cosmossdk.io/errors" "github.com/DecentralCardGame/Cardchain/x/cardchain/types" "github.com/DecentralCardGame/cardobject/keywords" sdk "github.com/cosmos/cosmos-sdk/types" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/cosmos/cosmos-sdk/types/errors" ) func (k msgServer) SaveCardContent(goCtx context.Context, msg *types.MsgSaveCardContent) (*types.MsgSaveCardContentResponse, error) { ctx := sdk.UnwrapSDKContext(goCtx) card := k.Cards.Get(ctx, msg.CardId) + councilEnabled, err := k.FeatureFlagModuleInstance.Get(ctx, string(types.FeatureFlagName_Council)) + if err != nil { + return nil, err + } msgOwner, err := k.GetUserFromString(ctx, msg.Creator) if err != nil { return nil, sdkerrors.Wrap(types.ErrInvalidAccAddress, err.Error()) } - // TODO - //if card.Status != types.Status_prototype { - // return nil, sdkerrors.Wrap(types.ErrInvalidCardStatus, "Card has to be a prototype to be changeable") - //} + // Checks card status + if councilEnabled && card.Status != types.Status_prototype { + return nil, sdkerrors.Wrap(types.ErrInvalidCardStatus, "Card has to be a prototype to be changeable") + } if card.Owner == "" { - return nil, sdkerrors.Wrap(sdkerrors.ErrUnauthorized, "Card has no owner") + return nil, sdkerrors.Wrap(errors.ErrUnauthorized, "Card has no owner") } else if msg.Creator != card.Owner { // Checks if the the msg sender is the same as the current owner - return nil, sdkerrors.Wrap(sdkerrors.ErrUnauthorized, "Incorrect Owner") + return nil, sdkerrors.Wrap(errors.ErrUnauthorized, "Incorrect Owner") } cardobj, err := keywords.Unmarshal([]byte(msg.Content)) @@ -44,18 +49,23 @@ func (k msgServer) SaveCardContent(goCtx context.Context, msg *types.MsgSaveCard card.Notes = msg.Notes card.Artist = msg.Artist + card.BalanceAnchor = msg.BalanceAnchor if card.Status == types.Status_scheme { err = k.TransferSchemeToCard(ctx, msg.CardId, &msgOwner) if err != nil { - return nil, sdkerrors.Wrap(sdkerrors.ErrUnauthorized, "An error accured while converting a card to a scheme: "+err.Error()) + return nil, sdkerrors.Wrap(errors.ErrUnauthorized, "An error accured while converting a card to a scheme: "+err.Error()) } } claimedAirdrop := k.ClaimAirDrop(ctx, &msgOwner, types.AirDrop_create) k.SetUserFromUser(ctx, msgOwner) - card.Status = types.Status_prototype - //card.Status = types.Status_permanent // TODO: remove later + // Sets correct state + if councilEnabled { + card.Status = types.Status_prototype + } else { + card.Status = types.Status_permanent + } k.Cards.Set(ctx, msg.CardId, card) return &types.MsgSaveCardContentResponse{AirdropClaimed: claimedAirdrop}, nil diff --git a/x/cardchain/keeper/msg_server_set_card_rarity.go b/x/cardchain/keeper/msg_server_set_card_rarity.go index 4d8fc51e..a27371d7 100644 --- a/x/cardchain/keeper/msg_server_set_card_rarity.go +++ b/x/cardchain/keeper/msg_server_set_card_rarity.go @@ -2,51 +2,25 @@ package keeper import ( "context" - "encoding/json" - "errors" + "slices" + sdkerrors "cosmossdk.io/errors" "github.com/DecentralCardGame/Cardchain/x/cardchain/types" - "github.com/DecentralCardGame/cardobject/cardobject" - "github.com/DecentralCardGame/cardobject/keywords" sdk "github.com/cosmos/cosmos-sdk/types" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - "golang.org/x/exp/slices" + sdkerrors2 "github.com/cosmos/cosmos-sdk/types/errors" ) func (k msgServer) SetCardRarity(goCtx context.Context, msg *types.MsgSetCardRarity) (*types.MsgSetCardRarityResponse, error) { ctx := sdk.UnwrapSDKContext(goCtx) card := k.Cards.Get(ctx, msg.CardId) - collection := k.Collections.Get(ctx, msg.CollectionId) + set := k.Sets.Get(ctx, msg.SetId) - if collection.Contributors[0] != msg.Creator || !slices.Contains(collection.Cards, msg.CardId) { - return nil, sdkerrors.Wrap(sdkerrors.ErrUnauthorized, "Incorrect Creator") + if set.Contributors[0] != msg.Creator || !slices.Contains(set.Cards, msg.CardId) { + return nil, sdkerrors.Wrap(sdkerrors2.ErrUnauthorized, "Incorrect Creator") } - cardobj, err := keywords.Unmarshal(card.Content) - if err != nil { - return nil, sdkerrors.Wrap(types.ErrCardobject, err.Error()) - } - - rarity := cardobject.Rarity(msg.Rarity) - if cardobj.Action != nil { - cardobj.Action.Rarity = &rarity - } else if cardobj.Place != nil { - cardobj.Place.Rarity = &rarity - } else if cardobj.Entity != nil { - cardobj.Entity.Rarity = &rarity - } else if cardobj.Headquarter != nil { - cardobj.Headquarter.Rarity = &rarity - } else { - return nil, errors.New("no card-attributes") - } - - cardbytes, err := json.Marshal(cardobj) - if err != nil { - return nil, sdkerrors.Wrap(types.ErrCardobject, err.Error()) - } - card.Content = cardbytes - + card.Rarity = msg.Rarity k.Cards.Set(ctx, msg.CardId, card) return &types.MsgSetCardRarityResponse{}, nil diff --git a/x/cardchain/keeper/msg_server_set_collection_artist.go b/x/cardchain/keeper/msg_server_set_collection_artist.go deleted file mode 100644 index 23b9977c..00000000 --- a/x/cardchain/keeper/msg_server_set_collection_artist.go +++ /dev/null @@ -1,28 +0,0 @@ -package keeper - -import ( - "context" - - "github.com/DecentralCardGame/Cardchain/x/cardchain/types" - sdk "github.com/cosmos/cosmos-sdk/types" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" -) - -func (k msgServer) SetCollectionArtist(goCtx context.Context, msg *types.MsgSetCollectionArtist) (*types.MsgSetCollectionArtistResponse, error) { - ctx := sdk.UnwrapSDKContext(goCtx) - - collection := k.Collections.Get(ctx, msg.CollectionId) - if msg.Creator != collection.Contributors[0] { - return nil, sdkerrors.Wrap(sdkerrors.ErrUnauthorized, "Invalid creator") - } - - if collection.Status != types.CStatus_design { - return nil, types.ErrCollectionNotInDesign - } - - collection.Artist = msg.Artist - - k.Collections.Set(ctx, msg.CollectionId, collection) - - return &types.MsgSetCollectionArtistResponse{}, nil -} diff --git a/x/cardchain/keeper/msg_server_set_collection_story_writer.go b/x/cardchain/keeper/msg_server_set_collection_story_writer.go deleted file mode 100644 index a07eccf1..00000000 --- a/x/cardchain/keeper/msg_server_set_collection_story_writer.go +++ /dev/null @@ -1,28 +0,0 @@ -package keeper - -import ( - "context" - - "github.com/DecentralCardGame/Cardchain/x/cardchain/types" - sdk "github.com/cosmos/cosmos-sdk/types" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" -) - -func (k msgServer) SetCollectionStoryWriter(goCtx context.Context, msg *types.MsgSetCollectionStoryWriter) (*types.MsgSetCollectionStoryWriterResponse, error) { - ctx := sdk.UnwrapSDKContext(goCtx) - - collection := k.Collections.Get(ctx, msg.CollectionId) - if msg.Creator != collection.Contributors[0] { - return nil, sdkerrors.Wrap(sdkerrors.ErrUnauthorized, "Invalid creator") - } - - if collection.Status != types.CStatus_design { - return nil, types.ErrCollectionNotInDesign - } - - collection.StoryWriter = msg.StoryWriter - - k.Collections.Set(ctx, msg.CollectionId, collection) - - return &types.MsgSetCollectionStoryWriterResponse{}, nil -} diff --git a/x/cardchain/keeper/msg_server_set_profile_card.go b/x/cardchain/keeper/msg_server_set_profile_card.go index 0fbeacd2..51dbb569 100644 --- a/x/cardchain/keeper/msg_server_set_profile_card.go +++ b/x/cardchain/keeper/msg_server_set_profile_card.go @@ -2,11 +2,12 @@ package keeper import ( "context" + "slices" + sdkerrors "cosmossdk.io/errors" "github.com/DecentralCardGame/Cardchain/x/cardchain/types" sdk "github.com/cosmos/cosmos-sdk/types" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - "golang.org/x/exp/slices" + "github.com/cosmos/cosmos-sdk/types/errors" ) func (k msgServer) SetProfileCard(goCtx context.Context, msg *types.MsgSetProfileCard) (*types.MsgSetProfileCardResponse, error) { @@ -19,9 +20,9 @@ func (k msgServer) SetProfileCard(goCtx context.Context, msg *types.MsgSetProfil card := k.Cards.Get(ctx, msg.CardId) if card.Owner != msg.Creator { - return nil, sdkerrors.Wrap(sdkerrors.ErrUnauthorized, "You have to own the card") + return nil, sdkerrors.Wrap(errors.ErrUnauthorized, "You have to own the card") } else if !slices.Contains([]types.Status{types.Status_trial, types.Status_permanent}, card.Status) { - return nil, sdkerrors.Wrap(sdkerrors.ErrUnauthorized, "The card has to be playable") + return nil, sdkerrors.Wrap(errors.ErrUnauthorized, "The card has to be playable") } user.ProfileCard = msg.CardId diff --git a/x/cardchain/keeper/msg_server_set_set_artist.go b/x/cardchain/keeper/msg_server_set_set_artist.go new file mode 100644 index 00000000..77a28d4f --- /dev/null +++ b/x/cardchain/keeper/msg_server_set_set_artist.go @@ -0,0 +1,24 @@ +package keeper + +import ( + "context" + + "github.com/DecentralCardGame/Cardchain/x/cardchain/types" + sdk "github.com/cosmos/cosmos-sdk/types" +) + +func (k msgServer) SetSetArtist(goCtx context.Context, msg *types.MsgSetSetArtist) (*types.MsgSetSetArtistResponse, error) { + ctx := sdk.UnwrapSDKContext(goCtx) + + set := k.Sets.Get(ctx, msg.SetId) + err := checkSetEditable(set, msg.Creator) + if err != nil { + return nil, err + } + + set.Artist = msg.Artist + + k.Sets.Set(ctx, msg.SetId, set) + + return &types.MsgSetSetArtistResponse{}, nil +} diff --git a/x/cardchain/keeper/msg_server_set_set_name.go b/x/cardchain/keeper/msg_server_set_set_name.go new file mode 100644 index 00000000..bff444a5 --- /dev/null +++ b/x/cardchain/keeper/msg_server_set_set_name.go @@ -0,0 +1,24 @@ +package keeper + +import ( + "context" + + "github.com/DecentralCardGame/Cardchain/x/cardchain/types" + sdk "github.com/cosmos/cosmos-sdk/types" +) + +func (k msgServer) SetSetName(goCtx context.Context, msg *types.MsgSetSetName) (*types.MsgSetSetNameResponse, error) { + ctx := sdk.UnwrapSDKContext(goCtx) + + set := k.Sets.Get(ctx, msg.SetId) + err := checkSetEditable(set, msg.Creator) + if err != nil { + return nil, err + } + + set.Name = msg.Name + + k.Sets.Set(ctx, msg.SetId, set) + + return &types.MsgSetSetNameResponse{}, nil +} diff --git a/x/cardchain/keeper/msg_server_set_set_story_writer.go b/x/cardchain/keeper/msg_server_set_set_story_writer.go new file mode 100644 index 00000000..a2129645 --- /dev/null +++ b/x/cardchain/keeper/msg_server_set_set_story_writer.go @@ -0,0 +1,24 @@ +package keeper + +import ( + "context" + + "github.com/DecentralCardGame/Cardchain/x/cardchain/types" + sdk "github.com/cosmos/cosmos-sdk/types" +) + +func (k msgServer) SetSetStoryWriter(goCtx context.Context, msg *types.MsgSetSetStoryWriter) (*types.MsgSetSetStoryWriterResponse, error) { + ctx := sdk.UnwrapSDKContext(goCtx) + + set := k.Sets.Get(ctx, msg.SetId) + err := checkSetEditable(set, msg.Creator) + if err != nil { + return nil, err + } + + set.StoryWriter = msg.StoryWriter + + k.Sets.Set(ctx, msg.SetId, set) + + return &types.MsgSetSetStoryWriterResponse{}, nil +} diff --git a/x/cardchain/keeper/msg_server_set_user_biography.go b/x/cardchain/keeper/msg_server_set_user_biography.go index 161bfec4..05539586 100644 --- a/x/cardchain/keeper/msg_server_set_user_biography.go +++ b/x/cardchain/keeper/msg_server_set_user_biography.go @@ -3,9 +3,9 @@ package keeper import ( "context" + sdkerrors "cosmossdk.io/errors" "github.com/DecentralCardGame/Cardchain/x/cardchain/types" sdk "github.com/cosmos/cosmos-sdk/types" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" ) func (k msgServer) SetUserBiography(goCtx context.Context, msg *types.MsgSetUserBiography) (*types.MsgSetUserBiographyResponse, error) { diff --git a/x/cardchain/keeper/msg_server_set_user_website.go b/x/cardchain/keeper/msg_server_set_user_website.go index 25f18ff0..e12ca40e 100644 --- a/x/cardchain/keeper/msg_server_set_user_website.go +++ b/x/cardchain/keeper/msg_server_set_user_website.go @@ -3,9 +3,9 @@ package keeper import ( "context" + sdkerrors "cosmossdk.io/errors" "github.com/DecentralCardGame/Cardchain/x/cardchain/types" sdk "github.com/cosmos/cosmos-sdk/types" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" ) func (k msgServer) SetUserWebsite(goCtx context.Context, msg *types.MsgSetUserWebsite) (*types.MsgSetUserWebsiteResponse, error) { diff --git a/x/cardchain/keeper/msg_server_submit_collection_proposal.go b/x/cardchain/keeper/msg_server_submit_collection_proposal.go deleted file mode 100644 index 4d614c37..00000000 --- a/x/cardchain/keeper/msg_server_submit_collection_proposal.go +++ /dev/null @@ -1,17 +0,0 @@ -package keeper - -import ( - "context" - - "github.com/DecentralCardGame/Cardchain/x/cardchain/types" - sdk "github.com/cosmos/cosmos-sdk/types" -) - -func (k msgServer) SubmitCollectionProposal(goCtx context.Context, msg *types.MsgSubmitCollectionProposal) (*types.MsgSubmitCollectionProposalResponse, error) { - ctx := sdk.UnwrapSDKContext(goCtx) - - // TODO: Handling the message - _ = ctx - - return &types.MsgSubmitCollectionProposalResponse{}, nil -} diff --git a/x/cardchain/keeper/msg_server_submit_copyright_proposal.go b/x/cardchain/keeper/msg_server_submit_copyright_proposal.go deleted file mode 100644 index f03658c8..00000000 --- a/x/cardchain/keeper/msg_server_submit_copyright_proposal.go +++ /dev/null @@ -1,17 +0,0 @@ -package keeper - -import ( - "context" - - "github.com/DecentralCardGame/Cardchain/x/cardchain/types" - sdk "github.com/cosmos/cosmos-sdk/types" -) - -func (k msgServer) SubmitCopyrightProposal(goCtx context.Context, msg *types.MsgSubmitCopyrightProposal) (*types.MsgSubmitCopyrightProposalResponse, error) { - ctx := sdk.UnwrapSDKContext(goCtx) - - // TODO: Handling the message - _ = ctx - - return &types.MsgSubmitCopyrightProposalResponse{}, nil -} diff --git a/x/cardchain/keeper/msg_server_submit_match_reporter_proposal.go b/x/cardchain/keeper/msg_server_submit_match_reporter_proposal.go deleted file mode 100644 index 0fa48dc2..00000000 --- a/x/cardchain/keeper/msg_server_submit_match_reporter_proposal.go +++ /dev/null @@ -1,17 +0,0 @@ -package keeper - -import ( - "context" - - "github.com/DecentralCardGame/Cardchain/x/cardchain/types" - sdk "github.com/cosmos/cosmos-sdk/types" -) - -func (k msgServer) SubmitMatchReporterProposal(goCtx context.Context, msg *types.MsgSubmitMatchReporterProposal) (*types.MsgSubmitMatchReporterProposalResponse, error) { - ctx := sdk.UnwrapSDKContext(goCtx) - - // TODO: Handling the message - _ = ctx - - return &types.MsgSubmitMatchReporterProposalResponse{}, nil -} diff --git a/x/cardchain/keeper/msg_server_transfer_booster_pack.go b/x/cardchain/keeper/msg_server_transfer_booster_pack.go index 7485bd87..0f2992d0 100644 --- a/x/cardchain/keeper/msg_server_transfer_booster_pack.go +++ b/x/cardchain/keeper/msg_server_transfer_booster_pack.go @@ -2,11 +2,11 @@ package keeper import ( "context" + "slices" + sdkerrors "cosmossdk.io/errors" "github.com/DecentralCardGame/Cardchain/x/cardchain/types" sdk "github.com/cosmos/cosmos-sdk/types" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - "golang.org/x/exp/slices" ) func (k msgServer) TransferBoosterPack(goCtx context.Context, msg *types.MsgTransferBoosterPack) (*types.MsgTransferBoosterPackResponse, error) { diff --git a/x/cardchain/keeper/msg_server_transfer_card.go b/x/cardchain/keeper/msg_server_transfer_card.go index 82873c86..fdbfc847 100644 --- a/x/cardchain/keeper/msg_server_transfer_card.go +++ b/x/cardchain/keeper/msg_server_transfer_card.go @@ -3,9 +3,10 @@ package keeper import ( "context" + sdkerrors "cosmossdk.io/errors" "github.com/DecentralCardGame/Cardchain/x/cardchain/types" sdk "github.com/cosmos/cosmos-sdk/types" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/cosmos/cosmos-sdk/types/errors" ) func (k msgServer) TransferCard(goCtx context.Context, msg *types.MsgTransferCard) (*types.MsgTransferCardResponse, error) { @@ -23,21 +24,21 @@ func (k msgServer) TransferCard(goCtx context.Context, msg *types.MsgTransferCar } if card.Owner == "" { - return nil, sdkerrors.Wrap(sdkerrors.ErrUnauthorized, "Card has no owner") + return nil, sdkerrors.Wrap(errors.ErrUnauthorized, "Card has no owner") } else if msg.Creator != card.Owner { // Checks if the the msg sender is the same as the current owner - return nil, sdkerrors.Wrap(sdkerrors.ErrUnauthorized, "Incorrect Owner") // If not, throw an error + return nil, sdkerrors.Wrap(errors.ErrUnauthorized, "Incorrect Owner") // If not, throw an error } if card.Status == types.Status_scheme { creator.OwnedCardSchemes, err = PopItemFromArr(msg.CardId, creator.OwnedCardSchemes) if err != nil { - return nil, sdkerrors.Wrap(sdkerrors.ErrUnauthorized, err.Error()) + return nil, sdkerrors.Wrap(errors.ErrUnauthorized, err.Error()) } receiver.OwnedCardSchemes = append(receiver.OwnedCardSchemes, msg.CardId) } else { creator.OwnedPrototypes, err = PopItemFromArr(msg.CardId, creator.OwnedPrototypes) if err != nil { - return nil, sdkerrors.Wrap(sdkerrors.ErrUnauthorized, err.Error()) + return nil, sdkerrors.Wrap(errors.ErrUnauthorized, err.Error()) } receiver.OwnedPrototypes = append(receiver.OwnedPrototypes, msg.CardId) } diff --git a/x/cardchain/keeper/msg_server_vote_card.go b/x/cardchain/keeper/msg_server_vote_card.go index f50110dd..e9e6ae26 100644 --- a/x/cardchain/keeper/msg_server_vote_card.go +++ b/x/cardchain/keeper/msg_server_vote_card.go @@ -2,12 +2,10 @@ package keeper import ( "context" - "fmt" + sdkerrors "cosmossdk.io/errors" "github.com/DecentralCardGame/Cardchain/x/cardchain/types" sdk "github.com/cosmos/cosmos-sdk/types" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - "golang.org/x/exp/slices" ) func (k msgServer) VoteCard(goCtx context.Context, msg *types.MsgVoteCard) (*types.MsgVoteCardResponse, error) { @@ -18,64 +16,12 @@ func (k msgServer) VoteCard(goCtx context.Context, msg *types.MsgVoteCard) (*typ return nil, sdkerrors.Wrap(types.ErrInvalidAccAddress, "Unable to convert to AccAddress") } - voteRights := voter.VoteRights - rightsIndex := slices.IndexFunc(voteRights, func(s *types.VoteRight) bool { return s.CardId == msg.CardId }) - - // check if voting rights are true - if rightsIndex < 0 { - return nil, sdkerrors.Wrap(types.ErrVoterHasNoVotingRights, "No Voting Rights") - } - - //check if voting rights are timed out - if ctx.BlockHeight() > voteRights[rightsIndex].ExpireBlock { - k.RemoveVoteRight(ctx, &voter, rightsIndex) - return nil, sdkerrors.Wrap(types.ErrVoteRightIsExpired, "Voting Right has expired") - } - - // if the vote right is valid, get the Card - card := k.Cards.Get(ctx, msg.CardId) - - // check if card status is valid - if card.Status != types.Status_permanent && card.Status != types.Status_trial { - return nil, sdkerrors.Wrap(sdkerrors.ErrUnknownRequest, "Voting on a card is only possible if it is in trial or a permanent card") - } - - switch msg.VoteType { - case "fair_enough": - card.FairEnoughVotes++ - case "inappropriate": - card.InappropriateVotes++ - case "overpowered": - card.OverpoweredVotes++ - case "underpowered": - card.UnderpoweredVotes++ - default: - errMsg := fmt.Sprintf("Unrecognized card vote type: %s", msg.VoteType) - return nil, sdkerrors.Wrap(sdkerrors.ErrUnknownRequest, errMsg) - } - card.Voters = append(card.Voters, msg.Creator) - - // check for specific bounty on the card - if !card.VotePool.IsZero() { - reward := k.GetParams(ctx).TrialVoteReward - err := k.MintCoinsToAddr(ctx, voter.Addr, sdk.Coins{reward}) - if err != nil { - return nil, sdkerrors.Wrap(sdkerrors.ErrInsufficientFunds, err.Error()) - } - card.VotePool.Sub(reward) // TODO actually if there is less than 1cr then it should be adjusted + err = k.voteCard(ctx, &voter, msg.CardId, msg.VoteType, false) + if err != nil { + return nil, err } - amount := k.GetVoteReward(ctx) - k.MintCoinsToAddr(ctx, voter.Addr, sdk.Coins{amount}) - k.SubPoolCredits(ctx, BalancersPoolKey, amount) - - k.Cards.Set(ctx, msg.CardId, card) - - votes := k.RunningAverages.Get(ctx, Votes24ValueKey) - votes.Arr[len(votes.Arr)-1]++ - k.RunningAverages.Set(ctx, Votes24ValueKey, votes) - - k.RemoveVoteRight(ctx, &voter, rightsIndex) + k.incVotesAverageBy(ctx, 1) claimedAirdrop := k.ClaimAirDrop(ctx, &voter, types.AirDrop_vote) k.SetUserFromUser(ctx, voter) diff --git a/x/cardchain/keeper/set.go b/x/cardchain/keeper/set.go new file mode 100644 index 00000000..2f7903cf --- /dev/null +++ b/x/cardchain/keeper/set.go @@ -0,0 +1,100 @@ +package keeper + +import ( + "github.com/cosmos/cosmos-sdk/types/errors" + + sdkerrors "cosmossdk.io/errors" + "github.com/DecentralCardGame/Cardchain/x/cardchain/types" + sdk "github.com/cosmos/cosmos-sdk/types" +) + +// CollectSetFee Collects a fee from a user +func (k Keeper) CollectSetFee(ctx sdk.Context, price sdk.Coin, creator string) error { + err := k.BurnCoinsFromString(ctx, creator, sdk.Coins{price}) + if err != nil { + return err + } + k.AddPoolCredits(ctx, PublicPoolKey, price) + return nil +} + +// CollectSetConributionFee Is a wrapper for CollectSetFee with contributionfee +func (k Keeper) CollectSetConributionFee(ctx sdk.Context, creator string) error { + return k.CollectSetFee(ctx, sdk.NewInt64Coin("ucredits", 1000000), creator) +} + +// CollectSetCreationFee Is a wrapper for CollectSetFee with creationfee +func (k Keeper) CollectSetCreationFee(ctx sdk.Context, creator string) error { + return k.CollectSetFee(ctx, k.GetParams(ctx).SetCreationFee, creator) +} + +// GetAllSetContributors Returns an array of all contributors of a set in their respective frequencies +func (k Keeper) GetAllSetContributors(ctx sdk.Context, set types.Set) []string { + contribs := []string{set.StoryWriter, set.StoryWriter, set.Artist, set.Artist, set.Contributors[0], set.Contributors[0], set.Contributors[0], set.Contributors[0]} + for _, cardId := range set.Cards { + var card = k.Cards.Get(ctx, cardId) + if card.Owner != "" { + contribs = append(contribs, card.Owner, card.Artist) + } + } + return contribs +} + +// GetActiveSets Return a list of all active sets ids +func (k Keeper) GetActiveSets(ctx sdk.Context) (activeSets []uint64) { + iter := k.Sets.GetItemIterator(ctx) + for ; iter.Valid(); iter.Next() { + idx, set := iter.Value() + if set.Status == types.CStatus_active { + activeSets = append(activeSets, idx) + } + } + return +} + +func (k Keeper) GetRarityDistribution(ctx sdk.Context, set types.Set, setSize uint32) (dist [2][3]uint32, err error) { + var ( + unCommons, rares, commons, commonsAll, unCommonsAll, raresAll uint32 + ) + + unCommonsAll = uint32(setSize / 3) + raresAll = uint32(setSize / 3) + commonsAll = uint32(setSize - raresAll - unCommonsAll) + + for _, cardId := range set.Cards { + card := k.Cards.Get(ctx, cardId) + if err != nil { + return dist, sdkerrors.Wrap(types.ErrCardobject, err.Error()) + } + switch card.Rarity { + case types.CardRarity_common, types.CardRarity_unique, types.CardRarity_exceptional: + commons++ + case types.CardRarity_uncommon: + unCommons++ + case types.CardRarity_rare: + rares++ + default: + return dist, sdkerrors.Wrapf(errors.ErrInvalidType, "Invalid rarity (%d) for card (%d)", card.Rarity, cardId) + } + } + + return [2][3]uint32{ + {commons, unCommons, rares}, + {commonsAll, unCommonsAll, raresAll}, + }, nil +} + +func checkSetEditable(set *types.Set, user string) error { + if len(set.Contributors) == 0 { + return sdkerrors.Wrap(types.ErrUninitializedType, "Set not initialized") + } + + if user != set.Contributors[0] { + return sdkerrors.Wrap(errors.ErrUnauthorized, "Invalid creator") + } + + if set.Status != types.CStatus_design { + return types.ErrSetNotInDesign + } + return nil +} diff --git a/x/cardchain/keeper/collection_test.go b/x/cardchain/keeper/set_test.go similarity index 63% rename from x/cardchain/keeper/collection_test.go rename to x/cardchain/keeper/set_test.go index 40b9a588..1364251b 100644 --- a/x/cardchain/keeper/collection_test.go +++ b/x/cardchain/keeper/set_test.go @@ -9,11 +9,11 @@ import ( "github.com/stretchr/testify/require" ) -func TestCollection(t *testing.T) { +func TestSet(t *testing.T) { k, ctx := testkeeper.CardchainKeeper(t) setUpCard(ctx, k) - collection := types.Collection{ - Name: "Coll collection", + set := types.Set{ + Name: "Coll set", Cards: []uint64{0}, Artist: "cosmos15kq043zhu0wjyuw9av0auft06y3v2kxss862qf", Contributors: []string{"cosmos15kq043zhu0wjyuw9av0auft06y3v2kxss862qf", "cosmos15kq043zhu0wjyuw9av0auft06y3v2kxss862qf", "cosmos15kq043zhu0wjyuw9av0auft06y3v2kxss862qf"}, @@ -28,11 +28,11 @@ func TestCollection(t *testing.T) { contribs = append(contribs, "cosmos15kq043zhu0wjyuw9av0auft06y3v2kxss862qf") } - k.Collections.Set(ctx, 0, &collection) + k.Sets.Set(ctx, 0, &set) - require.EqualValues(t, collection, *k.Collections.Get(ctx, 0)) - require.EqualValues(t, []*types.Collection{&collection}, k.Collections.GetAll(ctx)) - require.EqualValues(t, 1, k.Collections.GetNumber(ctx)) - require.EqualValues(t, []uint64{0}, k.GetActiveCollections(ctx)) - require.EqualValues(t, contribs, k.GetAllCollectionContributors(ctx, collection)) + require.EqualValues(t, set, *k.Sets.Get(ctx, 0)) + require.EqualValues(t, []*types.Set{&set}, k.Sets.GetAll(ctx)) + require.EqualValues(t, 1, k.Sets.GetNumber(ctx)) + require.EqualValues(t, []uint64{0}, k.GetActiveSets(ctx)) + require.EqualValues(t, contribs, k.GetAllSetContributors(ctx, set)) } diff --git a/x/cardchain/keeper/user.go b/x/cardchain/keeper/user.go index 0ca5b87d..7195e790 100644 --- a/x/cardchain/keeper/user.go +++ b/x/cardchain/keeper/user.go @@ -1,9 +1,9 @@ package keeper import ( + sdkerrors "cosmossdk.io/errors" "github.com/DecentralCardGame/Cardchain/x/cardchain/types" sdk "github.com/cosmos/cosmos-sdk/types" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" ) // User Combines types.User and it's account address for better usability @@ -17,27 +17,41 @@ func (k Keeper) CreateUser(ctx sdk.Context, addr sdk.AccAddress, alias string) e // check if user already exists _, err := k.GetUser(ctx, addr) if err != nil { - k.InitUser(ctx, addr, alias) + err = k.InitUser(ctx, addr, alias) + if err != nil { + return err + } } else { - return types.ErrUserAlreadyExists - } - return nil + return types.ErrUserAlreadyExists + } + return nil } // InitUser Initializes a new user -func (k Keeper) InitUser(ctx sdk.Context, address sdk.AccAddress, alias string) { +func (k Keeper) InitUser(ctx sdk.Context, address sdk.AccAddress, alias string) error { if alias == "" { alias = "newbie" } newUser := types.NewUser() newUser.Alias = alias - k.MintCoinsToAddr(ctx, address, sdk.Coins{sdk.NewInt64Coin("ucredits", 10000000000)}) - newUser.VoteRights = k.GetVoteRightToAllCards(ctx, ctx.BlockHeight()+k.GetParams(ctx).VotingRightsExpirationTime) // TODO this might be a good thing to remove later, so that sybil voting is not possible - // Yes yes remove later, this is pretty heavy on the chain and gas prices + newUser.Cards = k.GetAllStarterCards(ctx) + err := k.MintCoinsToAddr(ctx, address, sdk.Coins{sdk.NewInt64Coin("ucredits", 10000000000)}) + if err != nil { + return err + } + + matchesEnabled, err := k.FeatureFlagModuleInstance.Get(ctx, string(types.FeatureFlagName_Matches)) + if err != nil { + return err + } + if !matchesEnabled { + newUser.VoteRights = k.GetVoteRightToAllCards(ctx, ctx.BlockHeight()+k.GetParams(ctx).VotingRightsExpirationTime) + } userObj := User{newUser, address} k.ClaimAirDrop(ctx, &userObj, types.AirDrop_user) k.SetUserFromUser(ctx, userObj) + return nil } // GetUser Gets a user from store diff --git a/x/cardchain/keeper/vote_right.go b/x/cardchain/keeper/vote_right.go index e7f79583..c18cf467 100644 --- a/x/cardchain/keeper/vote_right.go +++ b/x/cardchain/keeper/vote_right.go @@ -1,18 +1,20 @@ package keeper import ( + "slices" + "github.com/DecentralCardGame/Cardchain/x/cardchain/types" sdk "github.com/cosmos/cosmos-sdk/types" ) // GetVoteReward Calculates winner rewards func (k Keeper) GetVoteReward(ctx sdk.Context) sdk.Coin { - params := k.GetParams(ctx) + params := k.GetParams(ctx) pool := k.Pools.Get(ctx, BalancersPoolKey) - reward := QuoCoin(*pool, params.VotePoolFraction) - if reward.Amount.Int64() > params.VotingRewardCap { - return sdk.NewInt64Coin(reward.Denom, params.VotingRewardCap) + reward := QuoCoin(*pool, params.VotePoolFraction) + if reward.Amount.Int64() > params.VotingRewardCap { + return sdk.NewInt64Coin(reward.Denom, params.VotingRewardCap) } return reward } @@ -23,9 +25,13 @@ func (k Keeper) AddVoteRight(ctx sdk.Context, userAddress sdk.AccAddress, cardId if err != nil { return err } - right := types.NewVoteRight(cardId, ctx.BlockHeight()+k.GetParams(ctx).VotingRightsExpirationTime) - user.VoteRights = append(user.VoteRights, &right) - k.SetUser(ctx, userAddress, user) + + gottenCard := k.Cards.Get(ctx, cardId) + if !gottenCard.BalanceAnchor { + right := types.NewVoteRight(cardId, ctx.BlockHeight()+k.GetParams(ctx).VotingRightsExpirationTime) + user.VoteRights = append(user.VoteRights, &right) + k.SetUser(ctx, userAddress, user) + } return nil } @@ -33,7 +39,6 @@ func (k Keeper) AddVoteRight(ctx sdk.Context, userAddress sdk.AccAddress, cardId func (k Keeper) AddVoteRightsToAllUsers(ctx sdk.Context, expireBlock int64) { votingRights := k.GetVoteRightToAllCards(ctx, expireBlock) allUsers, allAddrs := k.GetAllUsers(ctx) - for idx, user := range allUsers { user.VoteRights = votingRights k.SetUser(ctx, allAddrs[idx], *user) @@ -41,9 +46,8 @@ func (k Keeper) AddVoteRightsToAllUsers(ctx sdk.Context, expireBlock int64) { } // RemoveVoteRight Removes a voteright from a user -func (k Keeper) RemoveVoteRight(ctx sdk.Context, user *User, rightsIndex int) { - user.VoteRights[rightsIndex] = user.VoteRights[len(user.VoteRights)-1] - user.VoteRights = user.VoteRights[:len(user.VoteRights)-1] +func (k Keeper) RemoveVoteRight(ctx sdk.Context, voter *User, rightsIndex int) { + voter.VoteRights = slices.Delete(voter.VoteRights, rightsIndex, rightsIndex+1) } // GetVoteRightToAllCards Gets the voterights to all cards @@ -53,10 +57,12 @@ func (k Keeper) GetVoteRightToAllCards(ctx sdk.Context, expireBlock int64) (voti for ; iter.Valid(); iter.Next() { // here only give right if card is not a scheme or banished idx, gottenCard := iter.Value() - switch gottenCard.Status { - case types.Status_permanent, types.Status_trial: - right := types.NewVoteRight(idx, expireBlock) - votingRights = append(votingRights, &right) + if !gottenCard.BalanceAnchor { + switch gottenCard.Status { + case types.Status_permanent, types.Status_trial: + right := types.NewVoteRight(idx, expireBlock) + votingRights = append(votingRights, &right) + } } } return diff --git a/x/cardchain/keeper/voting.go b/x/cardchain/keeper/voting.go new file mode 100644 index 00000000..e772f24e --- /dev/null +++ b/x/cardchain/keeper/voting.go @@ -0,0 +1,104 @@ +package keeper + +import ( + "fmt" + "slices" + + sdkerrors "cosmossdk.io/errors" + "github.com/DecentralCardGame/Cardchain/x/cardchain/types" + sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/cosmos/cosmos-sdk/types/errors" +) + +func (k Keeper) voteCard( + ctx sdk.Context, + voter *User, + cardId uint64, + voteType string, + ignoreVoteRights bool, +) error { + var rightsIndex int + if !ignoreVoteRights { + rightsIndex = slices.IndexFunc(voter.VoteRights, func(s *types.VoteRight) bool { return s.CardId == cardId }) + + // check if voting rights are true + if rightsIndex < 0 { + return sdkerrors.Wrap(types.ErrVoterHasNoVotingRights, "No Voting Rights") + } + + //check if voting rights are timed out + if ctx.BlockHeight() > (voter.VoteRights)[rightsIndex].ExpireBlock { + k.RemoveVoteRight(ctx, voter, rightsIndex) + return sdkerrors.Wrap(types.ErrVoteRightIsExpired, "Voting Right has expired") + } + } + + // if the vote right is valid, get the Card + card := k.Cards.Get(ctx, cardId) + + // check if card status is valid + if card.Status != types.Status_permanent && card.Status != types.Status_trial { + return sdkerrors.Wrap(errors.ErrUnknownRequest, "Voting on a card is only possible if it is in trial or a permanent card") + } + + switch voteType { + case "fair_enough": + card.FairEnoughVotes++ + case "inappropriate": + card.InappropriateVotes++ + case "overpowered": + card.OverpoweredVotes++ + case "underpowered": + card.UnderpoweredVotes++ + default: + errMsg := fmt.Sprintf("Unrecognized card vote type: %s", voteType) + return sdkerrors.Wrap(errors.ErrUnknownRequest, errMsg) + } + card.Voters = append(card.Voters, voter.Addr.String()) + + // check for specific bounty on the card + if !card.VotePool.IsZero() { + reward := k.GetParams(ctx).TrialVoteReward + err := k.MintCoinsToAddr(ctx, voter.Addr, sdk.Coins{reward}) + if err != nil { + return sdkerrors.Wrap(errors.ErrInsufficientFunds, err.Error()) + } + card.VotePool.Sub(reward) // TODO actually if there is less than 1cr then it should be adjusted + } + + amount := k.GetVoteReward(ctx) + err := k.MintCoinsToAddr(ctx, voter.Addr, sdk.Coins{amount}) + if err != nil { + return err + } + k.SubPoolCredits(ctx, BalancersPoolKey, amount) + if !ignoreVoteRights { + k.RemoveVoteRight(ctx, voter, rightsIndex) + } + + k.Cards.Set(ctx, cardId, card) + + return nil +} + +func (k Keeper) incVotesAverageBy(ctx sdk.Context, n int64) { + votes := k.RunningAverages.Get(ctx, Votes24ValueKey) + votes.Arr[len(votes.Arr)-1] += n + k.RunningAverages.Set(ctx, Votes24ValueKey, votes) +} + +func (k Keeper) multiVote(ctx sdk.Context, voter *User, votes []*types.SingleVote, ignoreVotingRights bool) error { + var n = 0 + + for i, vote := range votes { + err := k.voteCard(ctx, voter, vote.CardId, vote.VoteType, ignoreVotingRights) + if err != nil { + return err + } + n = i + } + + k.incVotesAverageBy(ctx, int64(n+1)) + + return nil +} diff --git a/x/cardchain/module_simulation.go b/x/cardchain/module_simulation.go index 0aefba9c..1739465b 100644 --- a/x/cardchain/module_simulation.go +++ b/x/cardchain/module_simulation.go @@ -76,37 +76,37 @@ const ( // TODO: Determine the simulation weight value defaultWeightMsgApointMatchReporter int = 100 - opWeightMsgCreateCollection = "op_weight_msg_create_chain" + opWeightMsgCreateSet = "op_weight_msg_create_chain" // TODO: Determine the simulation weight value - defaultWeightMsgCreateCollection int = 100 + defaultWeightMsgCreateSet int = 100 - opWeightMsgAddCardToCollection = "op_weight_msg_create_chain" + opWeightMsgAddCardToSet = "op_weight_msg_create_chain" // TODO: Determine the simulation weight value - defaultWeightMsgAddCardToCollection int = 100 + defaultWeightMsgAddCardToSet int = 100 - opWeightMsgFinalizeCollection = "op_weight_msg_create_chain" + opWeightMsgFinalizeSet = "op_weight_msg_create_chain" // TODO: Determine the simulation weight value - defaultWeightMsgFinalizeCollection int = 100 + defaultWeightMsgFinalizeSet int = 100 - opWeightMsgBuyCollection = "op_weight_msg_create_chain" + opWeightMsgBuyBoosterPack = "op_weight_msg_create_chain" // TODO: Determine the simulation weight value - defaultWeightMsgBuyCollection int = 100 + defaultWeightMsgBuyBoosterPack int = 100 - opWeightMsgRemoveCardFromCollection = "op_weight_msg_create_chain" + opWeightMsgRemoveCardFromSet = "op_weight_msg_create_chain" // TODO: Determine the simulation weight value - defaultWeightMsgRemoveCardFromCollection int = 100 + defaultWeightMsgRemoveCardFromSet int = 100 - opWeightMsgRemoveContributorFromCollection = "op_weight_msg_create_chain" + opWeightMsgRemoveContributorFromSet = "op_weight_msg_create_chain" // TODO: Determine the simulation weight value - defaultWeightMsgRemoveContributorFromCollection int = 100 + defaultWeightMsgRemoveContributorFromSet int = 100 - opWeightMsgAddContributorToCollection = "op_weight_msg_create_chain" + opWeightMsgAddContributorToSet = "op_weight_msg_create_chain" // TODO: Determine the simulation weight value - defaultWeightMsgAddContributorToCollection int = 100 + defaultWeightMsgAddContributorToSet int = 100 - opWeightMsgSubmitCollectionProposal = "op_weight_msg_create_chain" + opWeightMsgSubmitSetProposal = "op_weight_msg_create_chain" // TODO: Determine the simulation weight value - defaultWeightMsgSubmitCollectionProposal int = 100 + defaultWeightMsgSubmitSetProposal int = 100 opWeightMsgCreateSellOffer = "op_weight_msg_create_chain" // TODO: Determine the simulation weight value @@ -120,13 +120,13 @@ const ( // TODO: Determine the simulation weight value defaultWeightMsgRemoveSellOffer int = 100 - opWeightMsgAddArtworkToCollection = "op_weight_msg_create_chain" + opWeightMsgAddArtworkToSet = "op_weight_msg_create_chain" // TODO: Determine the simulation weight value - defaultWeightMsgAddArtworkToCollection int = 100 + defaultWeightMsgAddArtworkToSet int = 100 - opWeightMsgAddStoryToCollection = "op_weight_msg_create_chain" + opWeightMsgAddStoryToSet = "op_weight_msg_create_chain" // TODO: Determine the simulation weight value - defaultWeightMsgAddStoryToCollection int = 100 + defaultWeightMsgAddStoryToSet int = 100 opWeightMsgSetCardRarity = "op_weight_msg_create_chain" // TODO: Determine the simulation weight value @@ -168,13 +168,13 @@ const ( // TODO: Determine the simulation weight value defaultWeightMsgTransferBoosterPack int = 100 - opWeightMsgSetCollectionStoryWriter = "op_weight_msg_set_collection_story_writer" + opWeightMsgSetSetStoryWriter = "op_weight_msg_set_set_story_writer" // TODO: Determine the simulation weight value - defaultWeightMsgSetCollectionStoryWriter int = 100 + defaultWeightMsgSetSetStoryWriter int = 100 - opWeightMsgSetCollectionArtist = "op_weight_msg_set_collection_artist" + opWeightMsgSetSetArtist = "op_weight_msg_set_set_artist" // TODO: Determine the simulation weight value - defaultWeightMsgSetCollectionArtist int = 100 + defaultWeightMsgSetSetArtist int = 100 opWeightMsgSetUserWebsite = "op_weight_msg_set_user_website" // TODO: Determine the simulation weight value @@ -184,6 +184,18 @@ const ( // TODO: Determine the simulation weight value defaultWeightMsgSetUserBiography int = 100 + opWeightMsgMultiVoteCard = "op_weight_msg_multi_vote_card" + // TODO: Determine the simulation weight value + defaultWeightMsgMultiVoteCard int = 100 + + opWeightMsgOpenMatch = "op_weight_msg_msg_open_match" + // TODO: Determine the simulation weight value + defaultWeightMsgOpenMatch int = 100 + + opWeightMsgSetSetName = "op_weight_msg_set_set_name" + // TODO: Determine the simulation weight value + defaultWeightMsgSetSetName int = 100 + // this line is used by starport scaffolding # simapp/module/const ) @@ -294,17 +306,6 @@ func (am AppModule) WeightedOperations(simState module.SimulationState) []simtyp cardchainsimulation.SimulateMsgAddArtwork(am.accountKeeper, am.bankKeeper, am.keeper), )) - var weightMsgSubmitCopyrightProposal int - simState.AppParams.GetOrGenerate(simState.Cdc, opWeightMsgSubmitCopyrightProposal, &weightMsgSubmitCopyrightProposal, nil, - func(_ *rand.Rand) { - weightMsgSubmitCopyrightProposal = defaultWeightMsgSubmitCopyrightProposal - }, - ) - operations = append(operations, simulation.NewWeightedOperation( - weightMsgSubmitCopyrightProposal, - cardchainsimulation.SimulateMsgSubmitCopyrightProposal(am.accountKeeper, am.bankKeeper, am.keeper), - )) - var weightMsgChangeArtist int simState.AppParams.GetOrGenerate(simState.Cdc, opWeightMsgChangeArtist, &weightMsgChangeArtist, nil, func(_ *rand.Rand) { @@ -338,17 +339,6 @@ func (am AppModule) WeightedOperations(simState module.SimulationState) []simtyp cardchainsimulation.SimulateMsgReportMatch(am.accountKeeper, am.bankKeeper, am.keeper), )) - var weightMsgSubmitMatchReporterProposal int - simState.AppParams.GetOrGenerate(simState.Cdc, opWeightMsgSubmitMatchReporterProposal, &weightMsgSubmitMatchReporterProposal, nil, - func(_ *rand.Rand) { - weightMsgSubmitMatchReporterProposal = defaultWeightMsgSubmitMatchReporterProposal - }, - ) - operations = append(operations, simulation.NewWeightedOperation( - weightMsgSubmitMatchReporterProposal, - cardchainsimulation.SimulateMsgSubmitMatchReporterProposal(am.accountKeeper, am.bankKeeper, am.keeper), - )) - var weightMsgApointMatchReporter int simState.AppParams.GetOrGenerate(simState.Cdc, opWeightMsgApointMatchReporter, &weightMsgApointMatchReporter, nil, func(_ *rand.Rand) { @@ -360,92 +350,81 @@ func (am AppModule) WeightedOperations(simState module.SimulationState) []simtyp cardchainsimulation.SimulateMsgApointMatchReporter(am.accountKeeper, am.bankKeeper, am.keeper), )) - var weightMsgCreateCollection int - simState.AppParams.GetOrGenerate(simState.Cdc, opWeightMsgCreateCollection, &weightMsgCreateCollection, nil, - func(_ *rand.Rand) { - weightMsgCreateCollection = defaultWeightMsgCreateCollection - }, - ) - operations = append(operations, simulation.NewWeightedOperation( - weightMsgCreateCollection, - cardchainsimulation.SimulateMsgCreateCollection(am.accountKeeper, am.bankKeeper, am.keeper), - )) - - var weightMsgAddCardToCollection int - simState.AppParams.GetOrGenerate(simState.Cdc, opWeightMsgAddCardToCollection, &weightMsgAddCardToCollection, nil, + var weightMsgCreateSet int + simState.AppParams.GetOrGenerate(simState.Cdc, opWeightMsgCreateSet, &weightMsgCreateSet, nil, func(_ *rand.Rand) { - weightMsgAddCardToCollection = defaultWeightMsgAddCardToCollection + weightMsgCreateSet = defaultWeightMsgCreateSet }, ) operations = append(operations, simulation.NewWeightedOperation( - weightMsgAddCardToCollection, - cardchainsimulation.SimulateMsgAddCardToCollection(am.accountKeeper, am.bankKeeper, am.keeper), + weightMsgCreateSet, + cardchainsimulation.SimulateMsgCreateSet(am.accountKeeper, am.bankKeeper, am.keeper), )) - var weightMsgFinalizeCollection int - simState.AppParams.GetOrGenerate(simState.Cdc, opWeightMsgFinalizeCollection, &weightMsgFinalizeCollection, nil, + var weightMsgAddCardToSet int + simState.AppParams.GetOrGenerate(simState.Cdc, opWeightMsgAddCardToSet, &weightMsgAddCardToSet, nil, func(_ *rand.Rand) { - weightMsgFinalizeCollection = defaultWeightMsgFinalizeCollection + weightMsgAddCardToSet = defaultWeightMsgAddCardToSet }, ) operations = append(operations, simulation.NewWeightedOperation( - weightMsgFinalizeCollection, - cardchainsimulation.SimulateMsgFinalizeCollection(am.accountKeeper, am.bankKeeper, am.keeper), + weightMsgAddCardToSet, + cardchainsimulation.SimulateMsgAddCardToSet(am.accountKeeper, am.bankKeeper, am.keeper), )) - var weightMsgBuyCollection int - simState.AppParams.GetOrGenerate(simState.Cdc, opWeightMsgBuyCollection, &weightMsgBuyCollection, nil, + var weightMsgFinalizeSet int + simState.AppParams.GetOrGenerate(simState.Cdc, opWeightMsgFinalizeSet, &weightMsgFinalizeSet, nil, func(_ *rand.Rand) { - weightMsgBuyCollection = defaultWeightMsgBuyCollection + weightMsgFinalizeSet = defaultWeightMsgFinalizeSet }, ) operations = append(operations, simulation.NewWeightedOperation( - weightMsgBuyCollection, - cardchainsimulation.SimulateMsgBuyCollection(am.accountKeeper, am.bankKeeper, am.keeper), + weightMsgFinalizeSet, + cardchainsimulation.SimulateMsgFinalizeSet(am.accountKeeper, am.bankKeeper, am.keeper), )) - var weightMsgRemoveCardFromCollection int - simState.AppParams.GetOrGenerate(simState.Cdc, opWeightMsgRemoveCardFromCollection, &weightMsgRemoveCardFromCollection, nil, + var weightMsgBuyBoosterPack int + simState.AppParams.GetOrGenerate(simState.Cdc, opWeightMsgBuyBoosterPack, &weightMsgBuyBoosterPack, nil, func(_ *rand.Rand) { - weightMsgRemoveCardFromCollection = defaultWeightMsgRemoveCardFromCollection + weightMsgBuyBoosterPack = defaultWeightMsgBuyBoosterPack }, ) operations = append(operations, simulation.NewWeightedOperation( - weightMsgRemoveCardFromCollection, - cardchainsimulation.SimulateMsgRemoveCardFromCollection(am.accountKeeper, am.bankKeeper, am.keeper), + weightMsgBuyBoosterPack, + cardchainsimulation.SimulateMsgBuyBoosterPack(am.accountKeeper, am.bankKeeper, am.keeper), )) - var weightMsgRemoveContributorFromCollection int - simState.AppParams.GetOrGenerate(simState.Cdc, opWeightMsgRemoveContributorFromCollection, &weightMsgRemoveContributorFromCollection, nil, + var weightMsgRemoveCardFromSet int + simState.AppParams.GetOrGenerate(simState.Cdc, opWeightMsgRemoveCardFromSet, &weightMsgRemoveCardFromSet, nil, func(_ *rand.Rand) { - weightMsgRemoveContributorFromCollection = defaultWeightMsgRemoveContributorFromCollection + weightMsgRemoveCardFromSet = defaultWeightMsgRemoveCardFromSet }, ) operations = append(operations, simulation.NewWeightedOperation( - weightMsgRemoveContributorFromCollection, - cardchainsimulation.SimulateMsgRemoveContributorFromCollection(am.accountKeeper, am.bankKeeper, am.keeper), + weightMsgRemoveCardFromSet, + cardchainsimulation.SimulateMsgRemoveCardFromSet(am.accountKeeper, am.bankKeeper, am.keeper), )) - var weightMsgAddContributorToCollection int - simState.AppParams.GetOrGenerate(simState.Cdc, opWeightMsgAddContributorToCollection, &weightMsgAddContributorToCollection, nil, + var weightMsgRemoveContributorFromSet int + simState.AppParams.GetOrGenerate(simState.Cdc, opWeightMsgRemoveContributorFromSet, &weightMsgRemoveContributorFromSet, nil, func(_ *rand.Rand) { - weightMsgAddContributorToCollection = defaultWeightMsgAddContributorToCollection + weightMsgRemoveContributorFromSet = defaultWeightMsgRemoveContributorFromSet }, ) operations = append(operations, simulation.NewWeightedOperation( - weightMsgAddContributorToCollection, - cardchainsimulation.SimulateMsgAddContributorToCollection(am.accountKeeper, am.bankKeeper, am.keeper), + weightMsgRemoveContributorFromSet, + cardchainsimulation.SimulateMsgRemoveContributorFromSet(am.accountKeeper, am.bankKeeper, am.keeper), )) - var weightMsgSubmitCollectionProposal int - simState.AppParams.GetOrGenerate(simState.Cdc, opWeightMsgSubmitCollectionProposal, &weightMsgSubmitCollectionProposal, nil, + var weightMsgAddContributorToSet int + simState.AppParams.GetOrGenerate(simState.Cdc, opWeightMsgAddContributorToSet, &weightMsgAddContributorToSet, nil, func(_ *rand.Rand) { - weightMsgSubmitCollectionProposal = defaultWeightMsgSubmitCollectionProposal + weightMsgAddContributorToSet = defaultWeightMsgAddContributorToSet }, ) operations = append(operations, simulation.NewWeightedOperation( - weightMsgSubmitCollectionProposal, - cardchainsimulation.SimulateMsgSubmitCollectionProposal(am.accountKeeper, am.bankKeeper, am.keeper), + weightMsgAddContributorToSet, + cardchainsimulation.SimulateMsgAddContributorToSet(am.accountKeeper, am.bankKeeper, am.keeper), )) var weightMsgCreateSellOffer int @@ -481,26 +460,26 @@ func (am AppModule) WeightedOperations(simState module.SimulationState) []simtyp cardchainsimulation.SimulateMsgRemoveSellOffer(am.accountKeeper, am.bankKeeper, am.keeper), )) - var weightMsgAddArtworkToCollection int - simState.AppParams.GetOrGenerate(simState.Cdc, opWeightMsgAddArtworkToCollection, &weightMsgAddArtworkToCollection, nil, + var weightMsgAddArtworkToSet int + simState.AppParams.GetOrGenerate(simState.Cdc, opWeightMsgAddArtworkToSet, &weightMsgAddArtworkToSet, nil, func(_ *rand.Rand) { - weightMsgAddArtworkToCollection = defaultWeightMsgAddArtworkToCollection + weightMsgAddArtworkToSet = defaultWeightMsgAddArtworkToSet }, ) operations = append(operations, simulation.NewWeightedOperation( - weightMsgAddArtworkToCollection, - cardchainsimulation.SimulateMsgAddArtworkToCollection(am.accountKeeper, am.bankKeeper, am.keeper), + weightMsgAddArtworkToSet, + cardchainsimulation.SimulateMsgAddArtworkToSet(am.accountKeeper, am.bankKeeper, am.keeper), )) - var weightMsgAddStoryToCollection int - simState.AppParams.GetOrGenerate(simState.Cdc, opWeightMsgAddStoryToCollection, &weightMsgAddStoryToCollection, nil, + var weightMsgAddStoryToSet int + simState.AppParams.GetOrGenerate(simState.Cdc, opWeightMsgAddStoryToSet, &weightMsgAddStoryToSet, nil, func(_ *rand.Rand) { - weightMsgAddStoryToCollection = defaultWeightMsgAddStoryToCollection + weightMsgAddStoryToSet = defaultWeightMsgAddStoryToSet }, ) operations = append(operations, simulation.NewWeightedOperation( - weightMsgAddStoryToCollection, - cardchainsimulation.SimulateMsgAddStoryToCollection(am.accountKeeper, am.bankKeeper, am.keeper), + weightMsgAddStoryToSet, + cardchainsimulation.SimulateMsgAddStoryToSet(am.accountKeeper, am.bankKeeper, am.keeper), )) var weightMsgSetCardRarity int @@ -613,26 +592,26 @@ func (am AppModule) WeightedOperations(simState module.SimulationState) []simtyp cardchainsimulation.SimulateMsgTransferBoosterPack(am.accountKeeper, am.bankKeeper, am.keeper), )) - var weightMsgSetCollectionStoryWriter int - simState.AppParams.GetOrGenerate(simState.Cdc, opWeightMsgSetCollectionStoryWriter, &weightMsgSetCollectionStoryWriter, nil, + var weightMsgSetSetStoryWriter int + simState.AppParams.GetOrGenerate(simState.Cdc, opWeightMsgSetSetStoryWriter, &weightMsgSetSetStoryWriter, nil, func(_ *rand.Rand) { - weightMsgSetCollectionStoryWriter = defaultWeightMsgSetCollectionStoryWriter + weightMsgSetSetStoryWriter = defaultWeightMsgSetSetStoryWriter }, ) operations = append(operations, simulation.NewWeightedOperation( - weightMsgSetCollectionStoryWriter, - cardchainsimulation.SimulateMsgSetCollectionStoryWriter(am.accountKeeper, am.bankKeeper, am.keeper), + weightMsgSetSetStoryWriter, + cardchainsimulation.SimulateMsgSetSetStoryWriter(am.accountKeeper, am.bankKeeper, am.keeper), )) - var weightMsgSetCollectionArtist int - simState.AppParams.GetOrGenerate(simState.Cdc, opWeightMsgSetCollectionArtist, &weightMsgSetCollectionArtist, nil, + var weightMsgSetSetArtist int + simState.AppParams.GetOrGenerate(simState.Cdc, opWeightMsgSetSetArtist, &weightMsgSetSetArtist, nil, func(_ *rand.Rand) { - weightMsgSetCollectionArtist = defaultWeightMsgSetCollectionArtist + weightMsgSetSetArtist = defaultWeightMsgSetSetArtist }, ) operations = append(operations, simulation.NewWeightedOperation( - weightMsgSetCollectionArtist, - cardchainsimulation.SimulateMsgSetCollectionArtist(am.accountKeeper, am.bankKeeper, am.keeper), + weightMsgSetSetArtist, + cardchainsimulation.SimulateMsgSetSetArtist(am.accountKeeper, am.bankKeeper, am.keeper), )) var weightMsgSetUserWebsite int @@ -657,6 +636,39 @@ func (am AppModule) WeightedOperations(simState module.SimulationState) []simtyp cardchainsimulation.SimulateMsgSetUserBiography(am.accountKeeper, am.bankKeeper, am.keeper), )) + var weightMsgMultiVoteCard int + simState.AppParams.GetOrGenerate(simState.Cdc, opWeightMsgMultiVoteCard, &weightMsgMultiVoteCard, nil, + func(_ *rand.Rand) { + weightMsgMultiVoteCard = defaultWeightMsgMultiVoteCard + }, + ) + operations = append(operations, simulation.NewWeightedOperation( + weightMsgMultiVoteCard, + cardchainsimulation.SimulateMsgMultiVoteCard(am.accountKeeper, am.bankKeeper, am.keeper), + )) + + var weightMsgOpenMatch int + simState.AppParams.GetOrGenerate(simState.Cdc, opWeightMsgOpenMatch, &weightMsgOpenMatch, nil, + func(_ *rand.Rand) { + weightMsgOpenMatch = defaultWeightMsgOpenMatch + }, + ) + operations = append(operations, simulation.NewWeightedOperation( + weightMsgOpenMatch, + cardchainsimulation.SimulateMsgOpenMatch(am.accountKeeper, am.bankKeeper, am.keeper), + )) + + var weightMsgSetSetName int + simState.AppParams.GetOrGenerate(simState.Cdc, opWeightMsgSetSetName, &weightMsgSetSetName, nil, + func(_ *rand.Rand) { + weightMsgSetSetName = defaultWeightMsgSetSetName + }, + ) + operations = append(operations, simulation.NewWeightedOperation( + weightMsgSetSetName, + cardchainsimulation.SimulateMsgSetSetName(am.accountKeeper, am.bankKeeper, am.keeper), + )) + // this line is used by starport scaffolding # simapp/module/operation return operations diff --git a/x/cardchain/proposal_handler.go b/x/cardchain/proposal_handler.go index cf29f5c4..90a3cc92 100644 --- a/x/cardchain/proposal_handler.go +++ b/x/cardchain/proposal_handler.go @@ -3,11 +3,12 @@ package cardchain import ( "sort" + sdkerrors "cosmossdk.io/errors" "github.com/DecentralCardGame/Cardchain/x/cardchain/keeper" "github.com/DecentralCardGame/Cardchain/x/cardchain/types" sdk "github.com/cosmos/cosmos-sdk/types" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - govtypes "github.com/cosmos/cosmos-sdk/x/gov/types" + "github.com/cosmos/cosmos-sdk/types/errors" + govtypes "github.com/cosmos/cosmos-sdk/x/gov/types/v1beta1" ) // NewProposalHandler creates a new governance Handler for a ParamChangeProposal @@ -18,11 +19,11 @@ func NewProposalHandler(k keeper.Keeper) govtypes.Handler { return handleCopyrightProposal(ctx, k, c) case *types.MatchReporterProposal: return handleMatchReporterProposal(ctx, k, c) - case *types.CollectionProposal: - return handleCollectionProposal(ctx, k, c) + case *types.SetProposal: + return handleSetProposal(ctx, k, c) default: - return sdkerrors.Wrapf(sdkerrors.ErrUnknownRequest, "unrecognized proposal content type: %T", c) + return sdkerrors.Wrapf(errors.ErrUnknownRequest, "unrecognized proposal content type: %T", c) } } } @@ -39,44 +40,45 @@ func handleCopyrightProposal(ctx sdk.Context, k keeper.Keeper, p *types.Copyrigh card.Artist = card.Owner card.Status = types.Status_suspended + k.SetLastCardModifiedNow(ctx) k.Cards.Set(ctx, p.CardId, card) k.Images.Set(ctx, card.ImageId, image) return nil } -func handleCollectionProposal(ctx sdk.Context, k keeper.Keeper, p *types.CollectionProposal) error { - collection := k.Collections.Get(ctx, p.CollectionId) +func handleSetProposal(ctx sdk.Context, k keeper.Keeper, p *types.SetProposal) error { + set := k.Sets.Get(ctx, p.SetId) - if collection.Status != types.CStatus_finalized { - return sdkerrors.Wrapf(types.ErrCollectionNotInDesign, "Collection status is %s but should be finalized", collection.Status) + if set.Status != types.CStatus_finalized { + return sdkerrors.Wrapf(types.ErrSetNotInDesign, "Set status is %s but should be finalized", set.Status) } - activeCollectionsIds := k.GetActiveCollections(ctx) - var activeCollections []sortStruct - if len(activeCollections) >= int(k.GetParams(ctx).ActiveCollectionsAmount) { - for _, id := range activeCollectionsIds { - var collection = k.Collections.Get(ctx, id) - activeCollections = append(activeCollections, sortStruct{id, collection}) + activeSetsIds := k.GetActiveSets(ctx) + var activeSets []sortStruct + if len(activeSets) >= int(k.GetParams(ctx).ActiveSetsAmount) { + for _, id := range activeSetsIds { + var set = k.Sets.Get(ctx, id) + activeSets = append(activeSets, sortStruct{id, set}) } - sort.SliceStable(activeCollections, func(i, j int) bool { - return activeCollections[i].Collection.TimeStamp < activeCollections[j].Collection.TimeStamp + sort.SliceStable(activeSets, func(i, j int) bool { + return activeSets[i].Set.TimeStamp < activeSets[j].Set.TimeStamp }, ) - yeetStruct := activeCollections[0] - yeetStruct.Collection.Status = types.CStatus_archived - k.Collections.Set(ctx, yeetStruct.Id, yeetStruct.Collection) + yeetStruct := activeSets[0] + yeetStruct.Set.Status = types.CStatus_archived + k.Sets.Set(ctx, yeetStruct.Id, yeetStruct.Set) } - collection.Status = types.CStatus_active - collection.TimeStamp = ctx.BlockHeight() + set.Status = types.CStatus_active + set.TimeStamp = ctx.BlockHeight() - k.Collections.Set(ctx, p.CollectionId, collection) + k.Sets.Set(ctx, p.SetId, set) return nil } type sortStruct struct { - Id uint64 - Collection *types.Collection + Id uint64 + Set *types.Set } diff --git a/x/cardchain/simulation/add_artwork_to_collection.go b/x/cardchain/simulation/add_artwork_to_set.go similarity index 78% rename from x/cardchain/simulation/add_artwork_to_collection.go rename to x/cardchain/simulation/add_artwork_to_set.go index 284f5cd0..a740e5c8 100644 --- a/x/cardchain/simulation/add_artwork_to_collection.go +++ b/x/cardchain/simulation/add_artwork_to_set.go @@ -10,7 +10,7 @@ import ( simtypes "github.com/cosmos/cosmos-sdk/types/simulation" ) -func SimulateMsgAddArtworkToCollection( +func SimulateMsgAddArtworkToSet( ak types.AccountKeeper, bk types.BankKeeper, k keeper.Keeper, @@ -18,12 +18,12 @@ func SimulateMsgAddArtworkToCollection( return func(r *rand.Rand, app *baseapp.BaseApp, ctx sdk.Context, accs []simtypes.Account, chainID string, ) (simtypes.OperationMsg, []simtypes.FutureOperation, error) { simAccount, _ := simtypes.RandomAcc(r, accs) - msg := &types.MsgAddArtworkToCollection{ + msg := &types.MsgAddArtworkToSet{ Creator: simAccount.Address.String(), } - // TODO: Handling the AddArtworkToCollection simulation + // TODO: Handling the AddArtworkToSet simulation - return simtypes.NoOpMsg(types.ModuleName, msg.Type(), "AddArtworkToCollection simulation not implemented"), nil, nil + return simtypes.NoOpMsg(types.ModuleName, msg.Type(), "AddArtworkToSet simulation not implemented"), nil, nil } } diff --git a/x/cardchain/simulation/add_card_to_collection.go b/x/cardchain/simulation/add_card_to_set.go similarity index 79% rename from x/cardchain/simulation/add_card_to_collection.go rename to x/cardchain/simulation/add_card_to_set.go index 38a37a51..48ac4dce 100644 --- a/x/cardchain/simulation/add_card_to_collection.go +++ b/x/cardchain/simulation/add_card_to_set.go @@ -10,7 +10,7 @@ import ( simtypes "github.com/cosmos/cosmos-sdk/types/simulation" ) -func SimulateMsgAddCardToCollection( +func SimulateMsgAddCardToSet( ak types.AccountKeeper, bk types.BankKeeper, k keeper.Keeper, @@ -18,12 +18,12 @@ func SimulateMsgAddCardToCollection( return func(r *rand.Rand, app *baseapp.BaseApp, ctx sdk.Context, accs []simtypes.Account, chainID string, ) (simtypes.OperationMsg, []simtypes.FutureOperation, error) { simAccount, _ := simtypes.RandomAcc(r, accs) - msg := &types.MsgAddCardToCollection{ + msg := &types.MsgAddCardToSet{ Creator: simAccount.Address.String(), } - // TODO: Handling the AddCardToCollection simulation + // TODO: Handling the AddCardToSet simulation - return simtypes.NoOpMsg(types.ModuleName, msg.Type(), "AddCardToCollection simulation not implemented"), nil, nil + return simtypes.NoOpMsg(types.ModuleName, msg.Type(), "AddCardToSet simulation not implemented"), nil, nil } } diff --git a/x/cardchain/simulation/add_contributor_to_collection.go b/x/cardchain/simulation/add_contributor_to_set.go similarity index 77% rename from x/cardchain/simulation/add_contributor_to_collection.go rename to x/cardchain/simulation/add_contributor_to_set.go index dedeadb5..f9dfb601 100644 --- a/x/cardchain/simulation/add_contributor_to_collection.go +++ b/x/cardchain/simulation/add_contributor_to_set.go @@ -10,7 +10,7 @@ import ( simtypes "github.com/cosmos/cosmos-sdk/types/simulation" ) -func SimulateMsgAddContributorToCollection( +func SimulateMsgAddContributorToSet( ak types.AccountKeeper, bk types.BankKeeper, k keeper.Keeper, @@ -18,12 +18,12 @@ func SimulateMsgAddContributorToCollection( return func(r *rand.Rand, app *baseapp.BaseApp, ctx sdk.Context, accs []simtypes.Account, chainID string, ) (simtypes.OperationMsg, []simtypes.FutureOperation, error) { simAccount, _ := simtypes.RandomAcc(r, accs) - msg := &types.MsgAddContributorToCollection{ + msg := &types.MsgAddContributorToSet{ Creator: simAccount.Address.String(), } - // TODO: Handling the AddContributorToCollection simulation + // TODO: Handling the AddContributorToSet simulation - return simtypes.NoOpMsg(types.ModuleName, msg.Type(), "AddContributorToCollection simulation not implemented"), nil, nil + return simtypes.NoOpMsg(types.ModuleName, msg.Type(), "AddContributorToSet simulation not implemented"), nil, nil } } diff --git a/x/cardchain/simulation/add_story_to_collection.go b/x/cardchain/simulation/add_story_to_set.go similarity index 79% rename from x/cardchain/simulation/add_story_to_collection.go rename to x/cardchain/simulation/add_story_to_set.go index f0728be1..d3d6dc64 100644 --- a/x/cardchain/simulation/add_story_to_collection.go +++ b/x/cardchain/simulation/add_story_to_set.go @@ -10,7 +10,7 @@ import ( simtypes "github.com/cosmos/cosmos-sdk/types/simulation" ) -func SimulateMsgAddStoryToCollection( +func SimulateMsgAddStoryToSet( ak types.AccountKeeper, bk types.BankKeeper, k keeper.Keeper, @@ -18,12 +18,12 @@ func SimulateMsgAddStoryToCollection( return func(r *rand.Rand, app *baseapp.BaseApp, ctx sdk.Context, accs []simtypes.Account, chainID string, ) (simtypes.OperationMsg, []simtypes.FutureOperation, error) { simAccount, _ := simtypes.RandomAcc(r, accs) - msg := &types.MsgAddStoryToCollection{ + msg := &types.MsgAddStoryToSet{ Creator: simAccount.Address.String(), } - // TODO: Handling the AddStoryToCollection simulation + // TODO: Handling the AddStoryToSet simulation - return simtypes.NoOpMsg(types.ModuleName, msg.Type(), "AddStoryToCollection simulation not implemented"), nil, nil + return simtypes.NoOpMsg(types.ModuleName, msg.Type(), "AddStoryToSet simulation not implemented"), nil, nil } } diff --git a/x/cardchain/simulation/create_collection.go b/x/cardchain/simulation/buy_set.go similarity index 73% rename from x/cardchain/simulation/create_collection.go rename to x/cardchain/simulation/buy_set.go index e44be822..b8bad8cb 100644 --- a/x/cardchain/simulation/create_collection.go +++ b/x/cardchain/simulation/buy_set.go @@ -10,7 +10,7 @@ import ( simtypes "github.com/cosmos/cosmos-sdk/types/simulation" ) -func SimulateMsgCreateCollection( +func SimulateMsgBuyBoosterPack( ak types.AccountKeeper, bk types.BankKeeper, k keeper.Keeper, @@ -18,12 +18,12 @@ func SimulateMsgCreateCollection( return func(r *rand.Rand, app *baseapp.BaseApp, ctx sdk.Context, accs []simtypes.Account, chainID string, ) (simtypes.OperationMsg, []simtypes.FutureOperation, error) { simAccount, _ := simtypes.RandomAcc(r, accs) - msg := &types.MsgCreateCollection{ + msg := &types.MsgBuyBoosterPack{ Creator: simAccount.Address.String(), } - // TODO: Handling the CreateCollection simulation + // TODO: Handling the BuyBoosterPack simulation - return simtypes.NoOpMsg(types.ModuleName, msg.Type(), "CreateCollection simulation not implemented"), nil, nil + return simtypes.NoOpMsg(types.ModuleName, msg.Type(), "BuyBoosterPack simulation not implemented"), nil, nil } } diff --git a/x/cardchain/simulation/buy_collection.go b/x/cardchain/simulation/create_set.go similarity index 74% rename from x/cardchain/simulation/buy_collection.go rename to x/cardchain/simulation/create_set.go index 3d4afacf..80b8e098 100644 --- a/x/cardchain/simulation/buy_collection.go +++ b/x/cardchain/simulation/create_set.go @@ -10,7 +10,7 @@ import ( simtypes "github.com/cosmos/cosmos-sdk/types/simulation" ) -func SimulateMsgBuyCollection( +func SimulateMsgCreateSet( ak types.AccountKeeper, bk types.BankKeeper, k keeper.Keeper, @@ -18,12 +18,12 @@ func SimulateMsgBuyCollection( return func(r *rand.Rand, app *baseapp.BaseApp, ctx sdk.Context, accs []simtypes.Account, chainID string, ) (simtypes.OperationMsg, []simtypes.FutureOperation, error) { simAccount, _ := simtypes.RandomAcc(r, accs) - msg := &types.MsgBuyCollection{ + msg := &types.MsgCreateSet{ Creator: simAccount.Address.String(), } - // TODO: Handling the BuyCollection simulation + // TODO: Handling the CreateSet simulation - return simtypes.NoOpMsg(types.ModuleName, msg.Type(), "BuyCollection simulation not implemented"), nil, nil + return simtypes.NoOpMsg(types.ModuleName, msg.Type(), "CreateSet simulation not implemented"), nil, nil } } diff --git a/x/cardchain/simulation/finalize_collection.go b/x/cardchain/simulation/finalize_set.go similarity index 80% rename from x/cardchain/simulation/finalize_collection.go rename to x/cardchain/simulation/finalize_set.go index b6f020b8..cd915aed 100644 --- a/x/cardchain/simulation/finalize_collection.go +++ b/x/cardchain/simulation/finalize_set.go @@ -10,7 +10,7 @@ import ( simtypes "github.com/cosmos/cosmos-sdk/types/simulation" ) -func SimulateMsgFinalizeCollection( +func SimulateMsgFinalizeSet( ak types.AccountKeeper, bk types.BankKeeper, k keeper.Keeper, @@ -18,12 +18,12 @@ func SimulateMsgFinalizeCollection( return func(r *rand.Rand, app *baseapp.BaseApp, ctx sdk.Context, accs []simtypes.Account, chainID string, ) (simtypes.OperationMsg, []simtypes.FutureOperation, error) { simAccount, _ := simtypes.RandomAcc(r, accs) - msg := &types.MsgFinalizeCollection{ + msg := &types.MsgFinalizeSet{ Creator: simAccount.Address.String(), } - // TODO: Handling the FinalizeCollection simulation + // TODO: Handling the FinalizeSet simulation - return simtypes.NoOpMsg(types.ModuleName, msg.Type(), "FinalizeCollection simulation not implemented"), nil, nil + return simtypes.NoOpMsg(types.ModuleName, msg.Type(), "FinalizeSet simulation not implemented"), nil, nil } } diff --git a/x/cardchain/simulation/simap.go b/x/cardchain/simulation/helpers.go similarity index 100% rename from x/cardchain/simulation/simap.go rename to x/cardchain/simulation/helpers.go diff --git a/x/cardchain/simulation/msg_open_match.go b/x/cardchain/simulation/msg_open_match.go new file mode 100644 index 00000000..6479acc6 --- /dev/null +++ b/x/cardchain/simulation/msg_open_match.go @@ -0,0 +1,29 @@ +package simulation + +import ( + "math/rand" + + "github.com/DecentralCardGame/Cardchain/x/cardchain/keeper" + "github.com/DecentralCardGame/Cardchain/x/cardchain/types" + "github.com/cosmos/cosmos-sdk/baseapp" + sdk "github.com/cosmos/cosmos-sdk/types" + simtypes "github.com/cosmos/cosmos-sdk/types/simulation" +) + +func SimulateMsgOpenMatch( + ak types.AccountKeeper, + bk types.BankKeeper, + k keeper.Keeper, +) simtypes.Operation { + return func(r *rand.Rand, app *baseapp.BaseApp, ctx sdk.Context, accs []simtypes.Account, chainID string, + ) (simtypes.OperationMsg, []simtypes.FutureOperation, error) { + simAccount, _ := simtypes.RandomAcc(r, accs) + msg := &types.MsgOpenMatch{ + Creator: simAccount.Address.String(), + } + + // TODO: Handling the OpenMatch simulation + + return simtypes.NoOpMsg(types.ModuleName, msg.Type(), "MsgOpenMatch simulation not implemented"), nil, nil + } +} diff --git a/x/cardchain/simulation/multi_vote_card.go b/x/cardchain/simulation/multi_vote_card.go new file mode 100644 index 00000000..86520652 --- /dev/null +++ b/x/cardchain/simulation/multi_vote_card.go @@ -0,0 +1,29 @@ +package simulation + +import ( + "math/rand" + + "github.com/DecentralCardGame/Cardchain/x/cardchain/keeper" + "github.com/DecentralCardGame/Cardchain/x/cardchain/types" + "github.com/cosmos/cosmos-sdk/baseapp" + sdk "github.com/cosmos/cosmos-sdk/types" + simtypes "github.com/cosmos/cosmos-sdk/types/simulation" +) + +func SimulateMsgMultiVoteCard( + ak types.AccountKeeper, + bk types.BankKeeper, + k keeper.Keeper, +) simtypes.Operation { + return func(r *rand.Rand, app *baseapp.BaseApp, ctx sdk.Context, accs []simtypes.Account, chainID string, + ) (simtypes.OperationMsg, []simtypes.FutureOperation, error) { + simAccount, _ := simtypes.RandomAcc(r, accs) + msg := &types.MsgMultiVoteCard{ + Creator: simAccount.Address.String(), + } + + // TODO: Handling the MultiVoteCard simulation + + return simtypes.NoOpMsg(types.ModuleName, msg.Type(), "MultiVoteCard simulation not implemented"), nil, nil + } +} diff --git a/x/cardchain/simulation/remove_card_from_collection.go b/x/cardchain/simulation/remove_card_from_set.go similarity index 78% rename from x/cardchain/simulation/remove_card_from_collection.go rename to x/cardchain/simulation/remove_card_from_set.go index aa576104..94fbb2ff 100644 --- a/x/cardchain/simulation/remove_card_from_collection.go +++ b/x/cardchain/simulation/remove_card_from_set.go @@ -10,7 +10,7 @@ import ( simtypes "github.com/cosmos/cosmos-sdk/types/simulation" ) -func SimulateMsgRemoveCardFromCollection( +func SimulateMsgRemoveCardFromSet( ak types.AccountKeeper, bk types.BankKeeper, k keeper.Keeper, @@ -18,12 +18,12 @@ func SimulateMsgRemoveCardFromCollection( return func(r *rand.Rand, app *baseapp.BaseApp, ctx sdk.Context, accs []simtypes.Account, chainID string, ) (simtypes.OperationMsg, []simtypes.FutureOperation, error) { simAccount, _ := simtypes.RandomAcc(r, accs) - msg := &types.MsgRemoveCardFromCollection{ + msg := &types.MsgRemoveCardFromSet{ Creator: simAccount.Address.String(), } - // TODO: Handling the RemoveCardFromCollection simulation + // TODO: Handling the RemoveCardFromSet simulation - return simtypes.NoOpMsg(types.ModuleName, msg.Type(), "RemoveCardFromCollection simulation not implemented"), nil, nil + return simtypes.NoOpMsg(types.ModuleName, msg.Type(), "RemoveCardFromSet simulation not implemented"), nil, nil } } diff --git a/x/cardchain/simulation/remove_contributor_from_collection.go b/x/cardchain/simulation/remove_contributor_from_set.go similarity index 75% rename from x/cardchain/simulation/remove_contributor_from_collection.go rename to x/cardchain/simulation/remove_contributor_from_set.go index fa372d83..523f50e5 100644 --- a/x/cardchain/simulation/remove_contributor_from_collection.go +++ b/x/cardchain/simulation/remove_contributor_from_set.go @@ -10,7 +10,7 @@ import ( simtypes "github.com/cosmos/cosmos-sdk/types/simulation" ) -func SimulateMsgRemoveContributorFromCollection( +func SimulateMsgRemoveContributorFromSet( ak types.AccountKeeper, bk types.BankKeeper, k keeper.Keeper, @@ -18,12 +18,12 @@ func SimulateMsgRemoveContributorFromCollection( return func(r *rand.Rand, app *baseapp.BaseApp, ctx sdk.Context, accs []simtypes.Account, chainID string, ) (simtypes.OperationMsg, []simtypes.FutureOperation, error) { simAccount, _ := simtypes.RandomAcc(r, accs) - msg := &types.MsgRemoveContributorFromCollection{ + msg := &types.MsgRemoveContributorFromSet{ Creator: simAccount.Address.String(), } - // TODO: Handling the RemoveContributorFromCollection simulation + // TODO: Handling the RemoveContributorFromSet simulation - return simtypes.NoOpMsg(types.ModuleName, msg.Type(), "RemoveContributorFromCollection simulation not implemented"), nil, nil + return simtypes.NoOpMsg(types.ModuleName, msg.Type(), "RemoveContributorFromSet simulation not implemented"), nil, nil } } diff --git a/x/cardchain/simulation/set_collection_artist.go b/x/cardchain/simulation/set_collection_artist.go deleted file mode 100644 index 8ff044e3..00000000 --- a/x/cardchain/simulation/set_collection_artist.go +++ /dev/null @@ -1,29 +0,0 @@ -package simulation - -import ( - "math/rand" - - "github.com/DecentralCardGame/Cardchain/x/cardchain/keeper" - "github.com/DecentralCardGame/Cardchain/x/cardchain/types" - "github.com/cosmos/cosmos-sdk/baseapp" - sdk "github.com/cosmos/cosmos-sdk/types" - simtypes "github.com/cosmos/cosmos-sdk/types/simulation" -) - -func SimulateMsgSetCollectionArtist( - ak types.AccountKeeper, - bk types.BankKeeper, - k keeper.Keeper, -) simtypes.Operation { - return func(r *rand.Rand, app *baseapp.BaseApp, ctx sdk.Context, accs []simtypes.Account, chainID string, - ) (simtypes.OperationMsg, []simtypes.FutureOperation, error) { - simAccount, _ := simtypes.RandomAcc(r, accs) - msg := &types.MsgSetCollectionArtist{ - Creator: simAccount.Address.String(), - } - - // TODO: Handling the SetCollectionArtist simulation - - return simtypes.NoOpMsg(types.ModuleName, msg.Type(), "SetCollectionArtist simulation not implemented"), nil, nil - } -} diff --git a/x/cardchain/simulation/set_collection_story_writer.go b/x/cardchain/simulation/set_collection_story_writer.go deleted file mode 100644 index 3e243861..00000000 --- a/x/cardchain/simulation/set_collection_story_writer.go +++ /dev/null @@ -1,29 +0,0 @@ -package simulation - -import ( - "math/rand" - - "github.com/DecentralCardGame/Cardchain/x/cardchain/keeper" - "github.com/DecentralCardGame/Cardchain/x/cardchain/types" - "github.com/cosmos/cosmos-sdk/baseapp" - sdk "github.com/cosmos/cosmos-sdk/types" - simtypes "github.com/cosmos/cosmos-sdk/types/simulation" -) - -func SimulateMsgSetCollectionStoryWriter( - ak types.AccountKeeper, - bk types.BankKeeper, - k keeper.Keeper, -) simtypes.Operation { - return func(r *rand.Rand, app *baseapp.BaseApp, ctx sdk.Context, accs []simtypes.Account, chainID string, - ) (simtypes.OperationMsg, []simtypes.FutureOperation, error) { - simAccount, _ := simtypes.RandomAcc(r, accs) - msg := &types.MsgSetCollectionStoryWriter{ - Creator: simAccount.Address.String(), - } - - // TODO: Handling the SetCollectionStoryWriter simulation - - return simtypes.NoOpMsg(types.ModuleName, msg.Type(), "SetCollectionStoryWriter simulation not implemented"), nil, nil - } -} diff --git a/x/cardchain/simulation/set_set_artist.go b/x/cardchain/simulation/set_set_artist.go new file mode 100644 index 00000000..d69a11e1 --- /dev/null +++ b/x/cardchain/simulation/set_set_artist.go @@ -0,0 +1,29 @@ +package simulation + +import ( + "math/rand" + + "github.com/DecentralCardGame/Cardchain/x/cardchain/keeper" + "github.com/DecentralCardGame/Cardchain/x/cardchain/types" + "github.com/cosmos/cosmos-sdk/baseapp" + sdk "github.com/cosmos/cosmos-sdk/types" + simtypes "github.com/cosmos/cosmos-sdk/types/simulation" +) + +func SimulateMsgSetSetArtist( + ak types.AccountKeeper, + bk types.BankKeeper, + k keeper.Keeper, +) simtypes.Operation { + return func(r *rand.Rand, app *baseapp.BaseApp, ctx sdk.Context, accs []simtypes.Account, chainID string, + ) (simtypes.OperationMsg, []simtypes.FutureOperation, error) { + simAccount, _ := simtypes.RandomAcc(r, accs) + msg := &types.MsgSetSetArtist{ + Creator: simAccount.Address.String(), + } + + // TODO: Handling the SetSetArtist simulation + + return simtypes.NoOpMsg(types.ModuleName, msg.Type(), "SetSetArtist simulation not implemented"), nil, nil + } +} diff --git a/x/cardchain/simulation/set_set_name.go b/x/cardchain/simulation/set_set_name.go new file mode 100644 index 00000000..7f8377a1 --- /dev/null +++ b/x/cardchain/simulation/set_set_name.go @@ -0,0 +1,29 @@ +package simulation + +import ( + "math/rand" + + "github.com/DecentralCardGame/Cardchain/x/cardchain/keeper" + "github.com/DecentralCardGame/Cardchain/x/cardchain/types" + "github.com/cosmos/cosmos-sdk/baseapp" + sdk "github.com/cosmos/cosmos-sdk/types" + simtypes "github.com/cosmos/cosmos-sdk/types/simulation" +) + +func SimulateMsgSetSetName( + ak types.AccountKeeper, + bk types.BankKeeper, + k keeper.Keeper, +) simtypes.Operation { + return func(r *rand.Rand, app *baseapp.BaseApp, ctx sdk.Context, accs []simtypes.Account, chainID string, + ) (simtypes.OperationMsg, []simtypes.FutureOperation, error) { + simAccount, _ := simtypes.RandomAcc(r, accs) + msg := &types.MsgSetSetName{ + Creator: simAccount.Address.String(), + } + + // TODO: Handling the SetSetName simulation + + return simtypes.NoOpMsg(types.ModuleName, msg.Type(), "SetSetName simulation not implemented"), nil, nil + } +} diff --git a/x/cardchain/simulation/set_set_story_writer.go b/x/cardchain/simulation/set_set_story_writer.go new file mode 100644 index 00000000..82901c70 --- /dev/null +++ b/x/cardchain/simulation/set_set_story_writer.go @@ -0,0 +1,29 @@ +package simulation + +import ( + "math/rand" + + "github.com/DecentralCardGame/Cardchain/x/cardchain/keeper" + "github.com/DecentralCardGame/Cardchain/x/cardchain/types" + "github.com/cosmos/cosmos-sdk/baseapp" + sdk "github.com/cosmos/cosmos-sdk/types" + simtypes "github.com/cosmos/cosmos-sdk/types/simulation" +) + +func SimulateMsgSetSetStoryWriter( + ak types.AccountKeeper, + bk types.BankKeeper, + k keeper.Keeper, +) simtypes.Operation { + return func(r *rand.Rand, app *baseapp.BaseApp, ctx sdk.Context, accs []simtypes.Account, chainID string, + ) (simtypes.OperationMsg, []simtypes.FutureOperation, error) { + simAccount, _ := simtypes.RandomAcc(r, accs) + msg := &types.MsgSetSetStoryWriter{ + Creator: simAccount.Address.String(), + } + + // TODO: Handling the SetSetStoryWriter simulation + + return simtypes.NoOpMsg(types.ModuleName, msg.Type(), "SetSetStoryWriter simulation not implemented"), nil, nil + } +} diff --git a/x/cardchain/simulation/submit_collection_proposal.go b/x/cardchain/simulation/submit_collection_proposal.go deleted file mode 100644 index 34e1502f..00000000 --- a/x/cardchain/simulation/submit_collection_proposal.go +++ /dev/null @@ -1,29 +0,0 @@ -package simulation - -import ( - "math/rand" - - "github.com/DecentralCardGame/Cardchain/x/cardchain/keeper" - "github.com/DecentralCardGame/Cardchain/x/cardchain/types" - "github.com/cosmos/cosmos-sdk/baseapp" - sdk "github.com/cosmos/cosmos-sdk/types" - simtypes "github.com/cosmos/cosmos-sdk/types/simulation" -) - -func SimulateMsgSubmitCollectionProposal( - ak types.AccountKeeper, - bk types.BankKeeper, - k keeper.Keeper, -) simtypes.Operation { - return func(r *rand.Rand, app *baseapp.BaseApp, ctx sdk.Context, accs []simtypes.Account, chainID string, - ) (simtypes.OperationMsg, []simtypes.FutureOperation, error) { - simAccount, _ := simtypes.RandomAcc(r, accs) - msg := &types.MsgSubmitCollectionProposal{ - Creator: simAccount.Address.String(), - } - - // TODO: Handling the SubmitCollectionProposal simulation - - return simtypes.NoOpMsg(types.ModuleName, msg.Type(), "SubmitCollectionProposal simulation not implemented"), nil, nil - } -} diff --git a/x/cardchain/simulation/submit_copyright_proposal.go b/x/cardchain/simulation/submit_copyright_proposal.go deleted file mode 100644 index 8d2f1320..00000000 --- a/x/cardchain/simulation/submit_copyright_proposal.go +++ /dev/null @@ -1,29 +0,0 @@ -package simulation - -import ( - "math/rand" - - "github.com/DecentralCardGame/Cardchain/x/cardchain/keeper" - "github.com/DecentralCardGame/Cardchain/x/cardchain/types" - "github.com/cosmos/cosmos-sdk/baseapp" - sdk "github.com/cosmos/cosmos-sdk/types" - simtypes "github.com/cosmos/cosmos-sdk/types/simulation" -) - -func SimulateMsgSubmitCopyrightProposal( - ak types.AccountKeeper, - bk types.BankKeeper, - k keeper.Keeper, -) simtypes.Operation { - return func(r *rand.Rand, app *baseapp.BaseApp, ctx sdk.Context, accs []simtypes.Account, chainID string, - ) (simtypes.OperationMsg, []simtypes.FutureOperation, error) { - simAccount, _ := simtypes.RandomAcc(r, accs) - msg := &types.MsgSubmitCopyrightProposal{ - Creator: simAccount.Address.String(), - } - - // TODO: Handling the SubmitCopyrightProposal simulation - - return simtypes.NoOpMsg(types.ModuleName, msg.Type(), "SubmitCopyrightProposal simulation not implemented"), nil, nil - } -} diff --git a/x/cardchain/simulation/submit_match_reporter_proposal.go b/x/cardchain/simulation/submit_match_reporter_proposal.go deleted file mode 100644 index da9d4797..00000000 --- a/x/cardchain/simulation/submit_match_reporter_proposal.go +++ /dev/null @@ -1,29 +0,0 @@ -package simulation - -import ( - "math/rand" - - "github.com/DecentralCardGame/Cardchain/x/cardchain/keeper" - "github.com/DecentralCardGame/Cardchain/x/cardchain/types" - "github.com/cosmos/cosmos-sdk/baseapp" - sdk "github.com/cosmos/cosmos-sdk/types" - simtypes "github.com/cosmos/cosmos-sdk/types/simulation" -) - -func SimulateMsgSubmitMatchReporterProposal( - ak types.AccountKeeper, - bk types.BankKeeper, - k keeper.Keeper, -) simtypes.Operation { - return func(r *rand.Rand, app *baseapp.BaseApp, ctx sdk.Context, accs []simtypes.Account, chainID string, - ) (simtypes.OperationMsg, []simtypes.FutureOperation, error) { - simAccount, _ := simtypes.RandomAcc(r, accs) - msg := &types.MsgSubmitMatchReporterProposal{ - Creator: simAccount.Address.String(), - } - - // TODO: Handling the SubmitMatchReporterProposal simulation - - return simtypes.NoOpMsg(types.ModuleName, msg.Type(), "SubmitMatchReporterProposal simulation not implemented"), nil, nil - } -} diff --git a/x/cardchain/types/card.pb.go b/x/cardchain/types/card.pb.go index 7a792736..8656435f 100644 --- a/x/cardchain/types/card.pb.go +++ b/x/cardchain/types/card.pb.go @@ -73,6 +73,40 @@ func (Status) EnumDescriptor() ([]byte, []int) { return fileDescriptor_a360ffd2377ddc30, []int{0} } +type CardRarity int32 + +const ( + CardRarity_common CardRarity = 0 + CardRarity_uncommon CardRarity = 1 + CardRarity_rare CardRarity = 2 + CardRarity_exceptional CardRarity = 3 + CardRarity_unique CardRarity = 4 +) + +var CardRarity_name = map[int32]string{ + 0: "common", + 1: "uncommon", + 2: "rare", + 3: "exceptional", + 4: "unique", +} + +var CardRarity_value = map[string]int32{ + "common": 0, + "uncommon": 1, + "rare": 2, + "exceptional": 3, + "unique": 4, +} + +func (x CardRarity) String() string { + return proto.EnumName(CardRarity_name, int32(x)) +} + +func (CardRarity) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_a360ffd2377ddc30, []int{1} +} + type Card struct { Owner string `protobuf:"bytes,1,opt,name=owner,proto3" json:"owner,omitempty"` Artist string `protobuf:"bytes,2,opt,name=artist,proto3" json:"artist,omitempty"` @@ -88,6 +122,9 @@ type Card struct { UnderpoweredVotes uint64 `protobuf:"varint,11,opt,name=underpoweredVotes,proto3" json:"underpoweredVotes,omitempty"` InappropriateVotes uint64 `protobuf:"varint,12,opt,name=inappropriateVotes,proto3" json:"inappropriateVotes,omitempty"` Nerflevel int64 `protobuf:"varint,13,opt,name=nerflevel,proto3" json:"nerflevel,omitempty"` + BalanceAnchor bool `protobuf:"varint,15,opt,name=balanceAnchor,proto3" json:"balanceAnchor,omitempty"` + StarterCard bool `protobuf:"varint,16,opt,name=starterCard,proto3" json:"starterCard,omitempty"` + Rarity CardRarity `protobuf:"varint,17,opt,name=rarity,proto3,enum=DecentralCardGame.cardchain.cardchain.CardRarity" json:"rarity,omitempty"` } func (m *Card) Reset() { *m = Card{} } @@ -214,6 +251,27 @@ func (m *Card) GetNerflevel() int64 { return 0 } +func (m *Card) GetBalanceAnchor() bool { + if m != nil { + return m.BalanceAnchor + } + return false +} + +func (m *Card) GetStarterCard() bool { + if m != nil { + return m.StarterCard + } + return false +} + +func (m *Card) GetRarity() CardRarity { + if m != nil { + return m.Rarity + } + return CardRarity_common +} + type OutpCard struct { Owner string `protobuf:"bytes,1,opt,name=owner,proto3" json:"owner,omitempty"` Artist string `protobuf:"bytes,2,opt,name=artist,proto3" json:"artist,omitempty"` @@ -229,6 +287,10 @@ type OutpCard struct { UnderpoweredVotes uint64 `protobuf:"varint,11,opt,name=underpoweredVotes,proto3" json:"underpoweredVotes,omitempty"` InappropriateVotes uint64 `protobuf:"varint,12,opt,name=inappropriateVotes,proto3" json:"inappropriateVotes,omitempty"` Nerflevel int64 `protobuf:"varint,13,opt,name=nerflevel,proto3" json:"nerflevel,omitempty"` + BalanceAnchor bool `protobuf:"varint,15,opt,name=balanceAnchor,proto3" json:"balanceAnchor,omitempty"` + Hash string `protobuf:"bytes,16,opt,name=hash,proto3" json:"hash,omitempty"` + StarterCard bool `protobuf:"varint,17,opt,name=starterCard,proto3" json:"starterCard,omitempty"` + Rarity CardRarity `protobuf:"varint,18,opt,name=rarity,proto3,enum=DecentralCardGame.cardchain.cardchain.CardRarity" json:"rarity,omitempty"` } func (m *OutpCard) Reset() { *m = OutpCard{} } @@ -355,51 +417,135 @@ func (m *OutpCard) GetNerflevel() int64 { return 0 } +func (m *OutpCard) GetBalanceAnchor() bool { + if m != nil { + return m.BalanceAnchor + } + return false +} + +func (m *OutpCard) GetHash() string { + if m != nil { + return m.Hash + } + return "" +} + +func (m *OutpCard) GetStarterCard() bool { + if m != nil { + return m.StarterCard + } + return false +} + +func (m *OutpCard) GetRarity() CardRarity { + if m != nil { + return m.Rarity + } + return CardRarity_common +} + +type TimeStamp struct { + TimeStamp uint64 `protobuf:"varint,1,opt,name=timeStamp,proto3" json:"timeStamp,omitempty"` +} + +func (m *TimeStamp) Reset() { *m = TimeStamp{} } +func (m *TimeStamp) String() string { return proto.CompactTextString(m) } +func (*TimeStamp) ProtoMessage() {} +func (*TimeStamp) Descriptor() ([]byte, []int) { + return fileDescriptor_a360ffd2377ddc30, []int{2} +} +func (m *TimeStamp) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *TimeStamp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_TimeStamp.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 *TimeStamp) XXX_Merge(src proto.Message) { + xxx_messageInfo_TimeStamp.Merge(m, src) +} +func (m *TimeStamp) XXX_Size() int { + return m.Size() +} +func (m *TimeStamp) XXX_DiscardUnknown() { + xxx_messageInfo_TimeStamp.DiscardUnknown(m) +} + +var xxx_messageInfo_TimeStamp proto.InternalMessageInfo + +func (m *TimeStamp) GetTimeStamp() uint64 { + if m != nil { + return m.TimeStamp + } + return 0 +} + func init() { proto.RegisterEnum("DecentralCardGame.cardchain.cardchain.Status", Status_name, Status_value) + proto.RegisterEnum("DecentralCardGame.cardchain.cardchain.CardRarity", CardRarity_name, CardRarity_value) proto.RegisterType((*Card)(nil), "DecentralCardGame.cardchain.cardchain.Card") proto.RegisterType((*OutpCard)(nil), "DecentralCardGame.cardchain.cardchain.OutpCard") + proto.RegisterType((*TimeStamp)(nil), "DecentralCardGame.cardchain.cardchain.TimeStamp") } func init() { proto.RegisterFile("cardchain/cardchain/card.proto", fileDescriptor_a360ffd2377ddc30) } var fileDescriptor_a360ffd2377ddc30 = []byte{ - // 559 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x54, 0xcf, 0x6b, 0xd4, 0x40, - 0x14, 0xde, 0xe9, 0x66, 0xb3, 0xc9, 0xb3, 0x5d, 0xe3, 0x50, 0x24, 0x8a, 0xa4, 0xa1, 0x20, 0x86, - 0x62, 0xb3, 0xa0, 0x17, 0xaf, 0x76, 0x2d, 0x22, 0x1e, 0x94, 0x14, 0x7a, 0xf0, 0x22, 0xd3, 0xe4, - 0x75, 0x77, 0x30, 0x3b, 0x13, 0x66, 0x26, 0xad, 0xfd, 0x2f, 0xbc, 0xa8, 0xff, 0x52, 0x8f, 0x3d, - 0x8a, 0x87, 0x22, 0xed, 0x3f, 0x22, 0x33, 0xe9, 0x2f, 0x5b, 0x0f, 0x82, 0x27, 0xc1, 0x53, 0xde, - 0xf7, 0xde, 0xf7, 0xbd, 0xf0, 0xde, 0x7c, 0x3c, 0x48, 0x4a, 0xa6, 0xaa, 0x72, 0xc6, 0xb8, 0x18, - 0xff, 0x1a, 0xe5, 0x8d, 0x92, 0x46, 0xd2, 0x87, 0x2f, 0xb0, 0x44, 0x61, 0x14, 0xab, 0x27, 0x4c, - 0x55, 0x2f, 0xd9, 0x1c, 0xf3, 0x0b, 0xde, 0x65, 0x74, 0x7f, 0x79, 0x2a, 0xa7, 0xd2, 0x29, 0xc6, - 0x36, 0xea, 0xc4, 0xab, 0x5f, 0x3d, 0xf0, 0xac, 0x8c, 0x2e, 0xc3, 0x40, 0xee, 0x0b, 0x54, 0x31, - 0x49, 0x49, 0x16, 0x16, 0x1d, 0xa0, 0x77, 0xc1, 0x67, 0xca, 0x70, 0x6d, 0xe2, 0x05, 0x97, 0x3e, - 0x43, 0x34, 0x86, 0x61, 0x29, 0x85, 0x41, 0x61, 0xe2, 0x7e, 0x4a, 0xb2, 0xc5, 0xe2, 0x1c, 0xd2, - 0x7b, 0x10, 0xf0, 0x39, 0x9b, 0xe2, 0x7b, 0x5e, 0xc5, 0x5e, 0x4a, 0x32, 0xaf, 0x18, 0x3a, 0xfc, - 0xaa, 0xb2, 0xa2, 0xdd, 0xb6, 0xae, 0x9f, 0x2b, 0x13, 0x0f, 0x52, 0x92, 0x05, 0xc5, 0x39, 0xb4, - 0x3f, 0x17, 0xd2, 0xa0, 0x8e, 0xfd, 0xee, 0xe7, 0x0e, 0xd0, 0x4d, 0xf0, 0xb5, 0x61, 0xa6, 0xd5, - 0xf1, 0x30, 0x25, 0xd9, 0xe8, 0xc9, 0x7a, 0xfe, 0x47, 0x93, 0xe6, 0x5b, 0x4e, 0x54, 0x9c, 0x89, - 0xe9, 0x6b, 0x08, 0xf6, 0xa4, 0xc1, 0xb7, 0x52, 0xd6, 0x71, 0x60, 0xfb, 0x6f, 0x8c, 0x0f, 0x8f, - 0x57, 0x7a, 0xdf, 0x8f, 0x57, 0x1e, 0x4d, 0xb9, 0x99, 0xb5, 0x3b, 0x79, 0x29, 0xe7, 0xe3, 0x52, - 0xea, 0xb9, 0xd4, 0x67, 0x9f, 0x75, 0x5d, 0x7d, 0x18, 0x9b, 0x83, 0x06, 0x75, 0x3e, 0x91, 0x5c, - 0x14, 0x17, 0x0d, 0xec, 0x42, 0x6c, 0xac, 0x74, 0x3c, 0x4a, 0xfb, 0x76, 0x21, 0x1d, 0xa2, 0x19, - 0xdc, 0xde, 0x65, 0x5c, 0x6d, 0x0a, 0xd9, 0x4e, 0x67, 0xdb, 0x6e, 0x96, 0xd0, 0x4d, 0x7f, 0x3d, - 0x4d, 0xd7, 0x20, 0x92, 0x7b, 0xa8, 0x1a, 0xb9, 0x8f, 0x0a, 0xab, 0x8e, 0x0a, 0x8e, 0x7a, 0x23, - 0x4f, 0x1f, 0xc3, 0x9d, 0x56, 0x54, 0xd7, 0xc8, 0xb7, 0x1c, 0xf9, 0x66, 0x81, 0xe6, 0x40, 0xb9, - 0x60, 0x4d, 0xa3, 0x64, 0xa3, 0x38, 0x33, 0xd8, 0xd1, 0x17, 0x1d, 0xfd, 0x37, 0x15, 0xfa, 0x00, - 0x42, 0x81, 0x6a, 0xb7, 0xc6, 0x3d, 0xac, 0xe3, 0xa5, 0x94, 0x64, 0xfd, 0xe2, 0x32, 0xb1, 0xfa, - 0xc5, 0x83, 0xe0, 0x4d, 0x6b, 0x9a, 0xbf, 0x77, 0x47, 0x78, 0xe9, 0x8e, 0x65, 0x18, 0x38, 0x37, - 0x38, 0x6b, 0x84, 0x45, 0x07, 0xfe, 0x1b, 0xe3, 0x5f, 0x32, 0xc6, 0xda, 0x67, 0x02, 0x7e, 0xb7, - 0x49, 0x0a, 0xe0, 0xeb, 0x72, 0x86, 0x73, 0x8c, 0x7a, 0x74, 0x09, 0x42, 0x77, 0x52, 0xec, 0x76, - 0x22, 0x42, 0x43, 0x18, 0x18, 0xc5, 0x59, 0x1d, 0x2d, 0xb8, 0x0a, 0xaa, 0x39, 0x13, 0x28, 0x4c, - 0xd4, 0xb7, 0x50, 0xb7, 0xba, 0x41, 0x51, 0x61, 0x15, 0x79, 0xb6, 0xc7, 0x0e, 0x13, 0x02, 0xab, - 0x68, 0x40, 0x47, 0x00, 0x5d, 0xbc, 0x25, 0xa5, 0x88, 0x7c, 0x4a, 0x61, 0xd4, 0xe1, 0x6d, 0x54, - 0x07, 0x2e, 0x37, 0xa4, 0x01, 0x78, 0x42, 0x0a, 0x8c, 0x02, 0xdb, 0x88, 0x8b, 0x89, 0x6c, 0x45, - 0xc9, 0xeb, 0x28, 0xdc, 0x28, 0x0e, 0x4f, 0x12, 0x72, 0x74, 0x92, 0x90, 0x1f, 0x27, 0x09, 0xf9, - 0x74, 0x9a, 0xf4, 0x8e, 0x4e, 0x93, 0xde, 0xb7, 0xd3, 0xa4, 0xf7, 0xee, 0xd9, 0x95, 0xe7, 0xbc, - 0xe1, 0x94, 0xf1, 0xe4, 0xe2, 0xa8, 0x7e, 0xbc, 0x72, 0x60, 0xdd, 0x23, 0xef, 0xf8, 0x6e, 0xa4, - 0xa7, 0x3f, 0x03, 0x00, 0x00, 0xff, 0xff, 0xbf, 0xea, 0x3b, 0x27, 0x84, 0x05, 0x00, 0x00, + // 707 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x55, 0xcf, 0x4f, 0xdb, 0x48, + 0x14, 0x8e, 0x89, 0xe3, 0xd8, 0x0f, 0x08, 0xc3, 0x08, 0xad, 0xbc, 0xab, 0x55, 0xb0, 0xd0, 0xae, + 0x36, 0x8b, 0x96, 0x44, 0xbb, 0x7b, 0xe9, 0x15, 0x52, 0x54, 0xa1, 0xaa, 0x6a, 0x65, 0x2a, 0x0e, + 0xbd, 0x54, 0x13, 0xfb, 0x91, 0x8c, 0x6a, 0xcf, 0xb8, 0xe3, 0x31, 0x3f, 0xfe, 0x8b, 0x5e, 0xfa, + 0x4f, 0xf4, 0x7f, 0xe8, 0x9d, 0x23, 0xc7, 0xaa, 0x07, 0x54, 0xc1, 0x3f, 0x52, 0xcd, 0x38, 0x10, + 0x7e, 0x54, 0x15, 0x12, 0xb7, 0xaa, 0xa7, 0xbc, 0xef, 0x9b, 0xef, 0x7b, 0xd6, 0x9b, 0xf7, 0xc5, + 0x86, 0x6e, 0xc2, 0x54, 0x9a, 0x4c, 0x18, 0x17, 0x83, 0x9b, 0x55, 0xbf, 0x50, 0x52, 0x4b, 0xfa, + 0xe7, 0x63, 0x4c, 0x50, 0x68, 0xc5, 0xb2, 0x21, 0x53, 0xe9, 0x13, 0x96, 0x63, 0xff, 0x4a, 0x37, + 0xab, 0x7e, 0x5b, 0x19, 0xcb, 0xb1, 0xb4, 0x8e, 0x81, 0xa9, 0x6a, 0xf3, 0xda, 0x87, 0x16, 0xb8, + 0xc6, 0x46, 0x57, 0xa0, 0x25, 0x0f, 0x05, 0xaa, 0xd0, 0x89, 0x9c, 0x5e, 0x10, 0xd7, 0x80, 0xfe, + 0x02, 0x1e, 0x53, 0x9a, 0x97, 0x3a, 0x9c, 0xb3, 0xf4, 0x14, 0xd1, 0x10, 0xda, 0x89, 0x14, 0x1a, + 0x85, 0x0e, 0x9b, 0x91, 0xd3, 0x5b, 0x88, 0x2f, 0x21, 0xfd, 0x15, 0x7c, 0x9e, 0xb3, 0x31, 0xbe, + 0xe6, 0x69, 0xe8, 0x46, 0x4e, 0xcf, 0x8d, 0xdb, 0x16, 0xef, 0xa4, 0xc6, 0xb4, 0x5f, 0x65, 0xd9, + 0xa6, 0xd2, 0x61, 0x2b, 0x72, 0x7a, 0x7e, 0x7c, 0x09, 0xcd, 0xc3, 0x85, 0xd4, 0x58, 0x86, 0x5e, + 0xfd, 0x70, 0x0b, 0xe8, 0x36, 0x78, 0xa5, 0x66, 0xba, 0x2a, 0xc3, 0x76, 0xe4, 0xf4, 0x3a, 0xff, + 0x6d, 0xf4, 0xef, 0x35, 0x69, 0x7f, 0xd7, 0x9a, 0xe2, 0xa9, 0x99, 0x3e, 0x05, 0xff, 0x40, 0x6a, + 0x7c, 0x21, 0x65, 0x16, 0xfa, 0xa6, 0xff, 0xd6, 0xe0, 0xe4, 0x6c, 0xb5, 0xf1, 0xf9, 0x6c, 0xf5, + 0xaf, 0x31, 0xd7, 0x93, 0x6a, 0xd4, 0x4f, 0x64, 0x3e, 0x48, 0x64, 0x99, 0xcb, 0x72, 0xfa, 0xb3, + 0x51, 0xa6, 0x6f, 0x06, 0xfa, 0xb8, 0xc0, 0xb2, 0x3f, 0x94, 0x5c, 0xc4, 0x57, 0x0d, 0xcc, 0x85, + 0x98, 0x5a, 0x95, 0x61, 0x27, 0x6a, 0x9a, 0x0b, 0xa9, 0x11, 0xed, 0xc1, 0xd2, 0x3e, 0xe3, 0x6a, + 0x5b, 0xc8, 0x6a, 0x3c, 0xd9, 0xb3, 0xb3, 0x04, 0x76, 0xfa, 0xdb, 0x34, 0x5d, 0x07, 0x22, 0x0f, + 0x50, 0x15, 0xf2, 0x10, 0x15, 0xa6, 0xb5, 0x14, 0xac, 0xf4, 0x0e, 0x4f, 0xff, 0x81, 0xe5, 0x4a, + 0xa4, 0xb7, 0xc4, 0xf3, 0x56, 0x7c, 0xf7, 0x80, 0xf6, 0x81, 0x72, 0xc1, 0x8a, 0x42, 0xc9, 0x42, + 0x71, 0xa6, 0xb1, 0x96, 0x2f, 0x58, 0xf9, 0x37, 0x4e, 0xe8, 0xef, 0x10, 0x08, 0x54, 0xfb, 0x19, + 0x1e, 0x60, 0x16, 0x2e, 0x46, 0x4e, 0xaf, 0x19, 0xcf, 0x08, 0xfa, 0x07, 0x2c, 0x8e, 0x58, 0xc6, + 0x44, 0x82, 0x9b, 0x22, 0x99, 0x48, 0x15, 0x2e, 0xd9, 0x9d, 0xdd, 0x24, 0x69, 0x04, 0xf3, 0xa5, + 0x66, 0x4a, 0xa3, 0x32, 0x2b, 0x09, 0x89, 0xd5, 0x5c, 0xa7, 0xe8, 0x0e, 0x78, 0x8a, 0x29, 0xae, + 0x8f, 0xc3, 0x65, 0xbb, 0xc5, 0x7f, 0xef, 0xb9, 0x45, 0x73, 0x18, 0x5b, 0x63, 0x3c, 0x6d, 0xb0, + 0xf6, 0xb1, 0x05, 0xfe, 0xf3, 0x4a, 0x17, 0x0f, 0x0f, 0x6c, 0x30, 0x0b, 0xec, 0x0a, 0xb4, 0x6c, + 0x40, 0x6d, 0x5a, 0x83, 0xb8, 0x06, 0x3f, 0xb3, 0xfa, 0x03, 0x66, 0x95, 0x82, 0x3b, 0x61, 0xe5, + 0xc4, 0x86, 0x34, 0x88, 0x6d, 0x7d, 0x3b, 0xbf, 0xcb, 0xdf, 0xcb, 0x2f, 0x7d, 0x68, 0x7e, 0xff, + 0x86, 0xe0, 0x25, 0xcf, 0x71, 0x57, 0xb3, 0xbc, 0x30, 0x13, 0xe9, 0x4b, 0x60, 0x33, 0xec, 0xc6, + 0x33, 0x62, 0xfd, 0xbd, 0x03, 0x5e, 0x9d, 0x0d, 0x0a, 0xe0, 0x95, 0xc9, 0x04, 0x73, 0x24, 0x0d, + 0xba, 0x08, 0x81, 0x7d, 0x6f, 0x9b, 0x7d, 0x13, 0x87, 0x06, 0xd0, 0xd2, 0x8a, 0xb3, 0x8c, 0xcc, + 0xd9, 0x13, 0x54, 0x39, 0x13, 0x28, 0x34, 0x69, 0x1a, 0x58, 0x56, 0x65, 0x81, 0x22, 0xc5, 0x94, + 0xb8, 0xa6, 0xc7, 0x88, 0x09, 0x81, 0x29, 0x69, 0xd1, 0x0e, 0x40, 0x5d, 0xef, 0x4a, 0x29, 0x88, + 0x47, 0x29, 0x74, 0x6a, 0xbc, 0x87, 0xea, 0xd8, 0x72, 0x6d, 0xea, 0x83, 0x2b, 0xa4, 0x40, 0xe2, + 0x9b, 0x46, 0x5c, 0x0c, 0x65, 0x25, 0x12, 0x9e, 0x91, 0x60, 0xfd, 0x19, 0xc0, 0x6c, 0x30, 0xd3, + 0x36, 0x91, 0x79, 0x2e, 0x05, 0x69, 0xd0, 0x05, 0xf0, 0x2b, 0x31, 0x45, 0x8e, 0x69, 0xa0, 0x98, + 0x42, 0x32, 0x47, 0x97, 0x60, 0x1e, 0x8f, 0x12, 0x2c, 0x34, 0x97, 0x82, 0x65, 0xa4, 0x69, 0x4c, + 0x95, 0xe0, 0x6f, 0x2b, 0x24, 0xee, 0x56, 0x7c, 0x72, 0xde, 0x75, 0x4e, 0xcf, 0xbb, 0xce, 0x97, + 0xf3, 0xae, 0xf3, 0xee, 0xa2, 0xdb, 0x38, 0xbd, 0xe8, 0x36, 0x3e, 0x5d, 0x74, 0x1b, 0xaf, 0x1e, + 0x5d, 0xcb, 0xfb, 0x9d, 0x0b, 0x1f, 0x0c, 0xaf, 0x3e, 0x84, 0x47, 0xd7, 0x3e, 0x8a, 0xf6, 0x5f, + 0x30, 0xf2, 0xec, 0x0d, 0xfd, 0xff, 0x35, 0x00, 0x00, 0xff, 0xff, 0xb1, 0x15, 0xe1, 0xff, 0x38, + 0x07, 0x00, 0x00, } func (m *Card) Marshal() (dAtA []byte, err error) { @@ -422,6 +568,35 @@ func (m *Card) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + if m.Rarity != 0 { + i = encodeVarintCard(dAtA, i, uint64(m.Rarity)) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x88 + } + if m.StarterCard { + i-- + if m.StarterCard { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x80 + } + if m.BalanceAnchor { + i-- + if m.BalanceAnchor { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x78 + } if len(m.Voters) > 0 { for iNdEx := len(m.Voters) - 1; iNdEx >= 0; iNdEx-- { i -= len(m.Voters[iNdEx]) @@ -537,6 +712,44 @@ func (m *OutpCard) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + if m.Rarity != 0 { + i = encodeVarintCard(dAtA, i, uint64(m.Rarity)) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x90 + } + if m.StarterCard { + i-- + if m.StarterCard { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x88 + } + if len(m.Hash) > 0 { + i -= len(m.Hash) + copy(dAtA[i:], m.Hash) + i = encodeVarintCard(dAtA, i, uint64(len(m.Hash))) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x82 + } + if m.BalanceAnchor { + i-- + if m.BalanceAnchor { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x78 + } if len(m.Voters) > 0 { for iNdEx := len(m.Voters) - 1; iNdEx >= 0; iNdEx-- { i -= len(m.Voters[iNdEx]) @@ -634,6 +847,34 @@ func (m *OutpCard) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } +func (m *TimeStamp) 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 *TimeStamp) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *TimeStamp) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.TimeStamp != 0 { + i = encodeVarintCard(dAtA, i, uint64(m.TimeStamp)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + func encodeVarintCard(dAtA []byte, offset int, v uint64) int { offset -= sovCard(v) base := offset @@ -699,6 +940,15 @@ func (m *Card) Size() (n int) { n += 1 + l + sovCard(uint64(l)) } } + if m.BalanceAnchor { + n += 2 + } + if m.StarterCard { + n += 3 + } + if m.Rarity != 0 { + n += 2 + sovCard(uint64(m.Rarity)) + } return n } @@ -757,6 +1007,31 @@ func (m *OutpCard) Size() (n int) { n += 1 + l + sovCard(uint64(l)) } } + if m.BalanceAnchor { + n += 2 + } + l = len(m.Hash) + if l > 0 { + n += 2 + l + sovCard(uint64(l)) + } + if m.StarterCard { + n += 3 + } + if m.Rarity != 0 { + n += 2 + sovCard(uint64(m.Rarity)) + } + return n +} + +func (m *TimeStamp) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.TimeStamp != 0 { + n += 1 + sovCard(uint64(m.TimeStamp)) + } return n } @@ -1144,6 +1419,65 @@ func (m *Card) Unmarshal(dAtA []byte) error { } m.Voters = append(m.Voters, string(dAtA[iNdEx:postIndex])) iNdEx = postIndex + case 15: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field BalanceAnchor", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowCard + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.BalanceAnchor = bool(v != 0) + case 16: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field StarterCard", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowCard + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.StarterCard = bool(v != 0) + case 17: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Rarity", wireType) + } + m.Rarity = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowCard + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Rarity |= CardRarity(b&0x7F) << shift + if b < 0x80 { + break + } + } default: iNdEx = preIndex skippy, err := skipCard(dAtA[iNdEx:]) @@ -1554,6 +1888,166 @@ func (m *OutpCard) Unmarshal(dAtA []byte) error { } m.Voters = append(m.Voters, string(dAtA[iNdEx:postIndex])) iNdEx = postIndex + case 15: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field BalanceAnchor", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowCard + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.BalanceAnchor = bool(v != 0) + case 16: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Hash", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowCard + } + 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 ErrInvalidLengthCard + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthCard + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Hash = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 17: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field StarterCard", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowCard + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.StarterCard = bool(v != 0) + case 18: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Rarity", wireType) + } + m.Rarity = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowCard + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Rarity |= CardRarity(b&0x7F) << shift + if b < 0x80 { + break + } + } + default: + iNdEx = preIndex + skippy, err := skipCard(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthCard + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *TimeStamp) 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 ErrIntOverflowCard + } + 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: TimeStamp: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: TimeStamp: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field TimeStamp", wireType) + } + m.TimeStamp = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowCard + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.TimeStamp |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } default: iNdEx = preIndex skippy, err := skipCard(dAtA[iNdEx:]) diff --git a/x/cardchain/types/codec.go b/x/cardchain/types/codec.go index 128dd734..30f4c1db 100644 --- a/x/cardchain/types/codec.go +++ b/x/cardchain/types/codec.go @@ -5,7 +5,7 @@ import ( cdctypes "github.com/cosmos/cosmos-sdk/codec/types" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/types/msgservice" - govtypes "github.com/cosmos/cosmos-sdk/x/gov/types" + govtypes "github.com/cosmos/cosmos-sdk/x/gov/types/v1beta1" ) func RegisterCodec(cdc *codec.LegacyAmino) { @@ -16,28 +16,25 @@ func RegisterCodec(cdc *codec.LegacyAmino) { cdc.RegisterConcrete(&MsgTransferCard{}, "cardchain/TransferCard", nil) cdc.RegisterConcrete(&MsgDonateToCard{}, "cardchain/DonateToCard", nil) cdc.RegisterConcrete(&MsgAddArtwork{}, "cardchain/AddArtwork", nil) - cdc.RegisterConcrete(&MsgSubmitCopyrightProposal{}, "cardchain/SubmitCopyrightProposal", nil) cdc.RegisterConcrete(&CopyrightProposal{}, "cardchain/CopyrightProposal", nil) cdc.RegisterConcrete(&MatchReporterProposal{}, "cardchain/MatchReporterProposal", nil) - cdc.RegisterConcrete(&CollectionProposal{}, "cardchain/CollectionProposal", nil) + cdc.RegisterConcrete(&SetProposal{}, "cardchain/SetProposal", nil) cdc.RegisterConcrete(&MsgChangeArtist{}, "cardchain/ChangeArtist", nil) cdc.RegisterConcrete(&MsgRegisterForCouncil{}, "cardchain/RegisterForCouncil", nil) cdc.RegisterConcrete(&MsgReportMatch{}, "cardchain/ReportMatch", nil) - cdc.RegisterConcrete(&MsgSubmitMatchReporterProposal{}, "cardchain/SubmitMatchReporterProposal", nil) cdc.RegisterConcrete(&MsgApointMatchReporter{}, "cardchain/ApointMatchReporter", nil) - cdc.RegisterConcrete(&MsgCreateCollection{}, "cardchain/CreateCollection", nil) - cdc.RegisterConcrete(&MsgAddCardToCollection{}, "cardchain/AddCardToCollection", nil) - cdc.RegisterConcrete(&MsgFinalizeCollection{}, "cardchain/FinalizeCollection", nil) - cdc.RegisterConcrete(&MsgBuyCollection{}, "cardchain/BuyCollection", nil) - cdc.RegisterConcrete(&MsgRemoveCardFromCollection{}, "cardchain/RemoveCardFromCollection", nil) - cdc.RegisterConcrete(&MsgRemoveContributorFromCollection{}, "cardchain/RemoveContributorFromCollection", nil) - cdc.RegisterConcrete(&MsgAddContributorToCollection{}, "cardchain/AddContributorToCollection", nil) - cdc.RegisterConcrete(&MsgSubmitCollectionProposal{}, "cardchain/SubmitCollectionProposal", nil) + cdc.RegisterConcrete(&MsgCreateSet{}, "cardchain/CreateSet", nil) + cdc.RegisterConcrete(&MsgAddCardToSet{}, "cardchain/AddCardToSet", nil) + cdc.RegisterConcrete(&MsgFinalizeSet{}, "cardchain/FinalizeSet", nil) + cdc.RegisterConcrete(&MsgBuyBoosterPack{}, "cardchain/BuyBoosterPack", nil) + cdc.RegisterConcrete(&MsgRemoveCardFromSet{}, "cardchain/RemoveCardFromSet", nil) + cdc.RegisterConcrete(&MsgRemoveContributorFromSet{}, "cardchain/RemoveContributorFromSet", nil) + cdc.RegisterConcrete(&MsgAddContributorToSet{}, "cardchain/AddContributorToSet", nil) cdc.RegisterConcrete(&MsgCreateSellOffer{}, "cardchain/CreateSellOffer", nil) cdc.RegisterConcrete(&MsgBuyCard{}, "cardchain/BuyCard", nil) cdc.RegisterConcrete(&MsgRemoveSellOffer{}, "cardchain/RemoveSellOffer", nil) - cdc.RegisterConcrete(&MsgAddArtworkToCollection{}, "cardchain/AddArtworkToCollection", nil) - cdc.RegisterConcrete(&MsgAddStoryToCollection{}, "cardchain/AddStoryToCollection", nil) + cdc.RegisterConcrete(&MsgAddArtworkToSet{}, "cardchain/AddArtworkToSet", nil) + cdc.RegisterConcrete(&MsgAddStoryToSet{}, "cardchain/AddStoryToSet", nil) cdc.RegisterConcrete(&MsgSetCardRarity{}, "cardchain/SetCardRarity", nil) cdc.RegisterConcrete(&MsgCreateCouncil{}, "cardchain/CreateCouncil", nil) cdc.RegisterConcrete(&MsgCommitCouncilResponse{}, "cardchain/CommitCouncilResponse", nil) @@ -48,10 +45,13 @@ func RegisterCodec(cdc *codec.LegacyAmino) { cdc.RegisterConcrete(&MsgSetProfileCard{}, "cardchain/SetProfileCard", nil) cdc.RegisterConcrete(&MsgOpenBoosterPack{}, "cardchain/OpenBoosterPack", nil) cdc.RegisterConcrete(&MsgTransferBoosterPack{}, "cardchain/TransferBoosterPack", nil) - cdc.RegisterConcrete(&MsgSetCollectionStoryWriter{}, "cardchain/SetCollectionStoryWriter", nil) - cdc.RegisterConcrete(&MsgSetCollectionArtist{}, "cardchain/SetCollectionArtist", nil) + cdc.RegisterConcrete(&MsgSetSetStoryWriter{}, "cardchain/SetSetStoryWriter", nil) + cdc.RegisterConcrete(&MsgSetSetArtist{}, "cardchain/SetSetArtist", nil) cdc.RegisterConcrete(&MsgSetUserWebsite{}, "cardchain/SetUserWebsite", nil) cdc.RegisterConcrete(&MsgSetUserBiography{}, "cardchain/SetUserBiography", nil) + cdc.RegisterConcrete(&MsgMultiVoteCard{}, "cardchain/MultiVoteCard", nil) + cdc.RegisterConcrete(&MsgOpenMatch{}, "cardchain/MsgOpenMatch", nil) + cdc.RegisterConcrete(&MsgSetSetName{}, "cardchain/SetSetName", nil) // this line is used by starport scaffolding # 2 } @@ -77,9 +77,6 @@ func RegisterInterfaces(registry cdctypes.InterfaceRegistry) { registry.RegisterImplementations((*sdk.Msg)(nil), &MsgAddArtwork{}, ) - registry.RegisterImplementations((*sdk.Msg)(nil), - &MsgSubmitCopyrightProposal{}, - ) registry.RegisterImplementations((*govtypes.Content)(nil), &CopyrightProposal{}, ) @@ -87,7 +84,7 @@ func RegisterInterfaces(registry cdctypes.InterfaceRegistry) { &MatchReporterProposal{}, ) registry.RegisterImplementations((*govtypes.Content)(nil), - &CollectionProposal{}, + &SetProposal{}, ) registry.RegisterImplementations((*sdk.Msg)(nil), &MsgChangeArtist{}, @@ -98,35 +95,29 @@ func RegisterInterfaces(registry cdctypes.InterfaceRegistry) { registry.RegisterImplementations((*sdk.Msg)(nil), &MsgReportMatch{}, ) - registry.RegisterImplementations((*sdk.Msg)(nil), - &MsgSubmitMatchReporterProposal{}, - ) registry.RegisterImplementations((*sdk.Msg)(nil), &MsgApointMatchReporter{}, ) registry.RegisterImplementations((*sdk.Msg)(nil), - &MsgCreateCollection{}, - ) - registry.RegisterImplementations((*sdk.Msg)(nil), - &MsgAddCardToCollection{}, + &MsgCreateSet{}, ) registry.RegisterImplementations((*sdk.Msg)(nil), - &MsgFinalizeCollection{}, + &MsgAddCardToSet{}, ) registry.RegisterImplementations((*sdk.Msg)(nil), - &MsgBuyCollection{}, + &MsgFinalizeSet{}, ) registry.RegisterImplementations((*sdk.Msg)(nil), - &MsgRemoveCardFromCollection{}, + &MsgBuyBoosterPack{}, ) registry.RegisterImplementations((*sdk.Msg)(nil), - &MsgRemoveContributorFromCollection{}, + &MsgRemoveCardFromSet{}, ) registry.RegisterImplementations((*sdk.Msg)(nil), - &MsgAddContributorToCollection{}, + &MsgRemoveContributorFromSet{}, ) registry.RegisterImplementations((*sdk.Msg)(nil), - &MsgSubmitCollectionProposal{}, + &MsgAddContributorToSet{}, ) registry.RegisterImplementations((*sdk.Msg)(nil), &MsgCreateSellOffer{}, @@ -138,10 +129,10 @@ func RegisterInterfaces(registry cdctypes.InterfaceRegistry) { &MsgRemoveSellOffer{}, ) registry.RegisterImplementations((*sdk.Msg)(nil), - &MsgAddArtworkToCollection{}, + &MsgAddArtworkToSet{}, ) registry.RegisterImplementations((*sdk.Msg)(nil), - &MsgAddStoryToCollection{}, + &MsgAddStoryToSet{}, ) registry.RegisterImplementations((*sdk.Msg)(nil), &MsgSetCardRarity{}, @@ -174,10 +165,10 @@ func RegisterInterfaces(registry cdctypes.InterfaceRegistry) { &MsgTransferBoosterPack{}, ) registry.RegisterImplementations((*sdk.Msg)(nil), - &MsgSetCollectionStoryWriter{}, + &MsgSetSetStoryWriter{}, ) registry.RegisterImplementations((*sdk.Msg)(nil), - &MsgSetCollectionArtist{}, + &MsgSetSetArtist{}, ) registry.RegisterImplementations((*sdk.Msg)(nil), &MsgSetUserWebsite{}, @@ -185,6 +176,15 @@ func RegisterInterfaces(registry cdctypes.InterfaceRegistry) { registry.RegisterImplementations((*sdk.Msg)(nil), &MsgSetUserBiography{}, ) + registry.RegisterImplementations((*sdk.Msg)(nil), + &MsgMultiVoteCard{}, + ) + registry.RegisterImplementations((*sdk.Msg)(nil), + &MsgOpenMatch{}, + ) + registry.RegisterImplementations((*sdk.Msg)(nil), + &MsgSetSetName{}, + ) // this line is used by starport scaffolding # 3 msgservice.RegisterMsgServiceDesc(registry, &_Msg_serviceDesc) diff --git a/x/cardchain/types/collection_proposal.pb.go b/x/cardchain/types/collection_proposal.pb.go deleted file mode 100644 index 57f6b4bf..00000000 --- a/x/cardchain/types/collection_proposal.pb.go +++ /dev/null @@ -1,406 +0,0 @@ -// Code generated by protoc-gen-gogo. DO NOT EDIT. -// source: cardchain/cardchain/collection_proposal.proto - -package types - -import ( - fmt "fmt" - proto "github.com/gogo/protobuf/proto" - io "io" - math "math" - math_bits "math/bits" -) - -// Reference imports to suppress errors if they are not otherwise used. -var _ = proto.Marshal -var _ = fmt.Errorf -var _ = math.Inf - -// This is a compile-time assertion to ensure that this generated file -// is compatible with the proto package it is being compiled against. -// A compilation error at this line likely means your copy of the -// proto package needs to be updated. -const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package - -type CollectionProposal struct { - Title string `protobuf:"bytes,1,opt,name=title,proto3" json:"title,omitempty"` - Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` - CollectionId uint64 `protobuf:"varint,3,opt,name=collectionId,proto3" json:"collectionId,omitempty"` -} - -func (m *CollectionProposal) Reset() { *m = CollectionProposal{} } -func (m *CollectionProposal) String() string { return proto.CompactTextString(m) } -func (*CollectionProposal) ProtoMessage() {} -func (*CollectionProposal) Descriptor() ([]byte, []int) { - return fileDescriptor_d1f16944bc7ec925, []int{0} -} -func (m *CollectionProposal) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *CollectionProposal) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_CollectionProposal.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 *CollectionProposal) XXX_Merge(src proto.Message) { - xxx_messageInfo_CollectionProposal.Merge(m, src) -} -func (m *CollectionProposal) XXX_Size() int { - return m.Size() -} -func (m *CollectionProposal) XXX_DiscardUnknown() { - xxx_messageInfo_CollectionProposal.DiscardUnknown(m) -} - -var xxx_messageInfo_CollectionProposal proto.InternalMessageInfo - -func (m *CollectionProposal) GetTitle() string { - if m != nil { - return m.Title - } - return "" -} - -func (m *CollectionProposal) GetDescription() string { - if m != nil { - return m.Description - } - return "" -} - -func (m *CollectionProposal) GetCollectionId() uint64 { - if m != nil { - return m.CollectionId - } - return 0 -} - -func init() { - proto.RegisterType((*CollectionProposal)(nil), "DecentralCardGame.cardchain.cardchain.CollectionProposal") -} - -func init() { - proto.RegisterFile("cardchain/cardchain/collection_proposal.proto", fileDescriptor_d1f16944bc7ec925) -} - -var fileDescriptor_d1f16944bc7ec925 = []byte{ - // 211 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xd2, 0x4d, 0x4e, 0x2c, 0x4a, - 0x49, 0xce, 0x48, 0xcc, 0xcc, 0xd3, 0x47, 0x62, 0xe5, 0xe7, 0xe4, 0xa4, 0x26, 0x97, 0x64, 0xe6, - 0xe7, 0xc5, 0x17, 0x14, 0xe5, 0x17, 0xe4, 0x17, 0x27, 0xe6, 0xe8, 0x15, 0x14, 0xe5, 0x97, 0xe4, - 0x0b, 0xa9, 0xba, 0xa4, 0x26, 0xa7, 0xe6, 0x95, 0x14, 0x25, 0xe6, 0x38, 0x27, 0x16, 0xa5, 0xb8, - 0x27, 0xe6, 0xa6, 0xea, 0xc1, 0xb5, 0x21, 0x58, 0x4a, 0x05, 0x5c, 0x42, 0xce, 0x70, 0x33, 0x02, - 0xa0, 0x46, 0x08, 0x89, 0x70, 0xb1, 0x96, 0x64, 0x96, 0xe4, 0xa4, 0x4a, 0x30, 0x2a, 0x30, 0x6a, - 0x70, 0x06, 0x41, 0x38, 0x42, 0x0a, 0x5c, 0xdc, 0x29, 0xa9, 0xc5, 0xc9, 0x45, 0x99, 0x05, 0x20, - 0xc5, 0x12, 0x4c, 0x60, 0x39, 0x64, 0x21, 0x21, 0x25, 0x2e, 0x1e, 0x84, 0x8b, 0x3c, 0x53, 0x24, - 0x98, 0x15, 0x18, 0x35, 0x58, 0x82, 0x50, 0xc4, 0x9c, 0x82, 0x4e, 0x3c, 0x92, 0x63, 0xbc, 0xf0, - 0x48, 0x8e, 0xf1, 0xc1, 0x23, 0x39, 0xc6, 0x09, 0x8f, 0xe5, 0x18, 0x2e, 0x3c, 0x96, 0x63, 0xb8, - 0xf1, 0x58, 0x8e, 0x21, 0xca, 0x22, 0x3d, 0xb3, 0x24, 0xa3, 0x34, 0x49, 0x2f, 0x39, 0x3f, 0x57, - 0x1f, 0xc3, 0xf5, 0xfa, 0xce, 0x70, 0x4f, 0x57, 0x20, 0x05, 0x40, 0x49, 0x65, 0x41, 0x6a, 0x71, - 0x12, 0x1b, 0xd8, 0xcf, 0xc6, 0x80, 0x00, 0x00, 0x00, 0xff, 0xff, 0xbb, 0x28, 0x9a, 0x21, 0x24, - 0x01, 0x00, 0x00, -} - -func (m *CollectionProposal) 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 *CollectionProposal) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *CollectionProposal) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.CollectionId != 0 { - i = encodeVarintCollectionProposal(dAtA, i, uint64(m.CollectionId)) - i-- - dAtA[i] = 0x18 - } - if len(m.Description) > 0 { - i -= len(m.Description) - copy(dAtA[i:], m.Description) - i = encodeVarintCollectionProposal(dAtA, i, uint64(len(m.Description))) - i-- - dAtA[i] = 0x12 - } - if len(m.Title) > 0 { - i -= len(m.Title) - copy(dAtA[i:], m.Title) - i = encodeVarintCollectionProposal(dAtA, i, uint64(len(m.Title))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func encodeVarintCollectionProposal(dAtA []byte, offset int, v uint64) int { - offset -= sovCollectionProposal(v) - base := offset - for v >= 1<<7 { - dAtA[offset] = uint8(v&0x7f | 0x80) - v >>= 7 - offset++ - } - dAtA[offset] = uint8(v) - return base -} -func (m *CollectionProposal) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.Title) - if l > 0 { - n += 1 + l + sovCollectionProposal(uint64(l)) - } - l = len(m.Description) - if l > 0 { - n += 1 + l + sovCollectionProposal(uint64(l)) - } - if m.CollectionId != 0 { - n += 1 + sovCollectionProposal(uint64(m.CollectionId)) - } - return n -} - -func sovCollectionProposal(x uint64) (n int) { - return (math_bits.Len64(x|1) + 6) / 7 -} -func sozCollectionProposal(x uint64) (n int) { - return sovCollectionProposal(uint64((x << 1) ^ uint64((int64(x) >> 63)))) -} -func (m *CollectionProposal) 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 ErrIntOverflowCollectionProposal - } - 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: CollectionProposal: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: CollectionProposal: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Title", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowCollectionProposal - } - 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 ErrInvalidLengthCollectionProposal - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthCollectionProposal - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Title = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Description", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowCollectionProposal - } - 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 ErrInvalidLengthCollectionProposal - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthCollectionProposal - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Description = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 3: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field CollectionId", wireType) - } - m.CollectionId = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowCollectionProposal - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.CollectionId |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - default: - iNdEx = preIndex - skippy, err := skipCollectionProposal(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthCollectionProposal - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func skipCollectionProposal(dAtA []byte) (n int, err error) { - l := len(dAtA) - iNdEx := 0 - depth := 0 - for iNdEx < l { - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return 0, ErrIntOverflowCollectionProposal - } - if iNdEx >= l { - return 0, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= (uint64(b) & 0x7F) << shift - if b < 0x80 { - break - } - } - wireType := int(wire & 0x7) - switch wireType { - case 0: - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return 0, ErrIntOverflowCollectionProposal - } - if iNdEx >= l { - return 0, io.ErrUnexpectedEOF - } - iNdEx++ - if dAtA[iNdEx-1] < 0x80 { - break - } - } - case 1: - iNdEx += 8 - case 2: - var length int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return 0, ErrIntOverflowCollectionProposal - } - if iNdEx >= l { - return 0, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - length |= (int(b) & 0x7F) << shift - if b < 0x80 { - break - } - } - if length < 0 { - return 0, ErrInvalidLengthCollectionProposal - } - iNdEx += length - case 3: - depth++ - case 4: - if depth == 0 { - return 0, ErrUnexpectedEndOfGroupCollectionProposal - } - depth-- - case 5: - iNdEx += 4 - default: - return 0, fmt.Errorf("proto: illegal wireType %d", wireType) - } - if iNdEx < 0 { - return 0, ErrInvalidLengthCollectionProposal - } - if depth == 0 { - return iNdEx, nil - } - } - return 0, io.ErrUnexpectedEOF -} - -var ( - ErrInvalidLengthCollectionProposal = fmt.Errorf("proto: negative length found during unmarshaling") - ErrIntOverflowCollectionProposal = fmt.Errorf("proto: integer overflow") - ErrUnexpectedEndOfGroupCollectionProposal = fmt.Errorf("proto: unexpected end of group") -) diff --git a/x/cardchain/types/errors.go b/x/cardchain/types/errors.go index 9d8a2f52..9fc28315 100644 --- a/x/cardchain/types/errors.go +++ b/x/cardchain/types/errors.go @@ -3,31 +3,34 @@ package types // DONTCOVER import ( - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + sdkerrors "cosmossdk.io/errors" ) // x/cardchain module sentinel errors var ( - ErrCardDoesNotExist = sdkerrors.Register(ModuleName, 1, "card does not exist") - ErrVoterHasNoVotingRights = sdkerrors.Register(ModuleName, 2, "The voter doesn't have any voting rights") - ErrVoteRightIsExpired = sdkerrors.Register(ModuleName, 3, "The right to vote on the card has expired") - ErrInvalidAccAddress = sdkerrors.Register(ModuleName, 4, "Not able to convert Address to AccAddress") - ErrUserDoesNotExist = sdkerrors.Register(ModuleName, 5, "User does not exist") - ErrCollectionNotInDesign = sdkerrors.Register(ModuleName, 6, "Collection not in design") - ErrCollectionSize = sdkerrors.Register(ModuleName, 7, "Collection size is bad") - ErrCardAlreadyInCollection = sdkerrors.Register(ModuleName, 8, "Card already in collection") - ErrNoActiveCollection = sdkerrors.Register(ModuleName, 9, "No active collection") - ErrCardNotThere = sdkerrors.Register(ModuleName, 10, "Card not there") - ErrContributor = sdkerrors.Register(ModuleName, 11, "Contributor error") - ErrNoOpenSellOffer = sdkerrors.Register(ModuleName, 12, "No open sell-offer") - ErrInvalidCardStatus = sdkerrors.Register(ModuleName, 13, "Invalid card-status") - ErrInvalidUserStatus = sdkerrors.Register(ModuleName, 14, "Invalid user-status") - ErrBadReveal = sdkerrors.Register(ModuleName, 15, "Reveal does not fit commit") - ErrCouncilStatus = sdkerrors.Register(ModuleName, 16, "Wrong council status") - ErrImageSizeExceeded = sdkerrors.Register(ModuleName, 17, "Image too big! Max size is 500kb") - ErrConversion = sdkerrors.Register(ModuleName, 18, "Unable to convert types") - ErrCardobject = sdkerrors.Register(ModuleName, 19, "Faulty cardobject") - ErrBoosterPack = sdkerrors.Register(ModuleName, 20, "Unable to open Boosterpack") - ErrStringLength = sdkerrors.Register(ModuleName, 21, "String literal too long") - ErrUserAlreadyExists = sdkerrors.Register(ModuleName, 22, "User already exists") + ErrCardDoesNotExist = sdkerrors.Register(ModuleName, 1, "card does not exist") + ErrVoterHasNoVotingRights = sdkerrors.Register(ModuleName, 2, "The voter doesn't have any voting rights") + ErrVoteRightIsExpired = sdkerrors.Register(ModuleName, 3, "The right to vote on the card has expired") + ErrInvalidAccAddress = sdkerrors.Register(ModuleName, 4, "Not able to convert Address to AccAddress") + ErrUserDoesNotExist = sdkerrors.Register(ModuleName, 5, "User does not exist") + ErrSetNotInDesign = sdkerrors.Register(ModuleName, 6, "Set not in design") + ErrSetSize = sdkerrors.Register(ModuleName, 7, "Set size is bad") + ErrCardAlreadyInSet = sdkerrors.Register(ModuleName, 8, "Card already in set") + ErrNoActiveSet = sdkerrors.Register(ModuleName, 9, "No active set") + ErrCardNotThere = sdkerrors.Register(ModuleName, 10, "Card not there") + ErrContributor = sdkerrors.Register(ModuleName, 11, "Contributor error") + ErrNoOpenSellOffer = sdkerrors.Register(ModuleName, 12, "No open sell-offer") + ErrInvalidCardStatus = sdkerrors.Register(ModuleName, 13, "Invalid card-status") + ErrInvalidUserStatus = sdkerrors.Register(ModuleName, 14, "Invalid user-status") + ErrBadReveal = sdkerrors.Register(ModuleName, 15, "Reveal does not fit commit") + ErrCouncilStatus = sdkerrors.Register(ModuleName, 16, "Wrong council status") + ErrImageSizeExceeded = sdkerrors.Register(ModuleName, 17, "Image too big! Max size is 500kb") + ErrConversion = sdkerrors.Register(ModuleName, 18, "Unable to convert types") + ErrCardobject = sdkerrors.Register(ModuleName, 19, "Faulty cardobject") + ErrBoosterPack = sdkerrors.Register(ModuleName, 20, "Unable to open Boosterpack") + ErrStringLength = sdkerrors.Register(ModuleName, 21, "String literal too long") + ErrUserAlreadyExists = sdkerrors.Register(ModuleName, 22, "User already exists") + ErrWaitingForPlayers = sdkerrors.Register(ModuleName, 23, "Waiting for players") + ErrUninitializedType = sdkerrors.Register(ModuleName, 24, "Type not yet initialized") + ErrFinalizeSet = sdkerrors.Register(ModuleName, 25, "Set can't be finalized") ) diff --git a/x/cardchain/types/expected_keepers.go b/x/cardchain/types/expected_keepers.go index 7bc40254..cdecce9b 100644 --- a/x/cardchain/types/expected_keepers.go +++ b/x/cardchain/types/expected_keepers.go @@ -1,6 +1,7 @@ package types import ( + ffKeeper "github.com/DecentralCardGame/Cardchain/x/featureflag/keeper" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/x/auth/types" ) @@ -11,6 +12,10 @@ type AccountKeeper interface { // Methods imported from account should be defined here } +type FeatureFlagKeeper interface { + GetModuleInstance(moduleName string, flagNames []string) ffKeeper.ModuleInstance +} + // BankKeeper defines the expected interface needed to retrieve account balances. type BankKeeper interface { SpendableCoins(ctx sdk.Context, addr sdk.AccAddress) sdk.Coins diff --git a/x/cardchain/types/feature_flags.go b/x/cardchain/types/feature_flags.go new file mode 100644 index 00000000..c12be00b --- /dev/null +++ b/x/cardchain/types/feature_flags.go @@ -0,0 +1,8 @@ +package types + +type FeatureFlagName string + +const ( + FeatureFlagName_Council FeatureFlagName = "council" + FeatureFlagName_Matches FeatureFlagName = "matches" +) \ No newline at end of file diff --git a/x/cardchain/types/genesis.pb.go b/x/cardchain/types/genesis.pb.go index 481412cd..68205b9d 100644 --- a/x/cardchain/types/genesis.pb.go +++ b/x/cardchain/types/genesis.pb.go @@ -32,7 +32,7 @@ type GenesisState struct { Users []*User `protobuf:"bytes,3,rep,name=users,proto3" json:"users,omitempty"` Addresses []string `protobuf:"bytes,4,rep,name=addresses,proto3" json:"addresses,omitempty"` Matches []*Match `protobuf:"bytes,6,rep,name=matches,proto3" json:"matches,omitempty"` - Collections []*Collection `protobuf:"bytes,7,rep,name=collections,proto3" json:"collections,omitempty"` + Sets []*Set `protobuf:"bytes,7,rep,name=sets,proto3" json:"sets,omitempty"` SellOffers []*SellOffer `protobuf:"bytes,8,rep,name=sellOffers,proto3" json:"sellOffers,omitempty"` Pools []*types.Coin `protobuf:"bytes,9,rep,name=pools,proto3" json:"pools,omitempty"` CardAuctionPrice github_com_cosmos_cosmos_sdk_types.Coin `protobuf:"bytes,11,opt,name=cardAuctionPrice,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Coin" json:"cardAuctionPrice"` @@ -40,6 +40,7 @@ type GenesisState struct { RunningAverages []*RunningAverage `protobuf:"bytes,13,rep,name=RunningAverages,proto3" json:"RunningAverages,omitempty"` Images []*Image `protobuf:"bytes,14,rep,name=images,proto3" json:"images,omitempty"` Servers []*Server `protobuf:"bytes,15,rep,name=Servers,proto3" json:"Servers,omitempty"` + LastCardModified *TimeStamp `protobuf:"bytes,16,opt,name=lastCardModified,proto3" json:"lastCardModified,omitempty"` } func (m *GenesisState) Reset() { *m = GenesisState{} } @@ -110,9 +111,9 @@ func (m *GenesisState) GetMatches() []*Match { return nil } -func (m *GenesisState) GetCollections() []*Collection { +func (m *GenesisState) GetSets() []*Set { if m != nil { - return m.Collections + return m.Sets } return nil } @@ -159,6 +160,13 @@ func (m *GenesisState) GetServers() []*Server { return nil } +func (m *GenesisState) GetLastCardModified() *TimeStamp { + if m != nil { + return m.LastCardModified + } + return nil +} + func init() { proto.RegisterType((*GenesisState)(nil), "DecentralCardGame.cardchain.cardchain.GenesisState") } @@ -166,44 +174,46 @@ func init() { func init() { proto.RegisterFile("cardchain/cardchain/genesis.proto", fileDescriptor_c4e78aa6e403ddd4) } var fileDescriptor_c4e78aa6e403ddd4 = []byte{ - // 586 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x94, 0x41, 0x6f, 0xd3, 0x3e, - 0x18, 0xc6, 0x9b, 0xff, 0xb6, 0x76, 0x75, 0xf7, 0x67, 0xc8, 0xe2, 0x60, 0x26, 0x94, 0x65, 0x08, - 0x44, 0x11, 0x34, 0xa1, 0x43, 0x48, 0x5c, 0xdb, 0x4e, 0x54, 0x80, 0x26, 0x2a, 0x57, 0x5c, 0xe0, - 0x50, 0xb9, 0x89, 0x97, 0x46, 0x24, 0x71, 0xe5, 0x37, 0xad, 0xe0, 0x5b, 0xf0, 0xa1, 0x38, 0xec, - 0xb8, 0x23, 0xe2, 0x30, 0xa1, 0xf6, 0x8b, 0x20, 0x3b, 0x69, 0x5a, 0x58, 0x54, 0x65, 0xa7, 0x5a, - 0xf5, 0xf3, 0xfc, 0xde, 0x37, 0x7e, 0x1f, 0x1b, 0x9d, 0xb8, 0x4c, 0x7a, 0xee, 0x84, 0x05, 0xb1, - 0xb3, 0x5e, 0xf9, 0x3c, 0xe6, 0x10, 0x80, 0x3d, 0x95, 0x22, 0x11, 0xf8, 0xf1, 0x19, 0x77, 0x79, - 0x9c, 0x48, 0x16, 0xf6, 0x98, 0xf4, 0xfa, 0x2c, 0xe2, 0x76, 0x2e, 0x5d, 0xaf, 0x8e, 0xee, 0xf9, - 0xc2, 0x17, 0xda, 0xe1, 0xa8, 0x55, 0x6a, 0x3e, 0xb2, 0x8a, 0xf8, 0x53, 0x26, 0x59, 0x94, 0xe1, - 0x8f, 0xcc, 0x22, 0x85, 0x5a, 0x6d, 0xdb, 0x9f, 0x01, 0x97, 0xd9, 0xfe, 0x71, 0xd1, 0x7e, 0xc4, - 0x12, 0x77, 0x92, 0x09, 0x1e, 0x15, 0x16, 0x10, 0x61, 0xc8, 0xdd, 0x24, 0x10, 0xf1, 0x36, 0x15, - 0xf0, 0x30, 0x1c, 0x89, 0x8b, 0x8b, 0xbc, 0xd8, 0xd3, 0x22, 0x95, 0x9c, 0xc5, 0x71, 0x10, 0xfb, - 0x23, 0x36, 0xe7, 0x92, 0xf9, 0x3c, 0x93, 0x9e, 0x14, 0x97, 0x9d, 0xc5, 0x6e, 0x10, 0x6e, 0x6b, - 0x3d, 0x88, 0xd6, 0x0c, 0xab, 0xb8, 0x29, 0x39, 0xcf, 0x1b, 0x32, 0x5d, 0x01, 0x91, 0x00, 0x67, - 0xcc, 0x80, 0x3b, 0xf3, 0xf6, 0x98, 0x27, 0xac, 0xed, 0xb8, 0x22, 0xc8, 0x3e, 0xeb, 0xe1, 0x8f, - 0x1a, 0x3a, 0xe8, 0xa7, 0xe3, 0x1c, 0x26, 0x2c, 0xe1, 0xf8, 0x3d, 0xaa, 0xa6, 0xc7, 0x4f, 0x0c, - 0xcb, 0x68, 0x36, 0x4e, 0x5b, 0x76, 0xa9, 0xf1, 0xda, 0x03, 0x6d, 0xea, 0xee, 0x5e, 0x5e, 0x1f, - 0x57, 0x68, 0x86, 0xc0, 0xe7, 0xa8, 0xa1, 0x14, 0x94, 0xbb, 0x42, 0x7a, 0x40, 0xfe, 0xb3, 0x76, - 0x9a, 0x8d, 0xd3, 0x67, 0x25, 0x89, 0x6a, 0x93, 0x6e, 0xfa, 0x71, 0x07, 0xed, 0xa9, 0xc1, 0x02, - 0xd9, 0xb9, 0x15, 0xe8, 0x23, 0x70, 0x49, 0x53, 0x27, 0x7e, 0x80, 0xea, 0xcc, 0xf3, 0x24, 0x07, - 0xe0, 0x40, 0x76, 0xad, 0x9d, 0x66, 0x9d, 0xae, 0xff, 0xc0, 0x6f, 0x50, 0x4d, 0x27, 0x83, 0x03, - 0xa9, 0xea, 0x12, 0xcf, 0x4b, 0x96, 0x38, 0x57, 0x2e, 0xba, 0x32, 0xe3, 0x21, 0x6a, 0xac, 0x03, - 0x04, 0xa4, 0xa6, 0x59, 0xed, 0xb2, 0xdf, 0x9d, 0x3b, 0xe9, 0x26, 0x05, 0x0f, 0x10, 0x52, 0x79, - 0xfb, 0xa0, 0xe2, 0x06, 0x64, 0x5f, 0x33, 0x5f, 0x94, 0x64, 0x0e, 0x57, 0x46, 0xba, 0xc1, 0xc0, - 0x0e, 0xda, 0x9b, 0x0a, 0x11, 0x02, 0xa9, 0x6b, 0xd8, 0x7d, 0x3b, 0x0d, 0x8b, 0xad, 0xc2, 0x62, - 0x67, 0x61, 0xb1, 0x7b, 0x22, 0x88, 0x69, 0xaa, 0xc3, 0x9f, 0xd1, 0x5d, 0xc5, 0xec, 0xcc, 0x74, - 0x4b, 0x03, 0x19, 0xb8, 0x9c, 0x34, 0x2c, 0xa3, 0x59, 0xef, 0x3a, 0x6a, 0xee, 0xbf, 0xae, 0x8f, - 0x9f, 0xf8, 0x41, 0x32, 0x99, 0x8d, 0x6d, 0x57, 0x44, 0x4e, 0x16, 0xbd, 0xf4, 0xa7, 0x05, 0xde, - 0x17, 0x27, 0xf9, 0x36, 0xe5, 0x90, 0x12, 0x6f, 0x80, 0xf0, 0x3b, 0xb4, 0x9f, 0xc5, 0x1f, 0xc8, - 0x81, 0x6e, 0xc8, 0x2e, 0x7d, 0x62, 0xda, 0x46, 0x73, 0x3f, 0x1e, 0xa1, 0x43, 0x9a, 0xde, 0xba, - 0x4e, 0x7a, 0xe9, 0x80, 0xfc, 0xaf, 0x91, 0xaf, 0x4a, 0x22, 0xff, 0x76, 0xd3, 0x7f, 0x69, 0xf8, - 0x0c, 0x55, 0xf5, 0x45, 0x04, 0x72, 0xe7, 0x56, 0x41, 0x79, 0xab, 0x4c, 0x34, 0xf3, 0xe2, 0x3e, - 0xaa, 0x0d, 0xf5, 0x6d, 0x05, 0x72, 0xa8, 0x31, 0xad, 0xd2, 0xf3, 0x54, 0x2e, 0xba, 0x72, 0x77, - 0xe9, 0xe5, 0xc2, 0x34, 0xae, 0x16, 0xa6, 0xf1, 0x7b, 0x61, 0x1a, 0xdf, 0x97, 0x66, 0xe5, 0x6a, - 0x69, 0x56, 0x7e, 0x2e, 0xcd, 0xca, 0xa7, 0xd7, 0x1b, 0x03, 0xb9, 0xc1, 0x76, 0x7a, 0xf9, 0xab, - 0xf1, 0x75, 0xe3, 0x05, 0xd1, 0x63, 0x1a, 0x57, 0xf5, 0x0b, 0xf1, 0xf2, 0x4f, 0x00, 0x00, 0x00, - 0xff, 0xff, 0x22, 0x29, 0xab, 0x3a, 0x03, 0x06, 0x00, 0x00, + // 613 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x94, 0x4d, 0x6b, 0x14, 0x31, + 0x18, 0xc7, 0x77, 0x6d, 0xbb, 0xed, 0x66, 0xab, 0x2d, 0xc1, 0x43, 0x2c, 0x3a, 0x1d, 0x45, 0x71, + 0x7d, 0xe9, 0x8c, 0xad, 0x08, 0x9e, 0x84, 0xbe, 0x60, 0x51, 0x29, 0x96, 0xac, 0x5e, 0x54, 0x28, + 0xd9, 0x4c, 0x3a, 0x0d, 0xce, 0x4c, 0x96, 0x3c, 0xd9, 0xa2, 0x1f, 0x42, 0xf0, 0x63, 0xf5, 0xd8, + 0xa3, 0x78, 0x28, 0xd2, 0x7e, 0x11, 0x49, 0x32, 0xdd, 0x5d, 0xed, 0x50, 0xa6, 0xa7, 0x0d, 0xfb, + 0x3c, 0xbf, 0x5f, 0xc2, 0x3c, 0xff, 0x04, 0xdd, 0xe5, 0x4c, 0x27, 0xfc, 0x80, 0xc9, 0x22, 0x1e, + 0xaf, 0x52, 0x51, 0x08, 0x90, 0x10, 0x0d, 0xb4, 0x32, 0x0a, 0x3f, 0xd8, 0x12, 0x5c, 0x14, 0x46, + 0xb3, 0x6c, 0x93, 0xe9, 0x64, 0x9b, 0xe5, 0x22, 0x1a, 0xb5, 0x8e, 0x57, 0x4b, 0x37, 0x53, 0x95, + 0x2a, 0x47, 0xc4, 0x76, 0xe5, 0xe1, 0xa5, 0xb0, 0xca, 0x3f, 0x60, 0x9a, 0xe5, 0xa5, 0x7e, 0x29, + 0xa8, 0xea, 0xb0, 0xab, 0xcb, 0xea, 0x43, 0x10, 0xba, 0xac, 0x2f, 0x57, 0xd5, 0x73, 0x66, 0xf8, + 0x41, 0xd9, 0x70, 0xa7, 0xaa, 0x01, 0x84, 0x29, 0xcb, 0xf7, 0xab, 0xcb, 0x59, 0xb6, 0xa7, 0xf6, + 0xf7, 0x47, 0xbb, 0x3c, 0xaa, 0xea, 0xd2, 0xc3, 0xa2, 0x90, 0x45, 0xba, 0xc7, 0x0e, 0x85, 0x66, + 0xa9, 0x28, 0x5b, 0x2b, 0x3f, 0x29, 0x57, 0xc3, 0x82, 0xcb, 0xec, 0xb2, 0x33, 0xcb, 0x7c, 0xec, + 0x08, 0xab, 0x0f, 0xa5, 0x0f, 0x47, 0x07, 0x0a, 0xb8, 0x82, 0x5c, 0x41, 0xdc, 0x67, 0x20, 0xe2, + 0xc3, 0xd5, 0xbe, 0x30, 0x6c, 0x35, 0xe6, 0x4a, 0x16, 0xbe, 0x7e, 0xef, 0xc7, 0x1c, 0x9a, 0xdf, + 0xf6, 0x73, 0xec, 0x19, 0x66, 0x04, 0x7e, 0x87, 0x5a, 0xfe, 0xbb, 0x93, 0x66, 0xd8, 0xec, 0x76, + 0xd6, 0x56, 0xa2, 0x5a, 0x73, 0x8d, 0x76, 0x1d, 0xb4, 0x31, 0x7d, 0x74, 0xb2, 0xdc, 0xa0, 0xa5, + 0x02, 0xef, 0xa0, 0x8e, 0xed, 0xa0, 0x82, 0x2b, 0x9d, 0x00, 0xb9, 0x16, 0x4e, 0x75, 0x3b, 0x6b, + 0x4f, 0x6a, 0x1a, 0x6d, 0x91, 0x4e, 0xf2, 0x78, 0x1d, 0xcd, 0xd8, 0x89, 0x02, 0x99, 0xba, 0x92, + 0xe8, 0x23, 0x08, 0x4d, 0x3d, 0x89, 0x6f, 0xa3, 0x36, 0x4b, 0x12, 0x2d, 0x00, 0x04, 0x90, 0xe9, + 0x70, 0xaa, 0xdb, 0xa6, 0xe3, 0x3f, 0xf0, 0x6b, 0x34, 0xeb, 0x22, 0x21, 0x80, 0xb4, 0xdc, 0x16, + 0x4f, 0x6b, 0x6e, 0xb1, 0x63, 0x29, 0x7a, 0x0e, 0xe3, 0x57, 0x68, 0x1a, 0x84, 0x01, 0x32, 0xeb, + 0x24, 0x8f, 0x6b, 0x4a, 0x7a, 0xc2, 0x50, 0xc7, 0xe1, 0x5d, 0x84, 0x6c, 0xb4, 0xde, 0xdb, 0x64, + 0x01, 0x99, 0x73, 0x96, 0x67, 0xb5, 0x2d, 0x25, 0x48, 0x27, 0x1c, 0x38, 0x46, 0x33, 0x03, 0xa5, + 0x32, 0x20, 0x6d, 0x27, 0xbb, 0x15, 0xf9, 0x5c, 0x44, 0x36, 0x17, 0x51, 0x99, 0x8b, 0x68, 0x53, + 0xc9, 0x82, 0xfa, 0x3e, 0xfc, 0x19, 0x2d, 0x5a, 0xe7, 0xfa, 0x90, 0x1b, 0xa9, 0x8a, 0x5d, 0x2d, + 0xb9, 0x20, 0x9d, 0xb0, 0xd9, 0x6d, 0x6f, 0xc4, 0x76, 0xc4, 0xbf, 0x4f, 0x96, 0x1f, 0xa6, 0xd2, + 0x1c, 0x0c, 0xfb, 0x11, 0x57, 0x79, 0x5c, 0xa6, 0xcc, 0xff, 0xac, 0x40, 0xf2, 0x35, 0x36, 0xdf, + 0x07, 0x02, 0xbc, 0xf1, 0x82, 0x08, 0xbf, 0x45, 0x73, 0x65, 0xd2, 0x81, 0xcc, 0xbb, 0x03, 0x45, + 0x75, 0x43, 0xe1, 0x31, 0x3a, 0xe2, 0xf1, 0x1e, 0x5a, 0xa0, 0xfe, 0x82, 0xad, 0xfb, 0xfb, 0x05, + 0xe4, 0xba, 0x53, 0xbe, 0xa8, 0xa9, 0xfc, 0x97, 0xa6, 0xff, 0xdb, 0xf0, 0x16, 0x6a, 0xb9, 0x3b, + 0x07, 0xe4, 0xc6, 0x95, 0x32, 0xf1, 0xc6, 0x42, 0xb4, 0x64, 0xf1, 0x36, 0x9a, 0xed, 0xb9, 0x8b, + 0x09, 0x64, 0xc1, 0x69, 0x56, 0x6a, 0xcf, 0xd3, 0x52, 0xf4, 0x9c, 0xc6, 0x5f, 0xd0, 0x62, 0xc6, + 0xc0, 0x58, 0x66, 0x47, 0x25, 0x72, 0x5f, 0x8a, 0x84, 0x2c, 0xba, 0xab, 0x5a, 0x37, 0x21, 0x1f, + 0x64, 0x2e, 0x7a, 0x86, 0xe5, 0x03, 0x7a, 0xc1, 0xb4, 0x41, 0x8f, 0x4e, 0x83, 0xe6, 0xf1, 0x69, + 0xd0, 0xfc, 0x73, 0x1a, 0x34, 0x7f, 0x9e, 0x05, 0x8d, 0xe3, 0xb3, 0xa0, 0xf1, 0xeb, 0x2c, 0x68, + 0x7c, 0x7a, 0x39, 0x31, 0xee, 0x0b, 0xfb, 0xc4, 0x9b, 0xa3, 0xe7, 0xe7, 0xdb, 0xc4, 0x53, 0xe4, + 0x42, 0xd0, 0x6f, 0xb9, 0xa7, 0xe6, 0xf9, 0xdf, 0x00, 0x00, 0x00, 0xff, 0xff, 0x09, 0xbc, 0x2f, + 0x1b, 0x45, 0x06, 0x00, 0x00, } func (m *GenesisState) Marshal() (dAtA []byte, err error) { @@ -226,6 +236,20 @@ func (m *GenesisState) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + if m.LastCardModified != nil { + { + size, err := m.LastCardModified.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintGenesis(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x82 + } if len(m.Servers) > 0 { for iNdEx := len(m.Servers) - 1; iNdEx >= 0; iNdEx-- { { @@ -320,10 +344,10 @@ func (m *GenesisState) MarshalToSizedBuffer(dAtA []byte) (int, error) { dAtA[i] = 0x42 } } - if len(m.Collections) > 0 { - for iNdEx := len(m.Collections) - 1; iNdEx >= 0; iNdEx-- { + if len(m.Sets) > 0 { + for iNdEx := len(m.Sets) - 1; iNdEx >= 0; iNdEx-- { { - size, err := m.Collections[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + size, err := m.Sets[iNdEx].MarshalToSizedBuffer(dAtA[:i]) if err != nil { return 0, err } @@ -441,8 +465,8 @@ func (m *GenesisState) Size() (n int) { n += 1 + l + sovGenesis(uint64(l)) } } - if len(m.Collections) > 0 { - for _, e := range m.Collections { + if len(m.Sets) > 0 { + for _, e := range m.Sets { l = e.Size() n += 1 + l + sovGenesis(uint64(l)) } @@ -485,6 +509,10 @@ func (m *GenesisState) Size() (n int) { n += 1 + l + sovGenesis(uint64(l)) } } + if m.LastCardModified != nil { + l = m.LastCardModified.Size() + n += 2 + l + sovGenesis(uint64(l)) + } return n } @@ -692,7 +720,7 @@ func (m *GenesisState) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 7: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Collections", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Sets", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -719,8 +747,8 @@ func (m *GenesisState) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Collections = append(m.Collections, &Collection{}) - if err := m.Collections[len(m.Collections)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + m.Sets = append(m.Sets, &Set{}) + if err := m.Sets[len(m.Sets)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -962,6 +990,42 @@ func (m *GenesisState) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex + case 16: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field LastCardModified", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenesis + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenesis + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthGenesis + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.LastCardModified == nil { + m.LastCardModified = &TimeStamp{} + } + if err := m.LastCardModified.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenesis(dAtA[iNdEx:]) diff --git a/x/cardchain/types/keys.go b/x/cardchain/types/keys.go index 2ddfa060..ba8d6aea 100644 --- a/x/cardchain/types/keys.go +++ b/x/cardchain/types/keys.go @@ -9,7 +9,7 @@ const ( CardsStoreKey = "Cards" UsersStoreKey = "Users" MatchesStoreKey = "Matches" - CollectionsStoreKey = "Collections" + SetsStoreKey = "Sets" SellOffersStoreKey = "SellOffers" PoolsStoreKey = "Pools" CouncilsStoreKey = "Councils" diff --git a/x/cardchain/types/match.pb.go b/x/cardchain/types/match.pb.go index c66361b5..9d689d14 100644 --- a/x/cardchain/types/match.pb.go +++ b/x/cardchain/types/match.pb.go @@ -22,6 +22,37 @@ var _ = math.Inf // proto package needs to be updated. const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package +type Outcome int32 + +const ( + Outcome_AWon Outcome = 0 + Outcome_BWon Outcome = 1 + Outcome_Draw Outcome = 2 + Outcome_Aborted Outcome = 3 +) + +var Outcome_name = map[int32]string{ + 0: "AWon", + 1: "BWon", + 2: "Draw", + 3: "Aborted", +} + +var Outcome_value = map[string]int32{ + "AWon": 0, + "BWon": 1, + "Draw": 2, + "Aborted": 3, +} + +func (x Outcome) String() string { + return proto.EnumName(Outcome_name, int32(x)) +} + +func (Outcome) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_f49b609716516c9f, []int{0} +} + type Match struct { Timestamp uint64 `protobuf:"varint,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"` Reporter string `protobuf:"bytes,2,opt,name=reporter,proto3" json:"reporter,omitempty"` @@ -29,6 +60,7 @@ type Match struct { PlayerB *MatchPlayer `protobuf:"bytes,4,opt,name=playerB,proto3" json:"playerB,omitempty"` Outcome Outcome `protobuf:"varint,7,opt,name=outcome,proto3,enum=DecentralCardGame.cardchain.cardchain.Outcome" json:"outcome,omitempty"` CoinsDistributed bool `protobuf:"varint,10,opt,name=coinsDistributed,proto3" json:"coinsDistributed,omitempty"` + ServerConfirmed bool `protobuf:"varint,8,opt,name=serverConfirmed,proto3" json:"serverConfirmed,omitempty"` } func (m *Match) Reset() { *m = Match{} } @@ -106,11 +138,20 @@ func (m *Match) GetCoinsDistributed() bool { return false } +func (m *Match) GetServerConfirmed() bool { + if m != nil { + return m.ServerConfirmed + } + return false +} + type MatchPlayer struct { - Addr string `protobuf:"bytes,1,opt,name=addr,proto3" json:"addr,omitempty"` - PlayedCards []uint64 `protobuf:"varint,2,rep,packed,name=playedCards,proto3" json:"playedCards,omitempty"` - Confirmed bool `protobuf:"varint,3,opt,name=confirmed,proto3" json:"confirmed,omitempty"` - Outcome Outcome `protobuf:"varint,4,opt,name=outcome,proto3,enum=DecentralCardGame.cardchain.cardchain.Outcome" json:"outcome,omitempty"` + Addr string `protobuf:"bytes,1,opt,name=addr,proto3" json:"addr,omitempty"` + PlayedCards []uint64 `protobuf:"varint,2,rep,packed,name=playedCards,proto3" json:"playedCards,omitempty"` + Confirmed bool `protobuf:"varint,3,opt,name=confirmed,proto3" json:"confirmed,omitempty"` + Outcome Outcome `protobuf:"varint,4,opt,name=outcome,proto3,enum=DecentralCardGame.cardchain.cardchain.Outcome" json:"outcome,omitempty"` + Deck []uint64 `protobuf:"varint,5,rep,packed,name=deck,proto3" json:"deck,omitempty"` + VotedCards []*SingleVote `protobuf:"bytes,6,rep,name=votedCards,proto3" json:"votedCards,omitempty"` } func (m *MatchPlayer) Reset() { *m = MatchPlayer{} } @@ -174,7 +215,22 @@ func (m *MatchPlayer) GetOutcome() Outcome { return Outcome_AWon } +func (m *MatchPlayer) GetDeck() []uint64 { + if m != nil { + return m.Deck + } + return nil +} + +func (m *MatchPlayer) GetVotedCards() []*SingleVote { + if m != nil { + return m.VotedCards + } + return nil +} + func init() { + proto.RegisterEnum("DecentralCardGame.cardchain.cardchain.Outcome", Outcome_name, Outcome_value) proto.RegisterType((*Match)(nil), "DecentralCardGame.cardchain.cardchain.Match") proto.RegisterType((*MatchPlayer)(nil), "DecentralCardGame.cardchain.cardchain.MatchPlayer") } @@ -182,29 +238,35 @@ func init() { func init() { proto.RegisterFile("cardchain/cardchain/match.proto", fileDescriptor_f49b609716516c9f) } var fileDescriptor_f49b609716516c9f = []byte{ - // 344 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x92, 0xc1, 0x6a, 0x32, 0x31, - 0x14, 0x85, 0x8d, 0xce, 0xff, 0xab, 0x11, 0x4a, 0xc9, 0x2a, 0x88, 0x4c, 0x83, 0x50, 0x18, 0xba, - 0x88, 0x60, 0x37, 0xdd, 0x56, 0x85, 0x76, 0xd1, 0xd2, 0x92, 0x65, 0x77, 0x31, 0x49, 0x6b, 0xc0, - 0x4c, 0x86, 0x4c, 0x04, 0x7d, 0x8b, 0xbe, 0x47, 0x5f, 0xa4, 0x4b, 0xa1, 0x9b, 0x2e, 0x8b, 0xbe, - 0x48, 0x31, 0xa2, 0x33, 0x60, 0x17, 0x82, 0xbb, 0x9b, 0x43, 0xee, 0x97, 0x73, 0x6f, 0x0e, 0xbc, - 0x10, 0xdc, 0x49, 0x31, 0xe1, 0x3a, 0xed, 0x15, 0x95, 0xe1, 0x5e, 0x4c, 0x68, 0xe6, 0xac, 0xb7, - 0xe8, 0x72, 0xa4, 0x84, 0x4a, 0xbd, 0xe3, 0xd3, 0x21, 0x77, 0xf2, 0x8e, 0x1b, 0x45, 0xf7, 0x17, - 0x8b, 0xaa, 0xdd, 0xf9, 0x8b, 0xe3, 0xe7, 0x5b, 0x48, 0xf7, 0xab, 0x0a, 0xff, 0x3d, 0x6e, 0xa0, - 0xa8, 0x03, 0x9b, 0x5e, 0x1b, 0x95, 0x7b, 0x6e, 0x32, 0x0c, 0x08, 0x48, 0x22, 0x56, 0x08, 0xa8, - 0x0d, 0x1b, 0x4e, 0x65, 0xd6, 0x79, 0xe5, 0x70, 0x95, 0x80, 0xa4, 0xc9, 0xf6, 0x67, 0xf4, 0x00, - 0xeb, 0xd9, 0x94, 0x2f, 0x94, 0xbb, 0xc5, 0x35, 0x02, 0x92, 0x56, 0xbf, 0x4f, 0x8f, 0xb2, 0x46, - 0xc3, 0xc3, 0xcf, 0xa1, 0x95, 0xed, 0x10, 0x05, 0x6d, 0x80, 0xa3, 0x53, 0x69, 0x03, 0x74, 0x0f, - 0xeb, 0x76, 0xe6, 0x85, 0x35, 0x0a, 0xd7, 0x09, 0x48, 0xce, 0xfa, 0xf4, 0x48, 0xda, 0xd3, 0xb6, - 0x8b, 0xed, 0xda, 0xd1, 0x15, 0x3c, 0x17, 0x56, 0xa7, 0xf9, 0x48, 0xe7, 0xde, 0xe9, 0xf1, 0xcc, - 0x2b, 0x89, 0x21, 0x01, 0x49, 0x83, 0x1d, 0xe8, 0xdd, 0x0f, 0x00, 0x5b, 0x25, 0x3b, 0x08, 0xc1, - 0x88, 0x4b, 0xe9, 0xc2, 0x5a, 0x9b, 0x2c, 0xd4, 0x88, 0xc0, 0x56, 0x30, 0x29, 0x37, 0x36, 0x72, - 0x5c, 0x25, 0xb5, 0x24, 0x62, 0x65, 0x69, 0xf3, 0x23, 0xc2, 0xa6, 0xaf, 0xda, 0x19, 0x25, 0xc3, - 0x66, 0x1b, 0xac, 0x10, 0xca, 0x93, 0x45, 0x27, 0x4d, 0x36, 0x60, 0x9f, 0xab, 0x18, 0x2c, 0x57, - 0x31, 0xf8, 0x59, 0xc5, 0xe0, 0x7d, 0x1d, 0x57, 0x96, 0xeb, 0xb8, 0xf2, 0xbd, 0x8e, 0x2b, 0x2f, - 0x37, 0x6f, 0xda, 0x4f, 0x66, 0x63, 0x2a, 0xac, 0xe9, 0x1d, 0xc0, 0x7b, 0xc3, 0x7d, 0x9c, 0xe6, - 0xe5, 0x68, 0x2d, 0x32, 0x95, 0x8f, 0xff, 0x87, 0x78, 0x5d, 0xff, 0x06, 0x00, 0x00, 0xff, 0xff, - 0xb4, 0x35, 0xe3, 0xdb, 0xc6, 0x02, 0x00, 0x00, + // 438 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x53, 0xcf, 0x8b, 0xd3, 0x40, + 0x14, 0xee, 0x24, 0xd9, 0x4d, 0xf7, 0x05, 0xb4, 0xcc, 0x69, 0x58, 0x24, 0x0e, 0x0b, 0x42, 0xd8, + 0x43, 0x8a, 0xd5, 0x83, 0xd7, 0xfe, 0x00, 0x3d, 0x28, 0xea, 0x08, 0x0a, 0xde, 0xa6, 0x33, 0x63, + 0x3b, 0xd8, 0x64, 0xc2, 0x64, 0x5a, 0xdd, 0xff, 0x42, 0xfc, 0xab, 0x3c, 0xee, 0xd1, 0xa3, 0xb4, + 0x7f, 0x87, 0x20, 0x99, 0xb5, 0x4d, 0x70, 0x3d, 0x14, 0xf6, 0xf6, 0xe5, 0xe3, 0xbd, 0xef, 0xfb, + 0xf2, 0xde, 0x3c, 0x78, 0x28, 0xb8, 0x95, 0x62, 0xc9, 0x75, 0x39, 0x6c, 0x51, 0xc1, 0x9d, 0x58, + 0xe6, 0x95, 0x35, 0xce, 0xe0, 0x47, 0x33, 0x25, 0x54, 0xe9, 0x2c, 0x5f, 0x4d, 0xb9, 0x95, 0xcf, + 0x79, 0xa1, 0xf2, 0x43, 0x61, 0x8b, 0xce, 0xe9, 0xff, 0x74, 0x36, 0xc6, 0xe9, 0x72, 0x71, 0x23, + 0x74, 0xf1, 0x3b, 0x80, 0x93, 0x57, 0x8d, 0x30, 0x7e, 0x00, 0x67, 0x4e, 0x17, 0xaa, 0x76, 0xbc, + 0xa8, 0x08, 0xa2, 0x28, 0x8b, 0x58, 0x4b, 0xe0, 0x73, 0xe8, 0x5b, 0x55, 0x19, 0xeb, 0x94, 0x25, + 0x01, 0x45, 0xd9, 0x19, 0x3b, 0x7c, 0xe3, 0x97, 0x10, 0x57, 0x2b, 0x7e, 0xa5, 0xec, 0x98, 0x84, + 0x14, 0x65, 0xc9, 0x68, 0x94, 0x1f, 0x15, 0x2f, 0xf7, 0xc6, 0x6f, 0x7c, 0x2b, 0xdb, 0x4b, 0xb4, + 0x6a, 0x13, 0x12, 0xdd, 0x55, 0x6d, 0x82, 0x5f, 0x40, 0x6c, 0xd6, 0x4e, 0x98, 0x42, 0x91, 0x98, + 0xa2, 0xec, 0xde, 0x28, 0x3f, 0x52, 0xed, 0xf5, 0x4d, 0x17, 0xdb, 0xb7, 0xe3, 0x4b, 0x18, 0x08, + 0xa3, 0xcb, 0x7a, 0xa6, 0x6b, 0x67, 0xf5, 0x7c, 0xed, 0x94, 0x24, 0x40, 0x51, 0xd6, 0x67, 0xb7, + 0x78, 0x9c, 0xc1, 0xfd, 0x5a, 0xd9, 0x8d, 0xb2, 0x53, 0x53, 0x7e, 0xd2, 0xb6, 0x50, 0x92, 0xf4, + 0x7d, 0xe9, 0xbf, 0xf4, 0xc5, 0xf7, 0x00, 0x92, 0x4e, 0x70, 0x8c, 0x21, 0xe2, 0x52, 0x5a, 0xbf, + 0x80, 0x33, 0xe6, 0x31, 0xa6, 0x90, 0xf8, 0xdf, 0x91, 0x4d, 0xe0, 0x9a, 0x04, 0x34, 0xcc, 0x22, + 0xd6, 0xa5, 0x9a, 0xdd, 0x89, 0x83, 0x53, 0xe8, 0x9d, 0x5a, 0xa2, 0x3b, 0x83, 0xe8, 0x6e, 0x33, + 0xc0, 0x10, 0x49, 0x25, 0x3e, 0x93, 0x13, 0x1f, 0xc1, 0x63, 0xfc, 0x16, 0x60, 0x63, 0xdc, 0x3e, + 0xdc, 0x29, 0x0d, 0xb3, 0x64, 0xf4, 0xf8, 0x48, 0x83, 0x77, 0xba, 0x5c, 0xac, 0xd4, 0x7b, 0xe3, + 0x14, 0xeb, 0x88, 0x5c, 0x3e, 0x85, 0xf8, 0xaf, 0x35, 0xee, 0x43, 0x34, 0xfe, 0x60, 0xca, 0x41, + 0xaf, 0x41, 0x93, 0x06, 0xa1, 0x06, 0xcd, 0x2c, 0xff, 0x32, 0x08, 0x70, 0x02, 0xf1, 0x78, 0xde, + 0x3c, 0x42, 0x39, 0x08, 0x27, 0xec, 0xc7, 0x36, 0x45, 0xd7, 0xdb, 0x14, 0xfd, 0xda, 0xa6, 0xe8, + 0xdb, 0x2e, 0xed, 0x5d, 0xef, 0xd2, 0xde, 0xcf, 0x5d, 0xda, 0xfb, 0xf8, 0x6c, 0xa1, 0xdd, 0x72, + 0x3d, 0xcf, 0x85, 0x29, 0x86, 0xb7, 0x82, 0x0d, 0xa7, 0x87, 0xcb, 0xf8, 0xda, 0xb9, 0x12, 0x77, + 0x55, 0xa9, 0x7a, 0x7e, 0xea, 0xaf, 0xe4, 0xc9, 0x9f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xea, 0x66, + 0xb9, 0x36, 0x91, 0x03, 0x00, 0x00, } func (m *Match) Marshal() (dAtA []byte, err error) { @@ -237,6 +299,16 @@ func (m *Match) MarshalToSizedBuffer(dAtA []byte) (int, error) { i-- dAtA[i] = 0x50 } + if m.ServerConfirmed { + i-- + if m.ServerConfirmed { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x40 + } if m.Outcome != 0 { i = encodeVarintMatch(dAtA, i, uint64(m.Outcome)) i-- @@ -301,6 +373,38 @@ func (m *MatchPlayer) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + if len(m.VotedCards) > 0 { + for iNdEx := len(m.VotedCards) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.VotedCards[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintMatch(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x32 + } + } + if len(m.Deck) > 0 { + dAtA4 := make([]byte, len(m.Deck)*10) + var j3 int + for _, num := range m.Deck { + for num >= 1<<7 { + dAtA4[j3] = uint8(uint64(num)&0x7f | 0x80) + num >>= 7 + j3++ + } + dAtA4[j3] = uint8(num) + j3++ + } + i -= j3 + copy(dAtA[i:], dAtA4[:j3]) + i = encodeVarintMatch(dAtA, i, uint64(j3)) + i-- + dAtA[i] = 0x2a + } if m.Outcome != 0 { i = encodeVarintMatch(dAtA, i, uint64(m.Outcome)) i-- @@ -317,20 +421,20 @@ func (m *MatchPlayer) MarshalToSizedBuffer(dAtA []byte) (int, error) { dAtA[i] = 0x18 } if len(m.PlayedCards) > 0 { - dAtA4 := make([]byte, len(m.PlayedCards)*10) - var j3 int + dAtA6 := make([]byte, len(m.PlayedCards)*10) + var j5 int for _, num := range m.PlayedCards { for num >= 1<<7 { - dAtA4[j3] = uint8(uint64(num)&0x7f | 0x80) + dAtA6[j5] = uint8(uint64(num)&0x7f | 0x80) num >>= 7 - j3++ + j5++ } - dAtA4[j3] = uint8(num) - j3++ + dAtA6[j5] = uint8(num) + j5++ } - i -= j3 - copy(dAtA[i:], dAtA4[:j3]) - i = encodeVarintMatch(dAtA, i, uint64(j3)) + i -= j5 + copy(dAtA[i:], dAtA6[:j5]) + i = encodeVarintMatch(dAtA, i, uint64(j5)) i-- dAtA[i] = 0x12 } @@ -379,6 +483,9 @@ func (m *Match) Size() (n int) { if m.Outcome != 0 { n += 1 + sovMatch(uint64(m.Outcome)) } + if m.ServerConfirmed { + n += 2 + } if m.CoinsDistributed { n += 2 } @@ -408,6 +515,19 @@ func (m *MatchPlayer) Size() (n int) { if m.Outcome != 0 { n += 1 + sovMatch(uint64(m.Outcome)) } + if len(m.Deck) > 0 { + l = 0 + for _, e := range m.Deck { + l += sovMatch(uint64(e)) + } + n += 1 + sovMatch(uint64(l)) + l + } + if len(m.VotedCards) > 0 { + for _, e := range m.VotedCards { + l = e.Size() + n += 1 + l + sovMatch(uint64(l)) + } + } return n } @@ -588,6 +708,26 @@ func (m *Match) Unmarshal(dAtA []byte) error { break } } + case 8: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field ServerConfirmed", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMatch + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.ServerConfirmed = bool(v != 0) case 10: if wireType != 0 { return fmt.Errorf("proto: wrong wireType = %d for field CoinsDistributed", wireType) @@ -805,6 +945,116 @@ func (m *MatchPlayer) Unmarshal(dAtA []byte) error { break } } + case 5: + if wireType == 0 { + var v uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMatch + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.Deck = append(m.Deck, v) + } else if wireType == 2 { + var packedLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMatch + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + packedLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if packedLen < 0 { + return ErrInvalidLengthMatch + } + postIndex := iNdEx + packedLen + if postIndex < 0 { + return ErrInvalidLengthMatch + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + var elementCount int + var count int + for _, integer := range dAtA[iNdEx:postIndex] { + if integer < 128 { + count++ + } + } + elementCount = count + if elementCount != 0 && len(m.Deck) == 0 { + m.Deck = make([]uint64, 0, elementCount) + } + for iNdEx < postIndex { + var v uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMatch + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.Deck = append(m.Deck, v) + } + } else { + return fmt.Errorf("proto: wrong wireType = %d for field Deck", wireType) + } + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field VotedCards", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMatch + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthMatch + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthMatch + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.VotedCards = append(m.VotedCards, &SingleVote{}) + if err := m.VotedCards[len(m.VotedCards)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipMatch(dAtA[iNdEx:]) diff --git a/x/cardchain/types/message_add_artwork.go b/x/cardchain/types/message_add_artwork.go index c655e41f..bcbbfc0b 100644 --- a/x/cardchain/types/message_add_artwork.go +++ b/x/cardchain/types/message_add_artwork.go @@ -1,8 +1,9 @@ package types import ( + sdkerrors "cosmossdk.io/errors" sdk "github.com/cosmos/cosmos-sdk/types" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/cosmos/cosmos-sdk/types/errors" ) const TypeMsgAddArtwork = "add_artwork" @@ -42,7 +43,7 @@ func (msg *MsgAddArtwork) GetSignBytes() []byte { func (msg *MsgAddArtwork) ValidateBasic() error { _, err := sdk.AccAddressFromBech32(msg.Creator) if err != nil { - return sdkerrors.Wrapf(sdkerrors.ErrInvalidAddress, "invalid creator address (%s)", err) + return sdkerrors.Wrapf(errors.ErrInvalidAddress, "invalid creator address (%s)", err) } return nil } diff --git a/x/cardchain/types/message_add_artwork_test.go b/x/cardchain/types/message_add_artwork_test.go index e6dce4de..cd24cab5 100644 --- a/x/cardchain/types/message_add_artwork_test.go +++ b/x/cardchain/types/message_add_artwork_test.go @@ -4,7 +4,7 @@ import ( "testing" "github.com/DecentralCardGame/Cardchain/testutil/sample" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/cosmos/cosmos-sdk/types/errors" "github.com/stretchr/testify/require" ) @@ -19,7 +19,7 @@ func TestMsgAddArtwork_ValidateBasic(t *testing.T) { msg: MsgAddArtwork{ Creator: "invalid_address", }, - err: sdkerrors.ErrInvalidAddress, + err: errors.ErrInvalidAddress, }, { name: "valid address", msg: MsgAddArtwork{ diff --git a/x/cardchain/types/message_add_artwork_to_collection.go b/x/cardchain/types/message_add_artwork_to_collection.go deleted file mode 100644 index 729a33f3..00000000 --- a/x/cardchain/types/message_add_artwork_to_collection.go +++ /dev/null @@ -1,47 +0,0 @@ -package types - -import ( - sdk "github.com/cosmos/cosmos-sdk/types" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" -) - -const TypeMsgAddArtworkToCollection = "add_artwork_to_collection" - -var _ sdk.Msg = &MsgAddArtworkToCollection{} - -func NewMsgAddArtworkToCollection(creator string, collectionId uint64, image []byte) *MsgAddArtworkToCollection { - return &MsgAddArtworkToCollection{ - Creator: creator, - CollectionId: collectionId, - Image: image, - } -} - -func (msg *MsgAddArtworkToCollection) Route() string { - return RouterKey -} - -func (msg *MsgAddArtworkToCollection) Type() string { - return TypeMsgAddArtworkToCollection -} - -func (msg *MsgAddArtworkToCollection) GetSigners() []sdk.AccAddress { - creator, err := sdk.AccAddressFromBech32(msg.Creator) - if err != nil { - panic(err) - } - return []sdk.AccAddress{creator} -} - -func (msg *MsgAddArtworkToCollection) GetSignBytes() []byte { - bz := ModuleCdc.MustMarshalJSON(msg) - return sdk.MustSortJSON(bz) -} - -func (msg *MsgAddArtworkToCollection) ValidateBasic() error { - _, err := sdk.AccAddressFromBech32(msg.Creator) - if err != nil { - return sdkerrors.Wrapf(sdkerrors.ErrInvalidAddress, "invalid creator address (%s)", err) - } - return nil -} diff --git a/x/cardchain/types/message_add_artwork_to_collection_test.go b/x/cardchain/types/message_add_artwork_to_collection_test.go deleted file mode 100644 index 07164b72..00000000 --- a/x/cardchain/types/message_add_artwork_to_collection_test.go +++ /dev/null @@ -1,40 +0,0 @@ -package types - -import ( - "testing" - - "github.com/DecentralCardGame/Cardchain/testutil/sample" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - "github.com/stretchr/testify/require" -) - -func TestMsgAddArtworkToCollection_ValidateBasic(t *testing.T) { - tests := []struct { - name string - msg MsgAddArtworkToCollection - err error - }{ - { - name: "invalid address", - msg: MsgAddArtworkToCollection{ - Creator: "invalid_address", - }, - err: sdkerrors.ErrInvalidAddress, - }, { - name: "valid address", - msg: MsgAddArtworkToCollection{ - Creator: sample.AccAddress(), - }, - }, - } - for _, tt := range tests { - t.Run(tt.name, func(t *testing.T) { - err := tt.msg.ValidateBasic() - if tt.err != nil { - require.ErrorIs(t, err, tt.err) - return - } - require.NoError(t, err) - }) - } -} diff --git a/x/cardchain/types/message_add_artwork_to_set.go b/x/cardchain/types/message_add_artwork_to_set.go new file mode 100644 index 00000000..b74d3bea --- /dev/null +++ b/x/cardchain/types/message_add_artwork_to_set.go @@ -0,0 +1,48 @@ +package types + +import ( + sdkerrors "cosmossdk.io/errors" + sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/cosmos/cosmos-sdk/types/errors" +) + +const TypeMsgAddArtworkToSet = "add_artwork_to_set" + +var _ sdk.Msg = &MsgAddArtworkToSet{} + +func NewMsgAddArtworkToSet(creator string, setId uint64, image []byte) *MsgAddArtworkToSet { + return &MsgAddArtworkToSet{ + Creator: creator, + SetId: setId, + Image: image, + } +} + +func (msg *MsgAddArtworkToSet) Route() string { + return RouterKey +} + +func (msg *MsgAddArtworkToSet) Type() string { + return TypeMsgAddArtworkToSet +} + +func (msg *MsgAddArtworkToSet) GetSigners() []sdk.AccAddress { + creator, err := sdk.AccAddressFromBech32(msg.Creator) + if err != nil { + panic(err) + } + return []sdk.AccAddress{creator} +} + +func (msg *MsgAddArtworkToSet) GetSignBytes() []byte { + bz := ModuleCdc.MustMarshalJSON(msg) + return sdk.MustSortJSON(bz) +} + +func (msg *MsgAddArtworkToSet) ValidateBasic() error { + _, err := sdk.AccAddressFromBech32(msg.Creator) + if err != nil { + return sdkerrors.Wrapf(errors.ErrInvalidAddress, "invalid creator address (%s)", err) + } + return nil +} diff --git a/x/cardchain/types/message_finalize_collection_test.go b/x/cardchain/types/message_add_artwork_to_set_test.go similarity index 69% rename from x/cardchain/types/message_finalize_collection_test.go rename to x/cardchain/types/message_add_artwork_to_set_test.go index 2df69861..38a9b4cf 100644 --- a/x/cardchain/types/message_finalize_collection_test.go +++ b/x/cardchain/types/message_add_artwork_to_set_test.go @@ -4,25 +4,25 @@ import ( "testing" "github.com/DecentralCardGame/Cardchain/testutil/sample" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/cosmos/cosmos-sdk/types/errors" "github.com/stretchr/testify/require" ) -func TestMsgFinalizeCollection_ValidateBasic(t *testing.T) { +func TestMsgAddArtworkToSet_ValidateBasic(t *testing.T) { tests := []struct { name string - msg MsgFinalizeCollection + msg MsgAddArtworkToSet err error }{ { name: "invalid address", - msg: MsgFinalizeCollection{ + msg: MsgAddArtworkToSet{ Creator: "invalid_address", }, - err: sdkerrors.ErrInvalidAddress, + err: errors.ErrInvalidAddress, }, { name: "valid address", - msg: MsgFinalizeCollection{ + msg: MsgAddArtworkToSet{ Creator: sample.AccAddress(), }, }, diff --git a/x/cardchain/types/message_add_card_to_collection.go b/x/cardchain/types/message_add_card_to_collection.go deleted file mode 100644 index cf3a2bb1..00000000 --- a/x/cardchain/types/message_add_card_to_collection.go +++ /dev/null @@ -1,47 +0,0 @@ -package types - -import ( - sdk "github.com/cosmos/cosmos-sdk/types" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" -) - -const TypeMsgAddCardToCollection = "add_card_to_collection" - -var _ sdk.Msg = &MsgAddCardToCollection{} - -func NewMsgAddCardToCollection(creator string, collectionId uint64, cardId uint64) *MsgAddCardToCollection { - return &MsgAddCardToCollection{ - Creator: creator, - CollectionId: collectionId, - CardId: cardId, - } -} - -func (msg *MsgAddCardToCollection) Route() string { - return RouterKey -} - -func (msg *MsgAddCardToCollection) Type() string { - return TypeMsgAddCardToCollection -} - -func (msg *MsgAddCardToCollection) GetSigners() []sdk.AccAddress { - creator, err := sdk.AccAddressFromBech32(msg.Creator) - if err != nil { - panic(err) - } - return []sdk.AccAddress{creator} -} - -func (msg *MsgAddCardToCollection) GetSignBytes() []byte { - bz := ModuleCdc.MustMarshalJSON(msg) - return sdk.MustSortJSON(bz) -} - -func (msg *MsgAddCardToCollection) ValidateBasic() error { - _, err := sdk.AccAddressFromBech32(msg.Creator) - if err != nil { - return sdkerrors.Wrapf(sdkerrors.ErrInvalidAddress, "invalid creator address (%s)", err) - } - return nil -} diff --git a/x/cardchain/types/message_add_card_to_set.go b/x/cardchain/types/message_add_card_to_set.go new file mode 100644 index 00000000..c9c61cc9 --- /dev/null +++ b/x/cardchain/types/message_add_card_to_set.go @@ -0,0 +1,48 @@ +package types + +import ( + sdkerrors "cosmossdk.io/errors" + sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/cosmos/cosmos-sdk/types/errors" +) + +const TypeMsgAddCardToSet = "add_card_to_set" + +var _ sdk.Msg = &MsgAddCardToSet{} + +func NewMsgAddCardToSet(creator string, setId uint64, cardId uint64) *MsgAddCardToSet { + return &MsgAddCardToSet{ + Creator: creator, + SetId: setId, + CardId: cardId, + } +} + +func (msg *MsgAddCardToSet) Route() string { + return RouterKey +} + +func (msg *MsgAddCardToSet) Type() string { + return TypeMsgAddCardToSet +} + +func (msg *MsgAddCardToSet) GetSigners() []sdk.AccAddress { + creator, err := sdk.AccAddressFromBech32(msg.Creator) + if err != nil { + panic(err) + } + return []sdk.AccAddress{creator} +} + +func (msg *MsgAddCardToSet) GetSignBytes() []byte { + bz := ModuleCdc.MustMarshalJSON(msg) + return sdk.MustSortJSON(bz) +} + +func (msg *MsgAddCardToSet) ValidateBasic() error { + _, err := sdk.AccAddressFromBech32(msg.Creator) + if err != nil { + return sdkerrors.Wrapf(errors.ErrInvalidAddress, "invalid creator address (%s)", err) + } + return nil +} diff --git a/x/cardchain/types/message_add_card_to_collection_test.go b/x/cardchain/types/message_add_card_to_set_test.go similarity index 68% rename from x/cardchain/types/message_add_card_to_collection_test.go rename to x/cardchain/types/message_add_card_to_set_test.go index 9853e186..1032e704 100644 --- a/x/cardchain/types/message_add_card_to_collection_test.go +++ b/x/cardchain/types/message_add_card_to_set_test.go @@ -4,25 +4,25 @@ import ( "testing" "github.com/DecentralCardGame/Cardchain/testutil/sample" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/cosmos/cosmos-sdk/types/errors" "github.com/stretchr/testify/require" ) -func TestMsgAddCardToCollection_ValidateBasic(t *testing.T) { +func TestMsgAddCardToSet_ValidateBasic(t *testing.T) { tests := []struct { name string - msg MsgAddCardToCollection + msg MsgAddCardToSet err error }{ { name: "invalid address", - msg: MsgAddCardToCollection{ + msg: MsgAddCardToSet{ Creator: "invalid_address", }, - err: sdkerrors.ErrInvalidAddress, + err: errors.ErrInvalidAddress, }, { name: "valid address", - msg: MsgAddCardToCollection{ + msg: MsgAddCardToSet{ Creator: sample.AccAddress(), }, }, diff --git a/x/cardchain/types/message_add_contributor_to_collection.go b/x/cardchain/types/message_add_contributor_to_collection.go deleted file mode 100644 index 6b18950d..00000000 --- a/x/cardchain/types/message_add_contributor_to_collection.go +++ /dev/null @@ -1,47 +0,0 @@ -package types - -import ( - sdk "github.com/cosmos/cosmos-sdk/types" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" -) - -const TypeMsgAddContributorToCollection = "add_contributor_to_collection" - -var _ sdk.Msg = &MsgAddContributorToCollection{} - -func NewMsgAddContributorToCollection(creator string, collectionId uint64, user string) *MsgAddContributorToCollection { - return &MsgAddContributorToCollection{ - Creator: creator, - CollectionId: collectionId, - User: user, - } -} - -func (msg *MsgAddContributorToCollection) Route() string { - return RouterKey -} - -func (msg *MsgAddContributorToCollection) Type() string { - return TypeMsgAddContributorToCollection -} - -func (msg *MsgAddContributorToCollection) GetSigners() []sdk.AccAddress { - creator, err := sdk.AccAddressFromBech32(msg.Creator) - if err != nil { - panic(err) - } - return []sdk.AccAddress{creator} -} - -func (msg *MsgAddContributorToCollection) GetSignBytes() []byte { - bz := ModuleCdc.MustMarshalJSON(msg) - return sdk.MustSortJSON(bz) -} - -func (msg *MsgAddContributorToCollection) ValidateBasic() error { - _, err := sdk.AccAddressFromBech32(msg.Creator) - if err != nil { - return sdkerrors.Wrapf(sdkerrors.ErrInvalidAddress, "invalid creator address (%s)", err) - } - return nil -} diff --git a/x/cardchain/types/message_add_contributor_to_collection_test.go b/x/cardchain/types/message_add_contributor_to_collection_test.go deleted file mode 100644 index a6743f3e..00000000 --- a/x/cardchain/types/message_add_contributor_to_collection_test.go +++ /dev/null @@ -1,40 +0,0 @@ -package types - -import ( - "testing" - - "github.com/DecentralCardGame/Cardchain/testutil/sample" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - "github.com/stretchr/testify/require" -) - -func TestMsgAddContributorToCollection_ValidateBasic(t *testing.T) { - tests := []struct { - name string - msg MsgAddContributorToCollection - err error - }{ - { - name: "invalid address", - msg: MsgAddContributorToCollection{ - Creator: "invalid_address", - }, - err: sdkerrors.ErrInvalidAddress, - }, { - name: "valid address", - msg: MsgAddContributorToCollection{ - Creator: sample.AccAddress(), - }, - }, - } - for _, tt := range tests { - t.Run(tt.name, func(t *testing.T) { - err := tt.msg.ValidateBasic() - if tt.err != nil { - require.ErrorIs(t, err, tt.err) - return - } - require.NoError(t, err) - }) - } -} diff --git a/x/cardchain/types/message_add_contributor_to_set.go b/x/cardchain/types/message_add_contributor_to_set.go new file mode 100644 index 00000000..12ff15ab --- /dev/null +++ b/x/cardchain/types/message_add_contributor_to_set.go @@ -0,0 +1,48 @@ +package types + +import ( + sdkerrors "cosmossdk.io/errors" + sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/cosmos/cosmos-sdk/types/errors" +) + +const TypeMsgAddContributorToSet = "add_contributor_to_set" + +var _ sdk.Msg = &MsgAddContributorToSet{} + +func NewMsgAddContributorToSet(creator string, setId uint64, user string) *MsgAddContributorToSet { + return &MsgAddContributorToSet{ + Creator: creator, + SetId: setId, + User: user, + } +} + +func (msg *MsgAddContributorToSet) Route() string { + return RouterKey +} + +func (msg *MsgAddContributorToSet) Type() string { + return TypeMsgAddContributorToSet +} + +func (msg *MsgAddContributorToSet) GetSigners() []sdk.AccAddress { + creator, err := sdk.AccAddressFromBech32(msg.Creator) + if err != nil { + panic(err) + } + return []sdk.AccAddress{creator} +} + +func (msg *MsgAddContributorToSet) GetSignBytes() []byte { + bz := ModuleCdc.MustMarshalJSON(msg) + return sdk.MustSortJSON(bz) +} + +func (msg *MsgAddContributorToSet) ValidateBasic() error { + _, err := sdk.AccAddressFromBech32(msg.Creator) + if err != nil { + return sdkerrors.Wrapf(errors.ErrInvalidAddress, "invalid creator address (%s)", err) + } + return nil +} diff --git a/x/cardchain/types/message_add_contributor_to_set_test.go b/x/cardchain/types/message_add_contributor_to_set_test.go new file mode 100644 index 00000000..9c5e5d00 --- /dev/null +++ b/x/cardchain/types/message_add_contributor_to_set_test.go @@ -0,0 +1,40 @@ +package types + +import ( + "testing" + + "github.com/DecentralCardGame/Cardchain/testutil/sample" + "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/stretchr/testify/require" +) + +func TestMsgAddContributorToSet_ValidateBasic(t *testing.T) { + tests := []struct { + name string + msg MsgAddContributorToSet + err error + }{ + { + name: "invalid address", + msg: MsgAddContributorToSet{ + Creator: "invalid_address", + }, + err: errors.ErrInvalidAddress, + }, { + name: "valid address", + msg: MsgAddContributorToSet{ + Creator: sample.AccAddress(), + }, + }, + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + err := tt.msg.ValidateBasic() + if tt.err != nil { + require.ErrorIs(t, err, tt.err) + return + } + require.NoError(t, err) + }) + } +} diff --git a/x/cardchain/types/message_add_story_to_collection.go b/x/cardchain/types/message_add_story_to_collection.go deleted file mode 100644 index c797d9a6..00000000 --- a/x/cardchain/types/message_add_story_to_collection.go +++ /dev/null @@ -1,47 +0,0 @@ -package types - -import ( - sdk "github.com/cosmos/cosmos-sdk/types" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" -) - -const TypeMsgAddStoryToCollection = "add_story_to_collection" - -var _ sdk.Msg = &MsgAddStoryToCollection{} - -func NewMsgAddStoryToCollection(creator string, collectionId uint64, story string) *MsgAddStoryToCollection { - return &MsgAddStoryToCollection{ - Creator: creator, - CollectionId: collectionId, - Story: story, - } -} - -func (msg *MsgAddStoryToCollection) Route() string { - return RouterKey -} - -func (msg *MsgAddStoryToCollection) Type() string { - return TypeMsgAddStoryToCollection -} - -func (msg *MsgAddStoryToCollection) GetSigners() []sdk.AccAddress { - creator, err := sdk.AccAddressFromBech32(msg.Creator) - if err != nil { - panic(err) - } - return []sdk.AccAddress{creator} -} - -func (msg *MsgAddStoryToCollection) GetSignBytes() []byte { - bz := ModuleCdc.MustMarshalJSON(msg) - return sdk.MustSortJSON(bz) -} - -func (msg *MsgAddStoryToCollection) ValidateBasic() error { - _, err := sdk.AccAddressFromBech32(msg.Creator) - if err != nil { - return sdkerrors.Wrapf(sdkerrors.ErrInvalidAddress, "invalid creator address (%s)", err) - } - return nil -} diff --git a/x/cardchain/types/message_add_story_to_set.go b/x/cardchain/types/message_add_story_to_set.go new file mode 100644 index 00000000..caa136be --- /dev/null +++ b/x/cardchain/types/message_add_story_to_set.go @@ -0,0 +1,48 @@ +package types + +import ( + sdkerrors "cosmossdk.io/errors" + sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/cosmos/cosmos-sdk/types/errors" +) + +const TypeMsgAddStoryToSet = "add_story_to_set" + +var _ sdk.Msg = &MsgAddStoryToSet{} + +func NewMsgAddStoryToSet(creator string, setId uint64, story string) *MsgAddStoryToSet { + return &MsgAddStoryToSet{ + Creator: creator, + SetId: setId, + Story: story, + } +} + +func (msg *MsgAddStoryToSet) Route() string { + return RouterKey +} + +func (msg *MsgAddStoryToSet) Type() string { + return TypeMsgAddStoryToSet +} + +func (msg *MsgAddStoryToSet) GetSigners() []sdk.AccAddress { + creator, err := sdk.AccAddressFromBech32(msg.Creator) + if err != nil { + panic(err) + } + return []sdk.AccAddress{creator} +} + +func (msg *MsgAddStoryToSet) GetSignBytes() []byte { + bz := ModuleCdc.MustMarshalJSON(msg) + return sdk.MustSortJSON(bz) +} + +func (msg *MsgAddStoryToSet) ValidateBasic() error { + _, err := sdk.AccAddressFromBech32(msg.Creator) + if err != nil { + return sdkerrors.Wrapf(errors.ErrInvalidAddress, "invalid creator address (%s)", err) + } + return nil +} diff --git a/x/cardchain/types/message_add_story_to_set_test.go b/x/cardchain/types/message_add_story_to_set_test.go new file mode 100644 index 00000000..c0484d95 --- /dev/null +++ b/x/cardchain/types/message_add_story_to_set_test.go @@ -0,0 +1,40 @@ +package types + +import ( + "testing" + + "github.com/DecentralCardGame/Cardchain/testutil/sample" + "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/stretchr/testify/require" +) + +func TestMsgAddStoryToSet_ValidateBasic(t *testing.T) { + tests := []struct { + name string + msg MsgAddStoryToSet + err error + }{ + { + name: "invalid address", + msg: MsgAddStoryToSet{ + Creator: "invalid_address", + }, + }, { + name: "valid address", + err: errors.ErrInvalidAddress, + msg: MsgAddStoryToSet{ + Creator: sample.AccAddress(), + }, + }, + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + err := tt.msg.ValidateBasic() + if tt.err != nil { + require.ErrorIs(t, err, tt.err) + return + } + require.NoError(t, err) + }) + } +} diff --git a/x/cardchain/types/message_apoint_match_reporter.go b/x/cardchain/types/message_apoint_match_reporter.go index ea524ef4..cc780fb1 100644 --- a/x/cardchain/types/message_apoint_match_reporter.go +++ b/x/cardchain/types/message_apoint_match_reporter.go @@ -1,8 +1,9 @@ package types import ( + sdkerrors "cosmossdk.io/errors" sdk "github.com/cosmos/cosmos-sdk/types" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/cosmos/cosmos-sdk/types/errors" ) const TypeMsgApointMatchReporter = "apoint_match_reporter" @@ -40,7 +41,7 @@ func (msg *MsgApointMatchReporter) GetSignBytes() []byte { func (msg *MsgApointMatchReporter) ValidateBasic() error { _, err := sdk.AccAddressFromBech32(msg.Creator) if err != nil { - return sdkerrors.Wrapf(sdkerrors.ErrInvalidAddress, "invalid creator address (%s)", err) + return sdkerrors.Wrapf(errors.ErrInvalidAddress, "invalid creator address (%s)", err) } return nil } diff --git a/x/cardchain/types/message_apoint_match_reporter_test.go b/x/cardchain/types/message_apoint_match_reporter_test.go index 0e213ae8..bef5c873 100644 --- a/x/cardchain/types/message_apoint_match_reporter_test.go +++ b/x/cardchain/types/message_apoint_match_reporter_test.go @@ -4,7 +4,7 @@ import ( "testing" "github.com/DecentralCardGame/Cardchain/testutil/sample" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/cosmos/cosmos-sdk/types/errors" "github.com/stretchr/testify/require" ) @@ -19,7 +19,7 @@ func TestMsgApointMatchReporter_ValidateBasic(t *testing.T) { msg: MsgApointMatchReporter{ Creator: "invalid_address", }, - err: sdkerrors.ErrInvalidAddress, + err: errors.ErrInvalidAddress, }, { name: "valid address", msg: MsgApointMatchReporter{ diff --git a/x/cardchain/types/message_buy_card.go b/x/cardchain/types/message_buy_card.go index 17262f9e..d65fada6 100644 --- a/x/cardchain/types/message_buy_card.go +++ b/x/cardchain/types/message_buy_card.go @@ -1,8 +1,9 @@ package types import ( + sdkerrors "cosmossdk.io/errors" sdk "github.com/cosmos/cosmos-sdk/types" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/cosmos/cosmos-sdk/types/errors" ) const TypeMsgBuyCard = "buy_card" @@ -40,7 +41,7 @@ func (msg *MsgBuyCard) GetSignBytes() []byte { func (msg *MsgBuyCard) ValidateBasic() error { _, err := sdk.AccAddressFromBech32(msg.Creator) if err != nil { - return sdkerrors.Wrapf(sdkerrors.ErrInvalidAddress, "invalid creator address (%s)", err) + return sdkerrors.Wrapf(errors.ErrInvalidAddress, "invalid creator address (%s)", err) } return nil } diff --git a/x/cardchain/types/message_buy_card_scheme.go b/x/cardchain/types/message_buy_card_scheme.go index 444d30ac..d961f094 100644 --- a/x/cardchain/types/message_buy_card_scheme.go +++ b/x/cardchain/types/message_buy_card_scheme.go @@ -1,15 +1,16 @@ package types import ( + sdkerrors "cosmossdk.io/errors" sdk "github.com/cosmos/cosmos-sdk/types" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/cosmos/cosmos-sdk/types/errors" ) const TypeMsgBuyCardScheme = "buy_card_scheme" var _ sdk.Msg = &MsgBuyCardScheme{} -func NewMsgBuyCardScheme(creator string, bid string) *MsgBuyCardScheme { +func NewMsgBuyCardScheme(creator string, bid sdk.Coin) *MsgBuyCardScheme { return &MsgBuyCardScheme{ Creator: creator, Bid: bid, @@ -32,15 +33,16 @@ func (msg *MsgBuyCardScheme) GetSigners() []sdk.AccAddress { return []sdk.AccAddress{creator} } -func (msg *MsgBuyCardScheme) GetSignBytes() []byte { - bz := ModuleCdc.MustMarshalJSON(msg) +func (msg MsgBuyCardScheme) GetSignBytes() []byte { + bz := ModuleCdc.MustMarshalJSON(&msg) return sdk.MustSortJSON(bz) } func (msg *MsgBuyCardScheme) ValidateBasic() error { _, err := sdk.AccAddressFromBech32(msg.Creator) if err != nil { - return sdkerrors.Wrapf(sdkerrors.ErrInvalidAddress, "invalid creator address (%s)", err) + return sdkerrors.Wrapf(errors.ErrInvalidAddress, "invalid creator address (%s)", err) } + return nil } diff --git a/x/cardchain/types/message_buy_card_scheme_test.go b/x/cardchain/types/message_buy_card_scheme_test.go index e9f4e3b3..394ffa91 100644 --- a/x/cardchain/types/message_buy_card_scheme_test.go +++ b/x/cardchain/types/message_buy_card_scheme_test.go @@ -4,7 +4,7 @@ import ( "testing" "github.com/DecentralCardGame/Cardchain/testutil/sample" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/cosmos/cosmos-sdk/types/errors" "github.com/stretchr/testify/require" ) @@ -19,7 +19,7 @@ func TestMsgBuyCardScheme_ValidateBasic(t *testing.T) { msg: MsgBuyCardScheme{ Creator: "invalid_address", }, - err: sdkerrors.ErrInvalidAddress, + err: errors.ErrInvalidAddress, }, { name: "valid address", msg: MsgBuyCardScheme{ diff --git a/x/cardchain/types/message_buy_card_test.go b/x/cardchain/types/message_buy_card_test.go index 635bc1f6..4871ea55 100644 --- a/x/cardchain/types/message_buy_card_test.go +++ b/x/cardchain/types/message_buy_card_test.go @@ -4,7 +4,7 @@ import ( "testing" "github.com/DecentralCardGame/Cardchain/testutil/sample" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/cosmos/cosmos-sdk/types/errors" "github.com/stretchr/testify/require" ) @@ -19,7 +19,7 @@ func TestMsgBuyCard_ValidateBasic(t *testing.T) { msg: MsgBuyCard{ Creator: "invalid_address", }, - err: sdkerrors.ErrInvalidAddress, + err: errors.ErrInvalidAddress, }, { name: "valid address", msg: MsgBuyCard{ diff --git a/x/cardchain/types/message_buy_collection.go b/x/cardchain/types/message_buy_collection.go deleted file mode 100644 index 944f5c48..00000000 --- a/x/cardchain/types/message_buy_collection.go +++ /dev/null @@ -1,46 +0,0 @@ -package types - -import ( - sdk "github.com/cosmos/cosmos-sdk/types" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" -) - -const TypeMsgBuyCollection = "buy_collection" - -var _ sdk.Msg = &MsgBuyCollection{} - -func NewMsgBuyCollection(creator string, collectionId uint64) *MsgBuyCollection { - return &MsgBuyCollection{ - Creator: creator, - CollectionId: collectionId, - } -} - -func (msg *MsgBuyCollection) Route() string { - return RouterKey -} - -func (msg *MsgBuyCollection) Type() string { - return TypeMsgBuyCollection -} - -func (msg *MsgBuyCollection) GetSigners() []sdk.AccAddress { - creator, err := sdk.AccAddressFromBech32(msg.Creator) - if err != nil { - panic(err) - } - return []sdk.AccAddress{creator} -} - -func (msg *MsgBuyCollection) GetSignBytes() []byte { - bz := ModuleCdc.MustMarshalJSON(msg) - return sdk.MustSortJSON(bz) -} - -func (msg *MsgBuyCollection) ValidateBasic() error { - _, err := sdk.AccAddressFromBech32(msg.Creator) - if err != nil { - return sdkerrors.Wrapf(sdkerrors.ErrInvalidAddress, "invalid creator address (%s)", err) - } - return nil -} diff --git a/x/cardchain/types/message_buy_set.go b/x/cardchain/types/message_buy_set.go new file mode 100644 index 00000000..0fd13e74 --- /dev/null +++ b/x/cardchain/types/message_buy_set.go @@ -0,0 +1,47 @@ +package types + +import ( + sdkerrors "cosmossdk.io/errors" + sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/cosmos/cosmos-sdk/types/errors" +) + +const TypeMsgBuyBoosterPack = "buy_set" + +var _ sdk.Msg = &MsgBuyBoosterPack{} + +func NewMsgBuyBoosterPack(creator string, setId uint64) *MsgBuyBoosterPack { + return &MsgBuyBoosterPack{ + Creator: creator, + SetId: setId, + } +} + +func (msg *MsgBuyBoosterPack) Route() string { + return RouterKey +} + +func (msg *MsgBuyBoosterPack) Type() string { + return TypeMsgBuyBoosterPack +} + +func (msg *MsgBuyBoosterPack) GetSigners() []sdk.AccAddress { + creator, err := sdk.AccAddressFromBech32(msg.Creator) + if err != nil { + panic(err) + } + return []sdk.AccAddress{creator} +} + +func (msg *MsgBuyBoosterPack) GetSignBytes() []byte { + bz := ModuleCdc.MustMarshalJSON(msg) + return sdk.MustSortJSON(bz) +} + +func (msg *MsgBuyBoosterPack) ValidateBasic() error { + _, err := sdk.AccAddressFromBech32(msg.Creator) + if err != nil { + return sdkerrors.Wrapf(errors.ErrInvalidAddress, "invalid creator address (%s)", err) + } + return nil +} diff --git a/x/cardchain/types/message_buy_set_test.go b/x/cardchain/types/message_buy_set_test.go new file mode 100644 index 00000000..370abb7b --- /dev/null +++ b/x/cardchain/types/message_buy_set_test.go @@ -0,0 +1,40 @@ +package types + +import ( + "testing" + + "github.com/DecentralCardGame/Cardchain/testutil/sample" + "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/stretchr/testify/require" +) + +func TestMsgBuyBoosterPack_ValidateBasic(t *testing.T) { + tests := []struct { + name string + msg MsgBuyBoosterPack + err error + }{ + { + name: "invalid address", + msg: MsgBuyBoosterPack{ + Creator: "invalid_address", + }, + err: errors.ErrInvalidAddress, + }, { + name: "valid address", + msg: MsgBuyBoosterPack{ + Creator: sample.AccAddress(), + }, + }, + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + err := tt.msg.ValidateBasic() + if tt.err != nil { + require.ErrorIs(t, err, tt.err) + return + } + require.NoError(t, err) + }) + } +} diff --git a/x/cardchain/types/message_change_artist.go b/x/cardchain/types/message_change_artist.go index 81de3fe0..20e01a8a 100644 --- a/x/cardchain/types/message_change_artist.go +++ b/x/cardchain/types/message_change_artist.go @@ -1,8 +1,9 @@ package types import ( + sdkerrors "cosmossdk.io/errors" sdk "github.com/cosmos/cosmos-sdk/types" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/cosmos/cosmos-sdk/types/errors" ) const TypeMsgChangeArtist = "change_artist" @@ -41,7 +42,7 @@ func (msg *MsgChangeArtist) GetSignBytes() []byte { func (msg *MsgChangeArtist) ValidateBasic() error { _, err := sdk.AccAddressFromBech32(msg.Creator) if err != nil { - return sdkerrors.Wrapf(sdkerrors.ErrInvalidAddress, "invalid creator address (%s)", err) + return sdkerrors.Wrapf(errors.ErrInvalidAddress, "invalid creator address (%s)", err) } return nil } diff --git a/x/cardchain/types/message_change_artist_test.go b/x/cardchain/types/message_change_artist_test.go index 8fb1d4f1..2e720c72 100644 --- a/x/cardchain/types/message_change_artist_test.go +++ b/x/cardchain/types/message_change_artist_test.go @@ -4,7 +4,7 @@ import ( "testing" "github.com/DecentralCardGame/Cardchain/testutil/sample" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/cosmos/cosmos-sdk/types/errors" "github.com/stretchr/testify/require" ) @@ -19,7 +19,7 @@ func TestMsgChangeArtist_ValidateBasic(t *testing.T) { msg: MsgChangeArtist{ Creator: "invalid_address", }, - err: sdkerrors.ErrInvalidAddress, + err: errors.ErrInvalidAddress, }, { name: "valid address", msg: MsgChangeArtist{ diff --git a/x/cardchain/types/message_commit_council_response.go b/x/cardchain/types/message_commit_council_response.go index 435c433a..65c062df 100644 --- a/x/cardchain/types/message_commit_council_response.go +++ b/x/cardchain/types/message_commit_council_response.go @@ -1,8 +1,9 @@ package types import ( + sdkerrors "cosmossdk.io/errors" sdk "github.com/cosmos/cosmos-sdk/types" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/cosmos/cosmos-sdk/types/errors" ) const TypeMsgCommitCouncilResponse = "commit_council_response" @@ -42,7 +43,7 @@ func (msg *MsgCommitCouncilResponse) GetSignBytes() []byte { func (msg *MsgCommitCouncilResponse) ValidateBasic() error { _, err := sdk.AccAddressFromBech32(msg.Creator) if err != nil { - return sdkerrors.Wrapf(sdkerrors.ErrInvalidAddress, "invalid creator address (%s)", err) + return sdkerrors.Wrapf(errors.ErrInvalidAddress, "invalid creator address (%s)", err) } return nil } diff --git a/x/cardchain/types/message_commit_council_response_test.go b/x/cardchain/types/message_commit_council_response_test.go index 4d84b27e..8199b181 100644 --- a/x/cardchain/types/message_commit_council_response_test.go +++ b/x/cardchain/types/message_commit_council_response_test.go @@ -4,7 +4,7 @@ import ( "testing" "github.com/DecentralCardGame/Cardchain/testutil/sample" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/cosmos/cosmos-sdk/types/errors" "github.com/stretchr/testify/require" ) @@ -19,7 +19,7 @@ func TestMsgCommitCouncilResponse_ValidateBasic(t *testing.T) { msg: MsgCommitCouncilResponse{ Creator: "invalid_address", }, - err: sdkerrors.ErrInvalidAddress, + err: errors.ErrInvalidAddress, }, { name: "valid address", msg: MsgCommitCouncilResponse{ diff --git a/x/cardchain/types/message_confirm_match.go b/x/cardchain/types/message_confirm_match.go index 95aa1511..b526f8dc 100644 --- a/x/cardchain/types/message_confirm_match.go +++ b/x/cardchain/types/message_confirm_match.go @@ -1,8 +1,9 @@ package types import ( + sdkerrors "cosmossdk.io/errors" sdk "github.com/cosmos/cosmos-sdk/types" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/cosmos/cosmos-sdk/types/errors" ) const TypeMsgConfirmMatch = "confirm_match" @@ -41,7 +42,7 @@ func (msg *MsgConfirmMatch) GetSignBytes() []byte { func (msg *MsgConfirmMatch) ValidateBasic() error { _, err := sdk.AccAddressFromBech32(msg.Creator) if err != nil { - return sdkerrors.Wrapf(sdkerrors.ErrInvalidAddress, "invalid creator address (%s)", err) + return sdkerrors.Wrapf(errors.ErrInvalidAddress, "invalid creator address (%s)", err) } return nil } diff --git a/x/cardchain/types/message_confirm_match_test.go b/x/cardchain/types/message_confirm_match_test.go index 3e8df40f..60a05156 100644 --- a/x/cardchain/types/message_confirm_match_test.go +++ b/x/cardchain/types/message_confirm_match_test.go @@ -4,7 +4,7 @@ import ( "testing" "github.com/DecentralCardGame/Cardchain/testutil/sample" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/cosmos/cosmos-sdk/types/errors" "github.com/stretchr/testify/require" ) @@ -19,7 +19,7 @@ func TestMsgConfirmMatch_ValidateBasic(t *testing.T) { msg: MsgConfirmMatch{ Creator: "invalid_address", }, - err: sdkerrors.ErrInvalidAddress, + err: errors.ErrInvalidAddress, }, { name: "valid address", msg: MsgConfirmMatch{ diff --git a/x/cardchain/types/message_create_collection.go b/x/cardchain/types/message_create_collection.go deleted file mode 100644 index b24bbf01..00000000 --- a/x/cardchain/types/message_create_collection.go +++ /dev/null @@ -1,49 +0,0 @@ -package types - -import ( - sdk "github.com/cosmos/cosmos-sdk/types" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" -) - -const TypeMsgCreateCollection = "create_collection" - -var _ sdk.Msg = &MsgCreateCollection{} - -func NewMsgCreateCollection(creator string, name string, artist string, storyWriter string, contributors []string) *MsgCreateCollection { - return &MsgCreateCollection{ - Creator: creator, - Name: name, - Artist: artist, - StoryWriter: storyWriter, - Contributors: contributors, - } -} - -func (msg *MsgCreateCollection) Route() string { - return RouterKey -} - -func (msg *MsgCreateCollection) Type() string { - return TypeMsgCreateCollection -} - -func (msg *MsgCreateCollection) GetSigners() []sdk.AccAddress { - creator, err := sdk.AccAddressFromBech32(msg.Creator) - if err != nil { - panic(err) - } - return []sdk.AccAddress{creator} -} - -func (msg *MsgCreateCollection) GetSignBytes() []byte { - bz := ModuleCdc.MustMarshalJSON(msg) - return sdk.MustSortJSON(bz) -} - -func (msg *MsgCreateCollection) ValidateBasic() error { - _, err := sdk.AccAddressFromBech32(msg.Creator) - if err != nil { - return sdkerrors.Wrapf(sdkerrors.ErrInvalidAddress, "invalid creator address (%s)", err) - } - return nil -} diff --git a/x/cardchain/types/message_create_council.go b/x/cardchain/types/message_create_council.go index befdceb3..5aadd9a4 100644 --- a/x/cardchain/types/message_create_council.go +++ b/x/cardchain/types/message_create_council.go @@ -1,8 +1,9 @@ package types import ( + sdkerrors "cosmossdk.io/errors" sdk "github.com/cosmos/cosmos-sdk/types" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/cosmos/cosmos-sdk/types/errors" ) const TypeMsgCreateCouncil = "create_council" @@ -40,7 +41,7 @@ func (msg *MsgCreateCouncil) GetSignBytes() []byte { func (msg *MsgCreateCouncil) ValidateBasic() error { _, err := sdk.AccAddressFromBech32(msg.Creator) if err != nil { - return sdkerrors.Wrapf(sdkerrors.ErrInvalidAddress, "invalid creator address (%s)", err) + return sdkerrors.Wrapf(errors.ErrInvalidAddress, "invalid creator address (%s)", err) } return nil } diff --git a/x/cardchain/types/message_create_council_test.go b/x/cardchain/types/message_create_council_test.go index 6dd553c5..607e7987 100644 --- a/x/cardchain/types/message_create_council_test.go +++ b/x/cardchain/types/message_create_council_test.go @@ -4,7 +4,7 @@ import ( "testing" "github.com/DecentralCardGame/Cardchain/testutil/sample" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/cosmos/cosmos-sdk/types/errors" "github.com/stretchr/testify/require" ) @@ -19,7 +19,7 @@ func TestMsgCreateCouncil_ValidateBasic(t *testing.T) { msg: MsgCreateCouncil{ Creator: "invalid_address", }, - err: sdkerrors.ErrInvalidAddress, + err: errors.ErrInvalidAddress, }, { name: "valid address", msg: MsgCreateCouncil{ diff --git a/x/cardchain/types/message_create_sell_offer.go b/x/cardchain/types/message_create_sell_offer.go index a9b6758d..4e9bd33a 100644 --- a/x/cardchain/types/message_create_sell_offer.go +++ b/x/cardchain/types/message_create_sell_offer.go @@ -1,8 +1,9 @@ package types import ( + sdkerrors "cosmossdk.io/errors" sdk "github.com/cosmos/cosmos-sdk/types" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/cosmos/cosmos-sdk/types/errors" ) const TypeMsgCreateSellOffer = "create_sell_offer" @@ -41,7 +42,7 @@ func (msg *MsgCreateSellOffer) GetSignBytes() []byte { func (msg *MsgCreateSellOffer) ValidateBasic() error { _, err := sdk.AccAddressFromBech32(msg.Creator) if err != nil { - return sdkerrors.Wrapf(sdkerrors.ErrInvalidAddress, "invalid creator address (%s)", err) + return sdkerrors.Wrapf(errors.ErrInvalidAddress, "invalid creator address (%s)", err) } return nil } diff --git a/x/cardchain/types/message_create_sell_offer_test.go b/x/cardchain/types/message_create_sell_offer_test.go index 449c9261..1fb520d3 100644 --- a/x/cardchain/types/message_create_sell_offer_test.go +++ b/x/cardchain/types/message_create_sell_offer_test.go @@ -4,7 +4,7 @@ import ( "testing" "github.com/DecentralCardGame/Cardchain/testutil/sample" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/cosmos/cosmos-sdk/types/errors" "github.com/stretchr/testify/require" ) @@ -19,7 +19,7 @@ func TestMsgCreateSellOffer_ValidateBasic(t *testing.T) { msg: MsgCreateSellOffer{ Creator: "invalid_address", }, - err: sdkerrors.ErrInvalidAddress, + err: errors.ErrInvalidAddress, }, { name: "valid address", msg: MsgCreateSellOffer{ diff --git a/x/cardchain/types/message_create_set.go b/x/cardchain/types/message_create_set.go new file mode 100644 index 00000000..ea924166 --- /dev/null +++ b/x/cardchain/types/message_create_set.go @@ -0,0 +1,50 @@ +package types + +import ( + sdkerrors "cosmossdk.io/errors" + sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/cosmos/cosmos-sdk/types/errors" +) + +const TypeMsgCreateSet = "create_set" + +var _ sdk.Msg = &MsgCreateSet{} + +func NewMsgCreateSet(creator string, name string, artist string, storyWriter string, contributors []string) *MsgCreateSet { + return &MsgCreateSet{ + Creator: creator, + Name: name, + Artist: artist, + StoryWriter: storyWriter, + Contributors: contributors, + } +} + +func (msg *MsgCreateSet) Route() string { + return RouterKey +} + +func (msg *MsgCreateSet) Type() string { + return TypeMsgCreateSet +} + +func (msg *MsgCreateSet) GetSigners() []sdk.AccAddress { + creator, err := sdk.AccAddressFromBech32(msg.Creator) + if err != nil { + panic(err) + } + return []sdk.AccAddress{creator} +} + +func (msg *MsgCreateSet) GetSignBytes() []byte { + bz := ModuleCdc.MustMarshalJSON(msg) + return sdk.MustSortJSON(bz) +} + +func (msg *MsgCreateSet) ValidateBasic() error { + _, err := sdk.AccAddressFromBech32(msg.Creator) + if err != nil { + return sdkerrors.Wrapf(errors.ErrInvalidAddress, "invalid creator address (%s)", err) + } + return nil +} diff --git a/x/cardchain/types/message_create_set_test.go b/x/cardchain/types/message_create_set_test.go new file mode 100644 index 00000000..b8fc6411 --- /dev/null +++ b/x/cardchain/types/message_create_set_test.go @@ -0,0 +1,40 @@ +package types + +import ( + "testing" + + "github.com/DecentralCardGame/Cardchain/testutil/sample" + "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/stretchr/testify/require" +) + +func TestMsgCreateSet_ValidateBasic(t *testing.T) { + tests := []struct { + name string + msg MsgCreateSet + err error + }{ + { + name: "invalid address", + msg: MsgCreateSet{ + Creator: "invalid_address", + }, + err: errors.ErrInvalidAddress, + }, { + name: "valid address", + msg: MsgCreateSet{ + Creator: sample.AccAddress(), + }, + }, + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + err := tt.msg.ValidateBasic() + if tt.err != nil { + require.ErrorIs(t, err, tt.err) + return + } + require.NoError(t, err) + }) + } +} diff --git a/x/cardchain/types/message_createuser.go b/x/cardchain/types/message_createuser.go index 8e4e3d27..2568eb6f 100644 --- a/x/cardchain/types/message_createuser.go +++ b/x/cardchain/types/message_createuser.go @@ -1,8 +1,9 @@ package types import ( + sdkerrors "cosmossdk.io/errors" sdk "github.com/cosmos/cosmos-sdk/types" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/cosmos/cosmos-sdk/types/errors" ) const TypeMsgCreateuser = "createuser" @@ -49,7 +50,7 @@ func (msg *MsgCreateuser) GetSignBytes() []byte { func (msg *MsgCreateuser) ValidateBasic() error { _, err := sdk.AccAddressFromBech32(msg.Creator) if err != nil { - return sdkerrors.Wrapf(sdkerrors.ErrInvalidAddress, "invalid creator address (%s)", err) + return sdkerrors.Wrapf(errors.ErrInvalidAddress, "invalid creator address (%s)", err) } return nil } diff --git a/x/cardchain/types/message_createuser_test.go b/x/cardchain/types/message_createuser_test.go index 574fb3c1..8ca9c5b7 100644 --- a/x/cardchain/types/message_createuser_test.go +++ b/x/cardchain/types/message_createuser_test.go @@ -4,7 +4,7 @@ import ( "testing" "github.com/DecentralCardGame/Cardchain/testutil/sample" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/cosmos/cosmos-sdk/types/errors" "github.com/stretchr/testify/require" ) @@ -19,7 +19,7 @@ func TestMsgCreateuser_ValidateBasic(t *testing.T) { msg: MsgCreateuser{ Creator: "invalid_address", }, - err: sdkerrors.ErrInvalidAddress, + err: errors.ErrInvalidAddress, }, { name: "valid address", msg: MsgCreateuser{ diff --git a/x/cardchain/types/message_donate_to_card.go b/x/cardchain/types/message_donate_to_card.go index ee6b1d59..b54ef0fe 100644 --- a/x/cardchain/types/message_donate_to_card.go +++ b/x/cardchain/types/message_donate_to_card.go @@ -1,8 +1,9 @@ package types import ( + sdkerrors "cosmossdk.io/errors" sdk "github.com/cosmos/cosmos-sdk/types" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/cosmos/cosmos-sdk/types/errors" ) const TypeMsgDonateToCard = "donate_to_card" @@ -41,7 +42,7 @@ func (msg *MsgDonateToCard) GetSignBytes() []byte { func (msg *MsgDonateToCard) ValidateBasic() error { _, err := sdk.AccAddressFromBech32(msg.Creator) if err != nil { - return sdkerrors.Wrapf(sdkerrors.ErrInvalidAddress, "invalid creator address (%s)", err) + return sdkerrors.Wrapf(errors.ErrInvalidAddress, "invalid creator address (%s)", err) } return nil } diff --git a/x/cardchain/types/message_donate_to_card_test.go b/x/cardchain/types/message_donate_to_card_test.go index e4604cc3..194c8305 100644 --- a/x/cardchain/types/message_donate_to_card_test.go +++ b/x/cardchain/types/message_donate_to_card_test.go @@ -4,7 +4,7 @@ import ( "testing" "github.com/DecentralCardGame/Cardchain/testutil/sample" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/cosmos/cosmos-sdk/types/errors" "github.com/stretchr/testify/require" ) @@ -19,7 +19,7 @@ func TestMsgDonateToCard_ValidateBasic(t *testing.T) { msg: MsgDonateToCard{ Creator: "invalid_address", }, - err: sdkerrors.ErrInvalidAddress, + err: errors.ErrInvalidAddress, }, { name: "valid address", msg: MsgDonateToCard{ diff --git a/x/cardchain/types/message_finalize_collection.go b/x/cardchain/types/message_finalize_collection.go deleted file mode 100644 index 8884074c..00000000 --- a/x/cardchain/types/message_finalize_collection.go +++ /dev/null @@ -1,46 +0,0 @@ -package types - -import ( - sdk "github.com/cosmos/cosmos-sdk/types" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" -) - -const TypeMsgFinalizeCollection = "finalize_collection" - -var _ sdk.Msg = &MsgFinalizeCollection{} - -func NewMsgFinalizeCollection(creator string, collectionId uint64) *MsgFinalizeCollection { - return &MsgFinalizeCollection{ - Creator: creator, - CollectionId: collectionId, - } -} - -func (msg *MsgFinalizeCollection) Route() string { - return RouterKey -} - -func (msg *MsgFinalizeCollection) Type() string { - return TypeMsgFinalizeCollection -} - -func (msg *MsgFinalizeCollection) GetSigners() []sdk.AccAddress { - creator, err := sdk.AccAddressFromBech32(msg.Creator) - if err != nil { - panic(err) - } - return []sdk.AccAddress{creator} -} - -func (msg *MsgFinalizeCollection) GetSignBytes() []byte { - bz := ModuleCdc.MustMarshalJSON(msg) - return sdk.MustSortJSON(bz) -} - -func (msg *MsgFinalizeCollection) ValidateBasic() error { - _, err := sdk.AccAddressFromBech32(msg.Creator) - if err != nil { - return sdkerrors.Wrapf(sdkerrors.ErrInvalidAddress, "invalid creator address (%s)", err) - } - return nil -} diff --git a/x/cardchain/types/message_finalize_set.go b/x/cardchain/types/message_finalize_set.go new file mode 100644 index 00000000..b232a164 --- /dev/null +++ b/x/cardchain/types/message_finalize_set.go @@ -0,0 +1,47 @@ +package types + +import ( + sdkerrors "cosmossdk.io/errors" + sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/cosmos/cosmos-sdk/types/errors" +) + +const TypeMsgFinalizeSet = "finalize_set" + +var _ sdk.Msg = &MsgFinalizeSet{} + +func NewMsgFinalizeSet(creator string, setId uint64) *MsgFinalizeSet { + return &MsgFinalizeSet{ + Creator: creator, + SetId: setId, + } +} + +func (msg *MsgFinalizeSet) Route() string { + return RouterKey +} + +func (msg *MsgFinalizeSet) Type() string { + return TypeMsgFinalizeSet +} + +func (msg *MsgFinalizeSet) GetSigners() []sdk.AccAddress { + creator, err := sdk.AccAddressFromBech32(msg.Creator) + if err != nil { + panic(err) + } + return []sdk.AccAddress{creator} +} + +func (msg *MsgFinalizeSet) GetSignBytes() []byte { + bz := ModuleCdc.MustMarshalJSON(msg) + return sdk.MustSortJSON(bz) +} + +func (msg *MsgFinalizeSet) ValidateBasic() error { + _, err := sdk.AccAddressFromBech32(msg.Creator) + if err != nil { + return sdkerrors.Wrapf(errors.ErrInvalidAddress, "invalid creator address (%s)", err) + } + return nil +} diff --git a/x/cardchain/types/message_finalize_set_test.go b/x/cardchain/types/message_finalize_set_test.go new file mode 100644 index 00000000..9121e7e3 --- /dev/null +++ b/x/cardchain/types/message_finalize_set_test.go @@ -0,0 +1,40 @@ +package types + +import ( + "testing" + + "github.com/DecentralCardGame/Cardchain/testutil/sample" + "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/stretchr/testify/require" +) + +func TestMsgFinalizeSet_ValidateBasic(t *testing.T) { + tests := []struct { + name string + msg MsgFinalizeSet + err error + }{ + { + name: "invalid address", + msg: MsgFinalizeSet{ + Creator: "invalid_address", + }, + err: errors.ErrInvalidAddress, + }, { + name: "valid address", + msg: MsgFinalizeSet{ + Creator: sample.AccAddress(), + }, + }, + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + err := tt.msg.ValidateBasic() + if tt.err != nil { + require.ErrorIs(t, err, tt.err) + return + } + require.NoError(t, err) + }) + } +} diff --git a/x/cardchain/types/message_msg_open_match.go b/x/cardchain/types/message_msg_open_match.go new file mode 100644 index 00000000..917a5bc8 --- /dev/null +++ b/x/cardchain/types/message_msg_open_match.go @@ -0,0 +1,49 @@ +package types + +import ( + sdk "github.com/cosmos/cosmos-sdk/types" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" +) + +const TypeMsgOpenMatch = "msg_open_match" + +var _ sdk.Msg = &MsgOpenMatch{} + +func NewMsgOpenMatch(creator string, playerA string, playerB string, playerADeck []uint64, playerBDeck []uint64) *MsgOpenMatch { + return &MsgOpenMatch{ + Creator: creator, + PlayerA: playerA, + PlayerB: playerB, + PlayerADeck: playerADeck, + PlayerBDeck: playerBDeck, + } +} + +func (msg *MsgOpenMatch) Route() string { + return RouterKey +} + +func (msg *MsgOpenMatch) Type() string { + return TypeMsgOpenMatch +} + +func (msg *MsgOpenMatch) GetSigners() []sdk.AccAddress { + creator, err := sdk.AccAddressFromBech32(msg.Creator) + if err != nil { + panic(err) + } + return []sdk.AccAddress{creator} +} + +func (msg *MsgOpenMatch) GetSignBytes() []byte { + bz := ModuleCdc.MustMarshalJSON(msg) + return sdk.MustSortJSON(bz) +} + +func (msg *MsgOpenMatch) ValidateBasic() error { + _, err := sdk.AccAddressFromBech32(msg.Creator) + if err != nil { + return sdkerrors.Wrapf(sdkerrors.ErrInvalidAddress, "invalid creator address (%s)", err) + } + return nil +} diff --git a/x/cardchain/types/message_buy_collection_test.go b/x/cardchain/types/message_msg_open_match_test.go similarity index 82% rename from x/cardchain/types/message_buy_collection_test.go rename to x/cardchain/types/message_msg_open_match_test.go index 3ac41043..ea6cf567 100644 --- a/x/cardchain/types/message_buy_collection_test.go +++ b/x/cardchain/types/message_msg_open_match_test.go @@ -8,21 +8,21 @@ import ( "github.com/stretchr/testify/require" ) -func TestMsgBuyCollection_ValidateBasic(t *testing.T) { +func TestMsgOpenMatch_ValidateBasic(t *testing.T) { tests := []struct { name string - msg MsgBuyCollection + msg MsgOpenMatch err error }{ { name: "invalid address", - msg: MsgBuyCollection{ + msg: MsgOpenMatch{ Creator: "invalid_address", }, err: sdkerrors.ErrInvalidAddress, }, { name: "valid address", - msg: MsgBuyCollection{ + msg: MsgOpenMatch{ Creator: sample.AccAddress(), }, }, diff --git a/x/cardchain/types/message_multi_vote_card.go b/x/cardchain/types/message_multi_vote_card.go new file mode 100644 index 00000000..77c89e49 --- /dev/null +++ b/x/cardchain/types/message_multi_vote_card.go @@ -0,0 +1,46 @@ +package types + +import ( + sdkerrors "cosmossdk.io/errors" + sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/cosmos/cosmos-sdk/types/errors" +) + +const TypeMsgMultiVoteCard = "multi_vote_card" + +var _ sdk.Msg = &MsgMultiVoteCard{} + +func NewMsgMultiVoteCard(creator string) *MsgMultiVoteCard { + return &MsgMultiVoteCard{ + Creator: creator, + } +} + +func (msg *MsgMultiVoteCard) Route() string { + return RouterKey +} + +func (msg *MsgMultiVoteCard) Type() string { + return TypeMsgMultiVoteCard +} + +func (msg *MsgMultiVoteCard) GetSigners() []sdk.AccAddress { + creator, err := sdk.AccAddressFromBech32(msg.Creator) + if err != nil { + panic(err) + } + return []sdk.AccAddress{creator} +} + +func (msg *MsgMultiVoteCard) GetSignBytes() []byte { + bz := ModuleCdc.MustMarshalJSON(msg) + return sdk.MustSortJSON(bz) +} + +func (msg *MsgMultiVoteCard) ValidateBasic() error { + _, err := sdk.AccAddressFromBech32(msg.Creator) + if err != nil { + return sdkerrors.Wrapf(errors.ErrInvalidAddress, "invalid creator address (%s)", err) + } + return nil +} diff --git a/x/cardchain/types/message_multi_vote_card_test.go b/x/cardchain/types/message_multi_vote_card_test.go new file mode 100644 index 00000000..9dc82004 --- /dev/null +++ b/x/cardchain/types/message_multi_vote_card_test.go @@ -0,0 +1,40 @@ +package types + +import ( + "testing" + + "github.com/DecentralCardGame/Cardchain/testutil/sample" + "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/stretchr/testify/require" +) + +func TestMsgMultiVoteCard_ValidateBasic(t *testing.T) { + tests := []struct { + name string + msg MsgMultiVoteCard + err error + }{ + { + name: "invalid address", + msg: MsgMultiVoteCard{ + Creator: "invalid_address", + }, + err: errors.ErrInvalidAddress, + }, { + name: "valid address", + msg: MsgMultiVoteCard{ + Creator: sample.AccAddress(), + }, + }, + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + err := tt.msg.ValidateBasic() + if tt.err != nil { + require.ErrorIs(t, err, tt.err) + return + } + require.NoError(t, err) + }) + } +} diff --git a/x/cardchain/types/message_open_booster_pack.go b/x/cardchain/types/message_open_booster_pack.go index eae4956a..1d6b4c61 100644 --- a/x/cardchain/types/message_open_booster_pack.go +++ b/x/cardchain/types/message_open_booster_pack.go @@ -1,8 +1,9 @@ package types import ( + sdkerrors "cosmossdk.io/errors" sdk "github.com/cosmos/cosmos-sdk/types" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/cosmos/cosmos-sdk/types/errors" ) const TypeMsgOpenBoosterPack = "open_booster_pack" @@ -40,7 +41,7 @@ func (msg *MsgOpenBoosterPack) GetSignBytes() []byte { func (msg *MsgOpenBoosterPack) ValidateBasic() error { _, err := sdk.AccAddressFromBech32(msg.Creator) if err != nil { - return sdkerrors.Wrapf(sdkerrors.ErrInvalidAddress, "invalid creator address (%s)", err) + return sdkerrors.Wrapf(errors.ErrInvalidAddress, "invalid creator address (%s)", err) } return nil } diff --git a/x/cardchain/types/message_open_booster_pack_test.go b/x/cardchain/types/message_open_booster_pack_test.go index fb90d54e..0921ebab 100644 --- a/x/cardchain/types/message_open_booster_pack_test.go +++ b/x/cardchain/types/message_open_booster_pack_test.go @@ -4,7 +4,7 @@ import ( "testing" "github.com/DecentralCardGame/Cardchain/testutil/sample" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/cosmos/cosmos-sdk/types/errors" "github.com/stretchr/testify/require" ) @@ -19,7 +19,7 @@ func TestMsgOpenBoosterPack_ValidateBasic(t *testing.T) { msg: MsgOpenBoosterPack{ Creator: "invalid_address", }, - err: sdkerrors.ErrInvalidAddress, + err: errors.ErrInvalidAddress, }, { name: "valid address", msg: MsgOpenBoosterPack{ diff --git a/x/cardchain/types/message_register_for_council.go b/x/cardchain/types/message_register_for_council.go index b25cc103..7e3d186c 100644 --- a/x/cardchain/types/message_register_for_council.go +++ b/x/cardchain/types/message_register_for_council.go @@ -1,8 +1,9 @@ package types import ( + sdkerrors "cosmossdk.io/errors" sdk "github.com/cosmos/cosmos-sdk/types" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/cosmos/cosmos-sdk/types/errors" ) const TypeMsgRegisterForCouncil = "register_for_council" @@ -39,7 +40,7 @@ func (msg *MsgRegisterForCouncil) GetSignBytes() []byte { func (msg *MsgRegisterForCouncil) ValidateBasic() error { _, err := sdk.AccAddressFromBech32(msg.Creator) if err != nil { - return sdkerrors.Wrapf(sdkerrors.ErrInvalidAddress, "invalid creator address (%s)", err) + return sdkerrors.Wrapf(errors.ErrInvalidAddress, "invalid creator address (%s)", err) } return nil } diff --git a/x/cardchain/types/message_register_for_council_test.go b/x/cardchain/types/message_register_for_council_test.go index b2854f30..66cf6382 100644 --- a/x/cardchain/types/message_register_for_council_test.go +++ b/x/cardchain/types/message_register_for_council_test.go @@ -4,7 +4,7 @@ import ( "testing" "github.com/DecentralCardGame/Cardchain/testutil/sample" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/cosmos/cosmos-sdk/types/errors" "github.com/stretchr/testify/require" ) @@ -19,7 +19,7 @@ func TestMsgRegisterForCouncil_ValidateBasic(t *testing.T) { msg: MsgRegisterForCouncil{ Creator: "invalid_address", }, - err: sdkerrors.ErrInvalidAddress, + err: errors.ErrInvalidAddress, }, { name: "valid address", msg: MsgRegisterForCouncil{ diff --git a/x/cardchain/types/message_remove_card_from_collection.go b/x/cardchain/types/message_remove_card_from_collection.go deleted file mode 100644 index bf48b5e8..00000000 --- a/x/cardchain/types/message_remove_card_from_collection.go +++ /dev/null @@ -1,47 +0,0 @@ -package types - -import ( - sdk "github.com/cosmos/cosmos-sdk/types" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" -) - -const TypeMsgRemoveCardFromCollection = "remove_card_from_collection" - -var _ sdk.Msg = &MsgRemoveCardFromCollection{} - -func NewMsgRemoveCardFromCollection(creator string, collectionId uint64, cardId uint64) *MsgRemoveCardFromCollection { - return &MsgRemoveCardFromCollection{ - Creator: creator, - CollectionId: collectionId, - CardId: cardId, - } -} - -func (msg *MsgRemoveCardFromCollection) Route() string { - return RouterKey -} - -func (msg *MsgRemoveCardFromCollection) Type() string { - return TypeMsgRemoveCardFromCollection -} - -func (msg *MsgRemoveCardFromCollection) GetSigners() []sdk.AccAddress { - creator, err := sdk.AccAddressFromBech32(msg.Creator) - if err != nil { - panic(err) - } - return []sdk.AccAddress{creator} -} - -func (msg *MsgRemoveCardFromCollection) GetSignBytes() []byte { - bz := ModuleCdc.MustMarshalJSON(msg) - return sdk.MustSortJSON(bz) -} - -func (msg *MsgRemoveCardFromCollection) ValidateBasic() error { - _, err := sdk.AccAddressFromBech32(msg.Creator) - if err != nil { - return sdkerrors.Wrapf(sdkerrors.ErrInvalidAddress, "invalid creator address (%s)", err) - } - return nil -} diff --git a/x/cardchain/types/message_remove_card_from_collection_test.go b/x/cardchain/types/message_remove_card_from_collection_test.go deleted file mode 100644 index cf2cd460..00000000 --- a/x/cardchain/types/message_remove_card_from_collection_test.go +++ /dev/null @@ -1,40 +0,0 @@ -package types - -import ( - "testing" - - "github.com/DecentralCardGame/Cardchain/testutil/sample" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - "github.com/stretchr/testify/require" -) - -func TestMsgRemoveCardFromCollection_ValidateBasic(t *testing.T) { - tests := []struct { - name string - msg MsgRemoveCardFromCollection - err error - }{ - { - name: "invalid address", - msg: MsgRemoveCardFromCollection{ - Creator: "invalid_address", - }, - err: sdkerrors.ErrInvalidAddress, - }, { - name: "valid address", - msg: MsgRemoveCardFromCollection{ - Creator: sample.AccAddress(), - }, - }, - } - for _, tt := range tests { - t.Run(tt.name, func(t *testing.T) { - err := tt.msg.ValidateBasic() - if tt.err != nil { - require.ErrorIs(t, err, tt.err) - return - } - require.NoError(t, err) - }) - } -} diff --git a/x/cardchain/types/message_remove_card_from_set.go b/x/cardchain/types/message_remove_card_from_set.go new file mode 100644 index 00000000..99cc98f6 --- /dev/null +++ b/x/cardchain/types/message_remove_card_from_set.go @@ -0,0 +1,48 @@ +package types + +import ( + sdkerrors "cosmossdk.io/errors" + sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/cosmos/cosmos-sdk/types/errors" +) + +const TypeMsgRemoveCardFromSet = "remove_card_from_set" + +var _ sdk.Msg = &MsgRemoveCardFromSet{} + +func NewMsgRemoveCardFromSet(creator string, setId uint64, cardId uint64) *MsgRemoveCardFromSet { + return &MsgRemoveCardFromSet{ + Creator: creator, + SetId: setId, + CardId: cardId, + } +} + +func (msg *MsgRemoveCardFromSet) Route() string { + return RouterKey +} + +func (msg *MsgRemoveCardFromSet) Type() string { + return TypeMsgRemoveCardFromSet +} + +func (msg *MsgRemoveCardFromSet) GetSigners() []sdk.AccAddress { + creator, err := sdk.AccAddressFromBech32(msg.Creator) + if err != nil { + panic(err) + } + return []sdk.AccAddress{creator} +} + +func (msg *MsgRemoveCardFromSet) GetSignBytes() []byte { + bz := ModuleCdc.MustMarshalJSON(msg) + return sdk.MustSortJSON(bz) +} + +func (msg *MsgRemoveCardFromSet) ValidateBasic() error { + _, err := sdk.AccAddressFromBech32(msg.Creator) + if err != nil { + return sdkerrors.Wrapf(errors.ErrInvalidAddress, "invalid creator address (%s)", err) + } + return nil +} diff --git a/x/cardchain/types/message_remove_card_from_set_test.go b/x/cardchain/types/message_remove_card_from_set_test.go new file mode 100644 index 00000000..79518ffd --- /dev/null +++ b/x/cardchain/types/message_remove_card_from_set_test.go @@ -0,0 +1,40 @@ +package types + +import ( + "testing" + + "github.com/DecentralCardGame/Cardchain/testutil/sample" + "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/stretchr/testify/require" +) + +func TestMsgRemoveCardFromSet_ValidateBasic(t *testing.T) { + tests := []struct { + name string + msg MsgRemoveCardFromSet + err error + }{ + { + name: "invalid address", + msg: MsgRemoveCardFromSet{ + Creator: "invalid_address", + }, + err: errors.ErrInvalidAddress, + }, { + name: "valid address", + msg: MsgRemoveCardFromSet{ + Creator: sample.AccAddress(), + }, + }, + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + err := tt.msg.ValidateBasic() + if tt.err != nil { + require.ErrorIs(t, err, tt.err) + return + } + require.NoError(t, err) + }) + } +} diff --git a/x/cardchain/types/message_remove_contributor_from_collection.go b/x/cardchain/types/message_remove_contributor_from_collection.go deleted file mode 100644 index 81f230ad..00000000 --- a/x/cardchain/types/message_remove_contributor_from_collection.go +++ /dev/null @@ -1,47 +0,0 @@ -package types - -import ( - sdk "github.com/cosmos/cosmos-sdk/types" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" -) - -const TypeMsgRemoveContributorFromCollection = "remove_contributor_from_collection" - -var _ sdk.Msg = &MsgRemoveContributorFromCollection{} - -func NewMsgRemoveContributorFromCollection(creator string, collectionId uint64, user string) *MsgRemoveContributorFromCollection { - return &MsgRemoveContributorFromCollection{ - Creator: creator, - CollectionId: collectionId, - User: user, - } -} - -func (msg *MsgRemoveContributorFromCollection) Route() string { - return RouterKey -} - -func (msg *MsgRemoveContributorFromCollection) Type() string { - return TypeMsgRemoveContributorFromCollection -} - -func (msg *MsgRemoveContributorFromCollection) GetSigners() []sdk.AccAddress { - creator, err := sdk.AccAddressFromBech32(msg.Creator) - if err != nil { - panic(err) - } - return []sdk.AccAddress{creator} -} - -func (msg *MsgRemoveContributorFromCollection) GetSignBytes() []byte { - bz := ModuleCdc.MustMarshalJSON(msg) - return sdk.MustSortJSON(bz) -} - -func (msg *MsgRemoveContributorFromCollection) ValidateBasic() error { - _, err := sdk.AccAddressFromBech32(msg.Creator) - if err != nil { - return sdkerrors.Wrapf(sdkerrors.ErrInvalidAddress, "invalid creator address (%s)", err) - } - return nil -} diff --git a/x/cardchain/types/message_remove_contributor_from_collection_test.go b/x/cardchain/types/message_remove_contributor_from_collection_test.go deleted file mode 100644 index 402b7a60..00000000 --- a/x/cardchain/types/message_remove_contributor_from_collection_test.go +++ /dev/null @@ -1,40 +0,0 @@ -package types - -import ( - "testing" - - "github.com/DecentralCardGame/Cardchain/testutil/sample" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - "github.com/stretchr/testify/require" -) - -func TestMsgRemoveContributorFromCollection_ValidateBasic(t *testing.T) { - tests := []struct { - name string - msg MsgRemoveContributorFromCollection - err error - }{ - { - name: "invalid address", - msg: MsgRemoveContributorFromCollection{ - Creator: "invalid_address", - }, - err: sdkerrors.ErrInvalidAddress, - }, { - name: "valid address", - msg: MsgRemoveContributorFromCollection{ - Creator: sample.AccAddress(), - }, - }, - } - for _, tt := range tests { - t.Run(tt.name, func(t *testing.T) { - err := tt.msg.ValidateBasic() - if tt.err != nil { - require.ErrorIs(t, err, tt.err) - return - } - require.NoError(t, err) - }) - } -} diff --git a/x/cardchain/types/message_remove_contributor_from_set.go b/x/cardchain/types/message_remove_contributor_from_set.go new file mode 100644 index 00000000..76047d16 --- /dev/null +++ b/x/cardchain/types/message_remove_contributor_from_set.go @@ -0,0 +1,48 @@ +package types + +import ( + sdkerrors "cosmossdk.io/errors" + sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/cosmos/cosmos-sdk/types/errors" +) + +const TypeMsgRemoveContributorFromSet = "remove_contributor_from_set" + +var _ sdk.Msg = &MsgRemoveContributorFromSet{} + +func NewMsgRemoveContributorFromSet(creator string, setId uint64, user string) *MsgRemoveContributorFromSet { + return &MsgRemoveContributorFromSet{ + Creator: creator, + SetId: setId, + User: user, + } +} + +func (msg *MsgRemoveContributorFromSet) Route() string { + return RouterKey +} + +func (msg *MsgRemoveContributorFromSet) Type() string { + return TypeMsgRemoveContributorFromSet +} + +func (msg *MsgRemoveContributorFromSet) GetSigners() []sdk.AccAddress { + creator, err := sdk.AccAddressFromBech32(msg.Creator) + if err != nil { + panic(err) + } + return []sdk.AccAddress{creator} +} + +func (msg *MsgRemoveContributorFromSet) GetSignBytes() []byte { + bz := ModuleCdc.MustMarshalJSON(msg) + return sdk.MustSortJSON(bz) +} + +func (msg *MsgRemoveContributorFromSet) ValidateBasic() error { + _, err := sdk.AccAddressFromBech32(msg.Creator) + if err != nil { + return sdkerrors.Wrapf(errors.ErrInvalidAddress, "invalid creator address (%s)", err) + } + return nil +} diff --git a/x/cardchain/types/message_add_story_to_collection_test.go b/x/cardchain/types/message_remove_contributor_from_set_test.go similarity index 68% rename from x/cardchain/types/message_add_story_to_collection_test.go rename to x/cardchain/types/message_remove_contributor_from_set_test.go index 1c32732f..1ffde038 100644 --- a/x/cardchain/types/message_add_story_to_collection_test.go +++ b/x/cardchain/types/message_remove_contributor_from_set_test.go @@ -4,25 +4,25 @@ import ( "testing" "github.com/DecentralCardGame/Cardchain/testutil/sample" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/cosmos/cosmos-sdk/types/errors" "github.com/stretchr/testify/require" ) -func TestMsgAddStoryToCollection_ValidateBasic(t *testing.T) { +func TestMsgRemoveContributorFromSet_ValidateBasic(t *testing.T) { tests := []struct { name string - msg MsgAddStoryToCollection + msg MsgRemoveContributorFromSet err error }{ { name: "invalid address", - msg: MsgAddStoryToCollection{ + msg: MsgRemoveContributorFromSet{ Creator: "invalid_address", }, - err: sdkerrors.ErrInvalidAddress, + err: errors.ErrInvalidAddress, }, { name: "valid address", - msg: MsgAddStoryToCollection{ + msg: MsgRemoveContributorFromSet{ Creator: sample.AccAddress(), }, }, diff --git a/x/cardchain/types/message_remove_sell_offer.go b/x/cardchain/types/message_remove_sell_offer.go index 375b4c0c..1fdcf74c 100644 --- a/x/cardchain/types/message_remove_sell_offer.go +++ b/x/cardchain/types/message_remove_sell_offer.go @@ -1,8 +1,9 @@ package types import ( + sdkerrors "cosmossdk.io/errors" sdk "github.com/cosmos/cosmos-sdk/types" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/cosmos/cosmos-sdk/types/errors" ) const TypeMsgRemoveSellOffer = "remove_sell_offer" @@ -40,7 +41,7 @@ func (msg *MsgRemoveSellOffer) GetSignBytes() []byte { func (msg *MsgRemoveSellOffer) ValidateBasic() error { _, err := sdk.AccAddressFromBech32(msg.Creator) if err != nil { - return sdkerrors.Wrapf(sdkerrors.ErrInvalidAddress, "invalid creator address (%s)", err) + return sdkerrors.Wrapf(errors.ErrInvalidAddress, "invalid creator address (%s)", err) } return nil } diff --git a/x/cardchain/types/message_remove_sell_offer_test.go b/x/cardchain/types/message_remove_sell_offer_test.go index 48f7a36f..fa4d8ba9 100644 --- a/x/cardchain/types/message_remove_sell_offer_test.go +++ b/x/cardchain/types/message_remove_sell_offer_test.go @@ -4,7 +4,7 @@ import ( "testing" "github.com/DecentralCardGame/Cardchain/testutil/sample" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/cosmos/cosmos-sdk/types/errors" "github.com/stretchr/testify/require" ) @@ -19,7 +19,7 @@ func TestMsgRemoveSellOffer_ValidateBasic(t *testing.T) { msg: MsgRemoveSellOffer{ Creator: "invalid_address", }, - err: sdkerrors.ErrInvalidAddress, + err: errors.ErrInvalidAddress, }, { name: "valid address", msg: MsgRemoveSellOffer{ diff --git a/x/cardchain/types/message_report_match.go b/x/cardchain/types/message_report_match.go index 75d88028..e536b125 100644 --- a/x/cardchain/types/message_report_match.go +++ b/x/cardchain/types/message_report_match.go @@ -1,22 +1,22 @@ package types import ( + sdkerrors "cosmossdk.io/errors" sdk "github.com/cosmos/cosmos-sdk/types" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/cosmos/cosmos-sdk/types/errors" ) const TypeMsgReportMatch = "report_match" var _ sdk.Msg = &MsgReportMatch{} -func NewMsgReportMatch(creator string, playerA string, playerB string, cardsA []uint64, cardsB []uint64, outcome Outcome) *MsgReportMatch { +func NewMsgReportMatch(creator string, matchId uint64, cardsA []uint64, cardsB []uint64, outcome Outcome) *MsgReportMatch { return &MsgReportMatch{ - Creator: creator, - PlayerA: playerA, - PlayerB: playerB, - CardsA: cardsA, - CardsB: cardsB, - Outcome: outcome, + Creator: creator, + MatchId: matchId, + PlayedCardsA: cardsA, + PlayedCardsB: cardsB, + Outcome: outcome, } } @@ -44,7 +44,7 @@ func (msg *MsgReportMatch) GetSignBytes() []byte { func (msg *MsgReportMatch) ValidateBasic() error { _, err := sdk.AccAddressFromBech32(msg.Creator) if err != nil { - return sdkerrors.Wrapf(sdkerrors.ErrInvalidAddress, "invalid creator address (%s)", err) + return sdkerrors.Wrapf(errors.ErrInvalidAddress, "invalid creator address (%s)", err) } return nil } diff --git a/x/cardchain/types/message_report_match_test.go b/x/cardchain/types/message_report_match_test.go index b6194c24..5945be8e 100644 --- a/x/cardchain/types/message_report_match_test.go +++ b/x/cardchain/types/message_report_match_test.go @@ -4,7 +4,7 @@ import ( "testing" "github.com/DecentralCardGame/Cardchain/testutil/sample" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/cosmos/cosmos-sdk/types/errors" "github.com/stretchr/testify/require" ) @@ -19,7 +19,7 @@ func TestMsgReportMatch_ValidateBasic(t *testing.T) { msg: MsgReportMatch{ Creator: "invalid_address", }, - err: sdkerrors.ErrInvalidAddress, + err: errors.ErrInvalidAddress, }, { name: "valid address", msg: MsgReportMatch{ diff --git a/x/cardchain/types/message_restart_council.go b/x/cardchain/types/message_restart_council.go index fe273566..170d6ea3 100644 --- a/x/cardchain/types/message_restart_council.go +++ b/x/cardchain/types/message_restart_council.go @@ -1,8 +1,9 @@ package types import ( + sdkerrors "cosmossdk.io/errors" sdk "github.com/cosmos/cosmos-sdk/types" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/cosmos/cosmos-sdk/types/errors" ) const TypeMsgRestartCouncil = "restart_council" @@ -40,7 +41,7 @@ func (msg *MsgRestartCouncil) GetSignBytes() []byte { func (msg *MsgRestartCouncil) ValidateBasic() error { _, err := sdk.AccAddressFromBech32(msg.Creator) if err != nil { - return sdkerrors.Wrapf(sdkerrors.ErrInvalidAddress, "invalid creator address (%s)", err) + return sdkerrors.Wrapf(errors.ErrInvalidAddress, "invalid creator address (%s)", err) } return nil } diff --git a/x/cardchain/types/message_restart_council_test.go b/x/cardchain/types/message_restart_council_test.go index 0848616d..e497957c 100644 --- a/x/cardchain/types/message_restart_council_test.go +++ b/x/cardchain/types/message_restart_council_test.go @@ -4,7 +4,7 @@ import ( "testing" "github.com/DecentralCardGame/Cardchain/testutil/sample" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/cosmos/cosmos-sdk/types/errors" "github.com/stretchr/testify/require" ) @@ -19,7 +19,7 @@ func TestMsgRestartCouncil_ValidateBasic(t *testing.T) { msg: MsgRestartCouncil{ Creator: "invalid_address", }, - err: sdkerrors.ErrInvalidAddress, + err: errors.ErrInvalidAddress, }, { name: "valid address", msg: MsgRestartCouncil{ diff --git a/x/cardchain/types/message_reveal_council_response.go b/x/cardchain/types/message_reveal_council_response.go index 113569fa..b4712ee0 100644 --- a/x/cardchain/types/message_reveal_council_response.go +++ b/x/cardchain/types/message_reveal_council_response.go @@ -1,8 +1,9 @@ package types import ( + sdkerrors "cosmossdk.io/errors" sdk "github.com/cosmos/cosmos-sdk/types" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/cosmos/cosmos-sdk/types/errors" ) const TypeMsgRevealCouncilResponse = "reveal_council_response" @@ -42,7 +43,7 @@ func (msg *MsgRevealCouncilResponse) GetSignBytes() []byte { func (msg *MsgRevealCouncilResponse) ValidateBasic() error { _, err := sdk.AccAddressFromBech32(msg.Creator) if err != nil { - return sdkerrors.Wrapf(sdkerrors.ErrInvalidAddress, "invalid creator address (%s)", err) + return sdkerrors.Wrapf(errors.ErrInvalidAddress, "invalid creator address (%s)", err) } return nil } diff --git a/x/cardchain/types/message_reveal_council_response_test.go b/x/cardchain/types/message_reveal_council_response_test.go index a8f8ec0e..678c123c 100644 --- a/x/cardchain/types/message_reveal_council_response_test.go +++ b/x/cardchain/types/message_reveal_council_response_test.go @@ -4,7 +4,7 @@ import ( "testing" "github.com/DecentralCardGame/Cardchain/testutil/sample" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/cosmos/cosmos-sdk/types/errors" "github.com/stretchr/testify/require" ) @@ -19,7 +19,7 @@ func TestMsgRevealCouncilResponse_ValidateBasic(t *testing.T) { msg: MsgRevealCouncilResponse{ Creator: "invalid_address", }, - err: sdkerrors.ErrInvalidAddress, + err: errors.ErrInvalidAddress, }, { name: "valid address", msg: MsgRevealCouncilResponse{ diff --git a/x/cardchain/types/message_rewoke_council_registration.go b/x/cardchain/types/message_rewoke_council_registration.go index 3d34cdbc..76652620 100644 --- a/x/cardchain/types/message_rewoke_council_registration.go +++ b/x/cardchain/types/message_rewoke_council_registration.go @@ -1,8 +1,9 @@ package types import ( + sdkerrors "cosmossdk.io/errors" sdk "github.com/cosmos/cosmos-sdk/types" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/cosmos/cosmos-sdk/types/errors" ) const TypeMsgRewokeCouncilRegistration = "rewoke_council_registration" @@ -39,7 +40,7 @@ func (msg *MsgRewokeCouncilRegistration) GetSignBytes() []byte { func (msg *MsgRewokeCouncilRegistration) ValidateBasic() error { _, err := sdk.AccAddressFromBech32(msg.Creator) if err != nil { - return sdkerrors.Wrapf(sdkerrors.ErrInvalidAddress, "invalid creator address (%s)", err) + return sdkerrors.Wrapf(errors.ErrInvalidAddress, "invalid creator address (%s)", err) } return nil } diff --git a/x/cardchain/types/message_rewoke_council_registration_test.go b/x/cardchain/types/message_rewoke_council_registration_test.go index ef5495f8..749e15db 100644 --- a/x/cardchain/types/message_rewoke_council_registration_test.go +++ b/x/cardchain/types/message_rewoke_council_registration_test.go @@ -4,7 +4,7 @@ import ( "testing" "github.com/DecentralCardGame/Cardchain/testutil/sample" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/cosmos/cosmos-sdk/types/errors" "github.com/stretchr/testify/require" ) @@ -19,7 +19,7 @@ func TestMsgRewokeCouncilRegistration_ValidateBasic(t *testing.T) { msg: MsgRewokeCouncilRegistration{ Creator: "invalid_address", }, - err: sdkerrors.ErrInvalidAddress, + err: errors.ErrInvalidAddress, }, { name: "valid address", msg: MsgRewokeCouncilRegistration{ diff --git a/x/cardchain/types/message_save_card_content.go b/x/cardchain/types/message_save_card_content.go index a885aa56..51512f74 100644 --- a/x/cardchain/types/message_save_card_content.go +++ b/x/cardchain/types/message_save_card_content.go @@ -1,8 +1,9 @@ package types import ( + sdkerrors "cosmossdk.io/errors" sdk "github.com/cosmos/cosmos-sdk/types" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/cosmos/cosmos-sdk/types/errors" ) const TypeMsgSaveCardContent = "save_card_content" @@ -43,7 +44,7 @@ func (msg *MsgSaveCardContent) GetSignBytes() []byte { func (msg *MsgSaveCardContent) ValidateBasic() error { _, err := sdk.AccAddressFromBech32(msg.Creator) if err != nil { - return sdkerrors.Wrapf(sdkerrors.ErrInvalidAddress, "invalid creator address (%s)", err) + return sdkerrors.Wrapf(errors.ErrInvalidAddress, "invalid creator address (%s)", err) } return nil } diff --git a/x/cardchain/types/message_save_card_content_test.go b/x/cardchain/types/message_save_card_content_test.go index 6cb77c42..caf1e227 100644 --- a/x/cardchain/types/message_save_card_content_test.go +++ b/x/cardchain/types/message_save_card_content_test.go @@ -4,7 +4,7 @@ import ( "testing" "github.com/DecentralCardGame/Cardchain/testutil/sample" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/cosmos/cosmos-sdk/types/errors" "github.com/stretchr/testify/require" ) @@ -19,7 +19,7 @@ func TestMsgSaveCardContent_ValidateBasic(t *testing.T) { msg: MsgSaveCardContent{ Creator: "invalid_address", }, - err: sdkerrors.ErrInvalidAddress, + err: errors.ErrInvalidAddress, }, { name: "valid address", msg: MsgSaveCardContent{ diff --git a/x/cardchain/types/message_set_card_rarity.go b/x/cardchain/types/message_set_card_rarity.go index a0f71d53..a4ab8fca 100644 --- a/x/cardchain/types/message_set_card_rarity.go +++ b/x/cardchain/types/message_set_card_rarity.go @@ -1,20 +1,21 @@ package types import ( + sdkerrors "cosmossdk.io/errors" sdk "github.com/cosmos/cosmos-sdk/types" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/cosmos/cosmos-sdk/types/errors" ) const TypeMsgSetCardRarity = "set_card_rarity" var _ sdk.Msg = &MsgSetCardRarity{} -func NewMsgSetCardRarity(creator string, cardId uint64, collectionId uint64, rarity string) *MsgSetCardRarity { +func NewMsgSetCardRarity(creator string, cardId uint64, setId uint64, rarity CardRarity) *MsgSetCardRarity { return &MsgSetCardRarity{ - Creator: creator, - CardId: cardId, - CollectionId: collectionId, - Rarity: rarity, + Creator: creator, + CardId: cardId, + SetId: setId, + Rarity: rarity, } } @@ -42,7 +43,12 @@ func (msg *MsgSetCardRarity) GetSignBytes() []byte { func (msg *MsgSetCardRarity) ValidateBasic() error { _, err := sdk.AccAddressFromBech32(msg.Creator) if err != nil { - return sdkerrors.Wrapf(sdkerrors.ErrInvalidAddress, "invalid creator address (%s)", err) + return sdkerrors.Wrapf(errors.ErrInvalidAddress, "invalid creator address (%s)", err) } + _, isValid := CardRarity_name[int32(msg.Rarity)] + if !isValid { + return sdkerrors.Wrapf(errors.ErrInvalidRequest, "Invalid cardRarity: (%d)", msg.Rarity) + } + return nil } diff --git a/x/cardchain/types/message_set_card_rarity_test.go b/x/cardchain/types/message_set_card_rarity_test.go index dd1c1ff9..c7f21b99 100644 --- a/x/cardchain/types/message_set_card_rarity_test.go +++ b/x/cardchain/types/message_set_card_rarity_test.go @@ -4,7 +4,7 @@ import ( "testing" "github.com/DecentralCardGame/Cardchain/testutil/sample" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/cosmos/cosmos-sdk/types/errors" "github.com/stretchr/testify/require" ) @@ -19,7 +19,7 @@ func TestMsgSetCardRarity_ValidateBasic(t *testing.T) { msg: MsgSetCardRarity{ Creator: "invalid_address", }, - err: sdkerrors.ErrInvalidAddress, + err: errors.ErrInvalidAddress, }, { name: "valid address", msg: MsgSetCardRarity{ diff --git a/x/cardchain/types/message_set_collection_artist.go b/x/cardchain/types/message_set_collection_artist.go deleted file mode 100644 index 9c297f18..00000000 --- a/x/cardchain/types/message_set_collection_artist.go +++ /dev/null @@ -1,47 +0,0 @@ -package types - -import ( - sdk "github.com/cosmos/cosmos-sdk/types" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" -) - -const TypeMsgSetCollectionArtist = "set_collection_artist" - -var _ sdk.Msg = &MsgSetCollectionArtist{} - -func NewMsgSetCollectionArtist(creator string, collectionId uint64, artist string) *MsgSetCollectionArtist { - return &MsgSetCollectionArtist{ - Creator: creator, - CollectionId: collectionId, - Artist: artist, - } -} - -func (msg *MsgSetCollectionArtist) Route() string { - return RouterKey -} - -func (msg *MsgSetCollectionArtist) Type() string { - return TypeMsgSetCollectionArtist -} - -func (msg *MsgSetCollectionArtist) GetSigners() []sdk.AccAddress { - creator, err := sdk.AccAddressFromBech32(msg.Creator) - if err != nil { - panic(err) - } - return []sdk.AccAddress{creator} -} - -func (msg *MsgSetCollectionArtist) GetSignBytes() []byte { - bz := ModuleCdc.MustMarshalJSON(msg) - return sdk.MustSortJSON(bz) -} - -func (msg *MsgSetCollectionArtist) ValidateBasic() error { - _, err := sdk.AccAddressFromBech32(msg.Creator) - if err != nil { - return sdkerrors.Wrapf(sdkerrors.ErrInvalidAddress, "invalid creator address (%s)", err) - } - return nil -} diff --git a/x/cardchain/types/message_set_collection_artist_test.go b/x/cardchain/types/message_set_collection_artist_test.go deleted file mode 100644 index 4f05e015..00000000 --- a/x/cardchain/types/message_set_collection_artist_test.go +++ /dev/null @@ -1,40 +0,0 @@ -package types - -import ( - "testing" - - "github.com/DecentralCardGame/Cardchain/testutil/sample" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - "github.com/stretchr/testify/require" -) - -func TestMsgSetCollectionArtist_ValidateBasic(t *testing.T) { - tests := []struct { - name string - msg MsgSetCollectionArtist - err error - }{ - { - name: "invalid address", - msg: MsgSetCollectionArtist{ - Creator: "invalid_address", - }, - err: sdkerrors.ErrInvalidAddress, - }, { - name: "valid address", - msg: MsgSetCollectionArtist{ - Creator: sample.AccAddress(), - }, - }, - } - for _, tt := range tests { - t.Run(tt.name, func(t *testing.T) { - err := tt.msg.ValidateBasic() - if tt.err != nil { - require.ErrorIs(t, err, tt.err) - return - } - require.NoError(t, err) - }) - } -} diff --git a/x/cardchain/types/message_set_collection_story_writer.go b/x/cardchain/types/message_set_collection_story_writer.go deleted file mode 100644 index dfaf4c5f..00000000 --- a/x/cardchain/types/message_set_collection_story_writer.go +++ /dev/null @@ -1,47 +0,0 @@ -package types - -import ( - sdk "github.com/cosmos/cosmos-sdk/types" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" -) - -const TypeMsgSetCollectionStoryWriter = "set_collection_story_writer" - -var _ sdk.Msg = &MsgSetCollectionStoryWriter{} - -func NewMsgSetCollectionStoryWriter(creator string, collectionId uint64, storyWriter string) *MsgSetCollectionStoryWriter { - return &MsgSetCollectionStoryWriter{ - Creator: creator, - CollectionId: collectionId, - StoryWriter: storyWriter, - } -} - -func (msg *MsgSetCollectionStoryWriter) Route() string { - return RouterKey -} - -func (msg *MsgSetCollectionStoryWriter) Type() string { - return TypeMsgSetCollectionStoryWriter -} - -func (msg *MsgSetCollectionStoryWriter) GetSigners() []sdk.AccAddress { - creator, err := sdk.AccAddressFromBech32(msg.Creator) - if err != nil { - panic(err) - } - return []sdk.AccAddress{creator} -} - -func (msg *MsgSetCollectionStoryWriter) GetSignBytes() []byte { - bz := ModuleCdc.MustMarshalJSON(msg) - return sdk.MustSortJSON(bz) -} - -func (msg *MsgSetCollectionStoryWriter) ValidateBasic() error { - _, err := sdk.AccAddressFromBech32(msg.Creator) - if err != nil { - return sdkerrors.Wrapf(sdkerrors.ErrInvalidAddress, "invalid creator address (%s)", err) - } - return nil -} diff --git a/x/cardchain/types/message_set_collection_story_writer_test.go b/x/cardchain/types/message_set_collection_story_writer_test.go deleted file mode 100644 index f1b66965..00000000 --- a/x/cardchain/types/message_set_collection_story_writer_test.go +++ /dev/null @@ -1,40 +0,0 @@ -package types - -import ( - "testing" - - "github.com/DecentralCardGame/Cardchain/testutil/sample" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - "github.com/stretchr/testify/require" -) - -func TestMsgSetCollectionStoryWriter_ValidateBasic(t *testing.T) { - tests := []struct { - name string - msg MsgSetCollectionStoryWriter - err error - }{ - { - name: "invalid address", - msg: MsgSetCollectionStoryWriter{ - Creator: "invalid_address", - }, - err: sdkerrors.ErrInvalidAddress, - }, { - name: "valid address", - msg: MsgSetCollectionStoryWriter{ - Creator: sample.AccAddress(), - }, - }, - } - for _, tt := range tests { - t.Run(tt.name, func(t *testing.T) { - err := tt.msg.ValidateBasic() - if tt.err != nil { - require.ErrorIs(t, err, tt.err) - return - } - require.NoError(t, err) - }) - } -} diff --git a/x/cardchain/types/message_set_profile_card.go b/x/cardchain/types/message_set_profile_card.go index 955145ac..aa5f82dc 100644 --- a/x/cardchain/types/message_set_profile_card.go +++ b/x/cardchain/types/message_set_profile_card.go @@ -1,8 +1,9 @@ package types import ( + sdkerrors "cosmossdk.io/errors" sdk "github.com/cosmos/cosmos-sdk/types" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/cosmos/cosmos-sdk/types/errors" ) const TypeMsgSetProfileCard = "set_profile_card" @@ -40,7 +41,7 @@ func (msg *MsgSetProfileCard) GetSignBytes() []byte { func (msg *MsgSetProfileCard) ValidateBasic() error { _, err := sdk.AccAddressFromBech32(msg.Creator) if err != nil { - return sdkerrors.Wrapf(sdkerrors.ErrInvalidAddress, "invalid creator address (%s)", err) + return sdkerrors.Wrapf(errors.ErrInvalidAddress, "invalid creator address (%s)", err) } return nil } diff --git a/x/cardchain/types/message_set_profile_card_test.go b/x/cardchain/types/message_set_profile_card_test.go index 9239a095..cc2d6d07 100644 --- a/x/cardchain/types/message_set_profile_card_test.go +++ b/x/cardchain/types/message_set_profile_card_test.go @@ -4,7 +4,7 @@ import ( "testing" "github.com/DecentralCardGame/Cardchain/testutil/sample" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/cosmos/cosmos-sdk/types/errors" "github.com/stretchr/testify/require" ) @@ -19,7 +19,7 @@ func TestMsgSetProfileCard_ValidateBasic(t *testing.T) { msg: MsgSetProfileCard{ Creator: "invalid_address", }, - err: sdkerrors.ErrInvalidAddress, + err: errors.ErrInvalidAddress, }, { name: "valid address", msg: MsgSetProfileCard{ diff --git a/x/cardchain/types/message_set_set_artist.go b/x/cardchain/types/message_set_set_artist.go new file mode 100644 index 00000000..e8ce531a --- /dev/null +++ b/x/cardchain/types/message_set_set_artist.go @@ -0,0 +1,48 @@ +package types + +import ( + sdkerrors "cosmossdk.io/errors" + sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/cosmos/cosmos-sdk/types/errors" +) + +const TypeMsgSetSetArtist = "set_set_artist" + +var _ sdk.Msg = &MsgSetSetArtist{} + +func NewMsgSetSetArtist(creator string, setId uint64, artist string) *MsgSetSetArtist { + return &MsgSetSetArtist{ + Creator: creator, + SetId: setId, + Artist: artist, + } +} + +func (msg *MsgSetSetArtist) Route() string { + return RouterKey +} + +func (msg *MsgSetSetArtist) Type() string { + return TypeMsgSetSetArtist +} + +func (msg *MsgSetSetArtist) GetSigners() []sdk.AccAddress { + creator, err := sdk.AccAddressFromBech32(msg.Creator) + if err != nil { + panic(err) + } + return []sdk.AccAddress{creator} +} + +func (msg *MsgSetSetArtist) GetSignBytes() []byte { + bz := ModuleCdc.MustMarshalJSON(msg) + return sdk.MustSortJSON(bz) +} + +func (msg *MsgSetSetArtist) ValidateBasic() error { + _, err := sdk.AccAddressFromBech32(msg.Creator) + if err != nil { + return sdkerrors.Wrapf(errors.ErrInvalidAddress, "invalid creator address (%s)", err) + } + return nil +} diff --git a/x/cardchain/types/message_set_set_artist_test.go b/x/cardchain/types/message_set_set_artist_test.go new file mode 100644 index 00000000..4db4ad47 --- /dev/null +++ b/x/cardchain/types/message_set_set_artist_test.go @@ -0,0 +1,40 @@ +package types + +import ( + "testing" + + "github.com/DecentralCardGame/Cardchain/testutil/sample" + "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/stretchr/testify/require" +) + +func TestMsgSetSetArtist_ValidateBasic(t *testing.T) { + var tests = []struct { + name string + msg MsgSetSetArtist + err error + }{ + { + name: "invalid address", + msg: MsgSetSetArtist{ + Creator: "invalid_address", + }, + err: errors.ErrInvalidAddress, + }, { + name: "valid address", + msg: MsgSetSetArtist{ + Creator: sample.AccAddress(), + }, + }, + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + err := tt.msg.ValidateBasic() + if tt.err != nil { + require.ErrorIs(t, err, tt.err) + return + } + require.NoError(t, err) + }) + } +} diff --git a/x/cardchain/types/message_set_set_name.go b/x/cardchain/types/message_set_set_name.go new file mode 100644 index 00000000..b0cb29d9 --- /dev/null +++ b/x/cardchain/types/message_set_set_name.go @@ -0,0 +1,47 @@ +package types + +import ( + sdk "github.com/cosmos/cosmos-sdk/types" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" +) + +const TypeMsgSetSetName = "set_set_name" + +var _ sdk.Msg = &MsgSetSetName{} + +func NewMsgSetSetName(creator string, setId uint64, name string) *MsgSetSetName { + return &MsgSetSetName{ + Creator: creator, + SetId: setId, + Name: name, + } +} + +func (msg *MsgSetSetName) Route() string { + return RouterKey +} + +func (msg *MsgSetSetName) Type() string { + return TypeMsgSetSetName +} + +func (msg *MsgSetSetName) GetSigners() []sdk.AccAddress { + creator, err := sdk.AccAddressFromBech32(msg.Creator) + if err != nil { + panic(err) + } + return []sdk.AccAddress{creator} +} + +func (msg *MsgSetSetName) GetSignBytes() []byte { + bz := ModuleCdc.MustMarshalJSON(msg) + return sdk.MustSortJSON(bz) +} + +func (msg *MsgSetSetName) ValidateBasic() error { + _, err := sdk.AccAddressFromBech32(msg.Creator) + if err != nil { + return sdkerrors.Wrapf(sdkerrors.ErrInvalidAddress, "invalid creator address (%s)", err) + } + return nil +} diff --git a/x/cardchain/types/message_create_collection_test.go b/x/cardchain/types/message_set_set_name_test.go similarity index 81% rename from x/cardchain/types/message_create_collection_test.go rename to x/cardchain/types/message_set_set_name_test.go index d6652ed7..9cbf4260 100644 --- a/x/cardchain/types/message_create_collection_test.go +++ b/x/cardchain/types/message_set_set_name_test.go @@ -8,21 +8,21 @@ import ( "github.com/stretchr/testify/require" ) -func TestMsgCreateCollection_ValidateBasic(t *testing.T) { +func TestMsgSetSetName_ValidateBasic(t *testing.T) { tests := []struct { name string - msg MsgCreateCollection + msg MsgSetSetName err error }{ { name: "invalid address", - msg: MsgCreateCollection{ + msg: MsgSetSetName{ Creator: "invalid_address", }, err: sdkerrors.ErrInvalidAddress, }, { name: "valid address", - msg: MsgCreateCollection{ + msg: MsgSetSetName{ Creator: sample.AccAddress(), }, }, diff --git a/x/cardchain/types/message_set_set_story_writer.go b/x/cardchain/types/message_set_set_story_writer.go new file mode 100644 index 00000000..e8a04aea --- /dev/null +++ b/x/cardchain/types/message_set_set_story_writer.go @@ -0,0 +1,48 @@ +package types + +import ( + sdkerrors "cosmossdk.io/errors" + sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/cosmos/cosmos-sdk/types/errors" +) + +const TypeMsgSetSetStoryWriter = "set_set_story_writer" + +var _ sdk.Msg = &MsgSetSetStoryWriter{} + +func NewMsgSetSetStoryWriter(creator string, setId uint64, storyWriter string) *MsgSetSetStoryWriter { + return &MsgSetSetStoryWriter{ + Creator: creator, + SetId: setId, + StoryWriter: storyWriter, + } +} + +func (msg *MsgSetSetStoryWriter) Route() string { + return RouterKey +} + +func (msg *MsgSetSetStoryWriter) Type() string { + return TypeMsgSetSetStoryWriter +} + +func (msg *MsgSetSetStoryWriter) GetSigners() []sdk.AccAddress { + creator, err := sdk.AccAddressFromBech32(msg.Creator) + if err != nil { + panic(err) + } + return []sdk.AccAddress{creator} +} + +func (msg *MsgSetSetStoryWriter) GetSignBytes() []byte { + bz := ModuleCdc.MustMarshalJSON(msg) + return sdk.MustSortJSON(bz) +} + +func (msg *MsgSetSetStoryWriter) ValidateBasic() error { + _, err := sdk.AccAddressFromBech32(msg.Creator) + if err != nil { + return sdkerrors.Wrapf(errors.ErrInvalidAddress, "invalid creator address (%s)", err) + } + return nil +} diff --git a/x/cardchain/types/message_set_set_story_writer_test.go b/x/cardchain/types/message_set_set_story_writer_test.go new file mode 100644 index 00000000..4babf281 --- /dev/null +++ b/x/cardchain/types/message_set_set_story_writer_test.go @@ -0,0 +1,40 @@ +package types + +import ( + "testing" + + "github.com/DecentralCardGame/Cardchain/testutil/sample" + "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/stretchr/testify/require" +) + +func TestMsgSetSetStoryWriter_ValidateBasic(t *testing.T) { + tests := []struct { + name string + msg MsgSetSetStoryWriter + err error + }{ + { + name: "invalid address", + msg: MsgSetSetStoryWriter{ + Creator: "invalid_address", + }, + err: errors.ErrInvalidAddress, + }, { + name: "valid address", + msg: MsgSetSetStoryWriter{ + Creator: sample.AccAddress(), + }, + }, + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + err := tt.msg.ValidateBasic() + if tt.err != nil { + require.ErrorIs(t, err, tt.err) + return + } + require.NoError(t, err) + }) + } +} diff --git a/x/cardchain/types/message_set_user_biography.go b/x/cardchain/types/message_set_user_biography.go index e398c535..50a39e78 100644 --- a/x/cardchain/types/message_set_user_biography.go +++ b/x/cardchain/types/message_set_user_biography.go @@ -1,8 +1,9 @@ package types import ( + sdkerrors "cosmossdk.io/errors" sdk "github.com/cosmos/cosmos-sdk/types" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/cosmos/cosmos-sdk/types/errors" ) const TypeMsgSetUserBiography = "set_user_biography" @@ -40,7 +41,7 @@ func (msg *MsgSetUserBiography) GetSignBytes() []byte { func (msg *MsgSetUserBiography) ValidateBasic() error { _, err := sdk.AccAddressFromBech32(msg.Creator) if err != nil { - return sdkerrors.Wrapf(sdkerrors.ErrInvalidAddress, "invalid creator address (%s)", err) + return sdkerrors.Wrapf(errors.ErrInvalidAddress, "invalid creator address (%s)", err) } return nil } diff --git a/x/cardchain/types/message_set_user_biography_test.go b/x/cardchain/types/message_set_user_biography_test.go index 7f3e0bea..a6ee84dd 100644 --- a/x/cardchain/types/message_set_user_biography_test.go +++ b/x/cardchain/types/message_set_user_biography_test.go @@ -4,7 +4,7 @@ import ( "testing" "github.com/DecentralCardGame/Cardchain/testutil/sample" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/cosmos/cosmos-sdk/types/errors" "github.com/stretchr/testify/require" ) @@ -19,7 +19,7 @@ func TestMsgSetUserBiography_ValidateBasic(t *testing.T) { msg: MsgSetUserBiography{ Creator: "invalid_address", }, - err: sdkerrors.ErrInvalidAddress, + err: errors.ErrInvalidAddress, }, { name: "valid address", msg: MsgSetUserBiography{ diff --git a/x/cardchain/types/message_set_user_website.go b/x/cardchain/types/message_set_user_website.go index daae40f8..939a777b 100644 --- a/x/cardchain/types/message_set_user_website.go +++ b/x/cardchain/types/message_set_user_website.go @@ -1,8 +1,9 @@ package types import ( + sdkerrors "cosmossdk.io/errors" sdk "github.com/cosmos/cosmos-sdk/types" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/cosmos/cosmos-sdk/types/errors" ) const TypeMsgSetUserWebsite = "set_user_website" @@ -40,7 +41,7 @@ func (msg *MsgSetUserWebsite) GetSignBytes() []byte { func (msg *MsgSetUserWebsite) ValidateBasic() error { _, err := sdk.AccAddressFromBech32(msg.Creator) if err != nil { - return sdkerrors.Wrapf(sdkerrors.ErrInvalidAddress, "invalid creator address (%s)", err) + return sdkerrors.Wrapf(errors.ErrInvalidAddress, "invalid creator address (%s)", err) } return nil } diff --git a/x/cardchain/types/message_set_user_website_test.go b/x/cardchain/types/message_set_user_website_test.go index d733b971..d7385d9a 100644 --- a/x/cardchain/types/message_set_user_website_test.go +++ b/x/cardchain/types/message_set_user_website_test.go @@ -4,7 +4,7 @@ import ( "testing" "github.com/DecentralCardGame/Cardchain/testutil/sample" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/cosmos/cosmos-sdk/types/errors" "github.com/stretchr/testify/require" ) @@ -19,7 +19,7 @@ func TestMsgSetUserWebsite_ValidateBasic(t *testing.T) { msg: MsgSetUserWebsite{ Creator: "invalid_address", }, - err: sdkerrors.ErrInvalidAddress, + err: errors.ErrInvalidAddress, }, { name: "valid address", msg: MsgSetUserWebsite{ diff --git a/x/cardchain/types/message_submit_collection_proposal.go b/x/cardchain/types/message_submit_collection_proposal.go deleted file mode 100644 index c594f4e1..00000000 --- a/x/cardchain/types/message_submit_collection_proposal.go +++ /dev/null @@ -1,46 +0,0 @@ -package types - -import ( - sdk "github.com/cosmos/cosmos-sdk/types" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" -) - -const TypeMsgSubmitCollectionProposal = "submit_collection_proposal" - -var _ sdk.Msg = &MsgSubmitCollectionProposal{} - -func NewMsgSubmitCollectionProposal(creator string, collectionId uint64) *MsgSubmitCollectionProposal { - return &MsgSubmitCollectionProposal{ - Creator: creator, - CollectionId: collectionId, - } -} - -func (msg *MsgSubmitCollectionProposal) Route() string { - return RouterKey -} - -func (msg *MsgSubmitCollectionProposal) Type() string { - return TypeMsgSubmitCollectionProposal -} - -func (msg *MsgSubmitCollectionProposal) GetSigners() []sdk.AccAddress { - creator, err := sdk.AccAddressFromBech32(msg.Creator) - if err != nil { - panic(err) - } - return []sdk.AccAddress{creator} -} - -func (msg *MsgSubmitCollectionProposal) GetSignBytes() []byte { - bz := ModuleCdc.MustMarshalJSON(msg) - return sdk.MustSortJSON(bz) -} - -func (msg *MsgSubmitCollectionProposal) ValidateBasic() error { - _, err := sdk.AccAddressFromBech32(msg.Creator) - if err != nil { - return sdkerrors.Wrapf(sdkerrors.ErrInvalidAddress, "invalid creator address (%s)", err) - } - return nil -} diff --git a/x/cardchain/types/message_submit_collection_proposal_test.go b/x/cardchain/types/message_submit_collection_proposal_test.go deleted file mode 100644 index 681afc4f..00000000 --- a/x/cardchain/types/message_submit_collection_proposal_test.go +++ /dev/null @@ -1,40 +0,0 @@ -package types - -import ( - "testing" - - "github.com/DecentralCardGame/Cardchain/testutil/sample" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - "github.com/stretchr/testify/require" -) - -func TestMsgSubmitCollectionProposal_ValidateBasic(t *testing.T) { - tests := []struct { - name string - msg MsgSubmitCollectionProposal - err error - }{ - { - name: "invalid address", - msg: MsgSubmitCollectionProposal{ - Creator: "invalid_address", - }, - err: sdkerrors.ErrInvalidAddress, - }, { - name: "valid address", - msg: MsgSubmitCollectionProposal{ - Creator: sample.AccAddress(), - }, - }, - } - for _, tt := range tests { - t.Run(tt.name, func(t *testing.T) { - err := tt.msg.ValidateBasic() - if tt.err != nil { - require.ErrorIs(t, err, tt.err) - return - } - require.NoError(t, err) - }) - } -} diff --git a/x/cardchain/types/message_submit_copyright_proposal.go b/x/cardchain/types/message_submit_copyright_proposal.go deleted file mode 100644 index a50e2a98..00000000 --- a/x/cardchain/types/message_submit_copyright_proposal.go +++ /dev/null @@ -1,48 +0,0 @@ -package types - -import ( - sdk "github.com/cosmos/cosmos-sdk/types" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" -) - -const TypeMsgSubmitCopyrightProposal = "submit_copyright_proposal" - -var _ sdk.Msg = &MsgSubmitCopyrightProposal{} - -func NewMsgSubmitCopyrightProposal(creator string, cardId uint64, description string, link string) *MsgSubmitCopyrightProposal { - return &MsgSubmitCopyrightProposal{ - Creator: creator, - CardId: cardId, - Description: description, - Link: link, - } -} - -func (msg *MsgSubmitCopyrightProposal) Route() string { - return RouterKey -} - -func (msg *MsgSubmitCopyrightProposal) Type() string { - return TypeMsgSubmitCopyrightProposal -} - -func (msg *MsgSubmitCopyrightProposal) GetSigners() []sdk.AccAddress { - creator, err := sdk.AccAddressFromBech32(msg.Creator) - if err != nil { - panic(err) - } - return []sdk.AccAddress{creator} -} - -func (msg *MsgSubmitCopyrightProposal) GetSignBytes() []byte { - bz := ModuleCdc.MustMarshalJSON(msg) - return sdk.MustSortJSON(bz) -} - -func (msg *MsgSubmitCopyrightProposal) ValidateBasic() error { - _, err := sdk.AccAddressFromBech32(msg.Creator) - if err != nil { - return sdkerrors.Wrapf(sdkerrors.ErrInvalidAddress, "invalid creator address (%s)", err) - } - return nil -} diff --git a/x/cardchain/types/message_submit_copyright_proposal_test.go b/x/cardchain/types/message_submit_copyright_proposal_test.go deleted file mode 100644 index 94a6fc06..00000000 --- a/x/cardchain/types/message_submit_copyright_proposal_test.go +++ /dev/null @@ -1,40 +0,0 @@ -package types - -import ( - "testing" - - "github.com/DecentralCardGame/Cardchain/testutil/sample" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - "github.com/stretchr/testify/require" -) - -func TestMsgSubmitCopyrightProposal_ValidateBasic(t *testing.T) { - tests := []struct { - name string - msg MsgSubmitCopyrightProposal - err error - }{ - { - name: "invalid address", - msg: MsgSubmitCopyrightProposal{ - Creator: "invalid_address", - }, - err: sdkerrors.ErrInvalidAddress, - }, { - name: "valid address", - msg: MsgSubmitCopyrightProposal{ - Creator: sample.AccAddress(), - }, - }, - } - for _, tt := range tests { - t.Run(tt.name, func(t *testing.T) { - err := tt.msg.ValidateBasic() - if tt.err != nil { - require.ErrorIs(t, err, tt.err) - return - } - require.NoError(t, err) - }) - } -} diff --git a/x/cardchain/types/message_submit_match_reporter_proposal.go b/x/cardchain/types/message_submit_match_reporter_proposal.go deleted file mode 100644 index 78c94471..00000000 --- a/x/cardchain/types/message_submit_match_reporter_proposal.go +++ /dev/null @@ -1,48 +0,0 @@ -package types - -import ( - sdk "github.com/cosmos/cosmos-sdk/types" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" -) - -const TypeMsgSubmitMatchReporterProposal = "submit_match_reporter_proposal" - -var _ sdk.Msg = &MsgSubmitMatchReporterProposal{} - -func NewMsgSubmitMatchReporterProposal(creator string, reporter string, deposit string, description string) *MsgSubmitMatchReporterProposal { - return &MsgSubmitMatchReporterProposal{ - Creator: creator, - Reporter: reporter, - Deposit: deposit, - Description: description, - } -} - -func (msg *MsgSubmitMatchReporterProposal) Route() string { - return RouterKey -} - -func (msg *MsgSubmitMatchReporterProposal) Type() string { - return TypeMsgSubmitMatchReporterProposal -} - -func (msg *MsgSubmitMatchReporterProposal) GetSigners() []sdk.AccAddress { - creator, err := sdk.AccAddressFromBech32(msg.Creator) - if err != nil { - panic(err) - } - return []sdk.AccAddress{creator} -} - -func (msg *MsgSubmitMatchReporterProposal) GetSignBytes() []byte { - bz := ModuleCdc.MustMarshalJSON(msg) - return sdk.MustSortJSON(bz) -} - -func (msg *MsgSubmitMatchReporterProposal) ValidateBasic() error { - _, err := sdk.AccAddressFromBech32(msg.Creator) - if err != nil { - return sdkerrors.Wrapf(sdkerrors.ErrInvalidAddress, "invalid creator address (%s)", err) - } - return nil -} diff --git a/x/cardchain/types/message_submit_match_reporter_proposal_test.go b/x/cardchain/types/message_submit_match_reporter_proposal_test.go deleted file mode 100644 index ff61f9f4..00000000 --- a/x/cardchain/types/message_submit_match_reporter_proposal_test.go +++ /dev/null @@ -1,40 +0,0 @@ -package types - -import ( - "testing" - - "github.com/DecentralCardGame/Cardchain/testutil/sample" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - "github.com/stretchr/testify/require" -) - -func TestMsgSubmitMatchReporterProposal_ValidateBasic(t *testing.T) { - tests := []struct { - name string - msg MsgSubmitMatchReporterProposal - err error - }{ - { - name: "invalid address", - msg: MsgSubmitMatchReporterProposal{ - Creator: "invalid_address", - }, - err: sdkerrors.ErrInvalidAddress, - }, { - name: "valid address", - msg: MsgSubmitMatchReporterProposal{ - Creator: sample.AccAddress(), - }, - }, - } - for _, tt := range tests { - t.Run(tt.name, func(t *testing.T) { - err := tt.msg.ValidateBasic() - if tt.err != nil { - require.ErrorIs(t, err, tt.err) - return - } - require.NoError(t, err) - }) - } -} diff --git a/x/cardchain/types/message_transfer_booster_pack.go b/x/cardchain/types/message_transfer_booster_pack.go index 28fe4997..bf628d96 100644 --- a/x/cardchain/types/message_transfer_booster_pack.go +++ b/x/cardchain/types/message_transfer_booster_pack.go @@ -1,8 +1,9 @@ package types import ( + sdkerrors "cosmossdk.io/errors" sdk "github.com/cosmos/cosmos-sdk/types" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/cosmos/cosmos-sdk/types/errors" ) const TypeMsgTransferBoosterPack = "transfer_booster_pack" @@ -41,7 +42,7 @@ func (msg *MsgTransferBoosterPack) GetSignBytes() []byte { func (msg *MsgTransferBoosterPack) ValidateBasic() error { _, err := sdk.AccAddressFromBech32(msg.Creator) if err != nil { - return sdkerrors.Wrapf(sdkerrors.ErrInvalidAddress, "invalid creator address (%s)", err) + return sdkerrors.Wrapf(errors.ErrInvalidAddress, "invalid creator address (%s)", err) } return nil } diff --git a/x/cardchain/types/message_transfer_booster_pack_test.go b/x/cardchain/types/message_transfer_booster_pack_test.go index 1e9aafb7..7c2ac31f 100644 --- a/x/cardchain/types/message_transfer_booster_pack_test.go +++ b/x/cardchain/types/message_transfer_booster_pack_test.go @@ -4,7 +4,7 @@ import ( "testing" "github.com/DecentralCardGame/Cardchain/testutil/sample" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/cosmos/cosmos-sdk/types/errors" "github.com/stretchr/testify/require" ) @@ -19,7 +19,7 @@ func TestMsgTransferBoosterPack_ValidateBasic(t *testing.T) { msg: MsgTransferBoosterPack{ Creator: "invalid_address", }, - err: sdkerrors.ErrInvalidAddress, + err: errors.ErrInvalidAddress, }, { name: "valid address", msg: MsgTransferBoosterPack{ diff --git a/x/cardchain/types/message_transfer_card.go b/x/cardchain/types/message_transfer_card.go index 6fa95096..c6d606bd 100644 --- a/x/cardchain/types/message_transfer_card.go +++ b/x/cardchain/types/message_transfer_card.go @@ -1,8 +1,9 @@ package types import ( + sdkerrors "cosmossdk.io/errors" sdk "github.com/cosmos/cosmos-sdk/types" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/cosmos/cosmos-sdk/types/errors" ) const TypeMsgTransferCard = "transfer_card" @@ -41,7 +42,7 @@ func (msg *MsgTransferCard) GetSignBytes() []byte { func (msg *MsgTransferCard) ValidateBasic() error { _, err := sdk.AccAddressFromBech32(msg.Creator) if err != nil { - return sdkerrors.Wrapf(sdkerrors.ErrInvalidAddress, "invalid creator address (%s)", err) + return sdkerrors.Wrapf(errors.ErrInvalidAddress, "invalid creator address (%s)", err) } return nil } diff --git a/x/cardchain/types/message_transfer_card_test.go b/x/cardchain/types/message_transfer_card_test.go index 399a19d9..1c4b5ae8 100644 --- a/x/cardchain/types/message_transfer_card_test.go +++ b/x/cardchain/types/message_transfer_card_test.go @@ -4,7 +4,7 @@ import ( "testing" "github.com/DecentralCardGame/Cardchain/testutil/sample" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/cosmos/cosmos-sdk/types/errors" "github.com/stretchr/testify/require" ) @@ -19,7 +19,7 @@ func TestMsgTransferCard_ValidateBasic(t *testing.T) { msg: MsgTransferCard{ Creator: "invalid_address", }, - err: sdkerrors.ErrInvalidAddress, + err: errors.ErrInvalidAddress, }, { name: "valid address", msg: MsgTransferCard{ diff --git a/x/cardchain/types/message_vote_card.go b/x/cardchain/types/message_vote_card.go index 2e281667..24010901 100644 --- a/x/cardchain/types/message_vote_card.go +++ b/x/cardchain/types/message_vote_card.go @@ -1,8 +1,9 @@ package types import ( + sdkerrors "cosmossdk.io/errors" sdk "github.com/cosmos/cosmos-sdk/types" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/cosmos/cosmos-sdk/types/errors" ) const TypeMsgVoteCard = "vote_card" @@ -41,7 +42,7 @@ func (msg *MsgVoteCard) GetSignBytes() []byte { func (msg *MsgVoteCard) ValidateBasic() error { _, err := sdk.AccAddressFromBech32(msg.Creator) if err != nil { - return sdkerrors.Wrapf(sdkerrors.ErrInvalidAddress, "invalid creator address (%s)", err) + return sdkerrors.Wrapf(errors.ErrInvalidAddress, "invalid creator address (%s)", err) } return nil } diff --git a/x/cardchain/types/message_vote_card_test.go b/x/cardchain/types/message_vote_card_test.go index 336d60fe..cae806fe 100644 --- a/x/cardchain/types/message_vote_card_test.go +++ b/x/cardchain/types/message_vote_card_test.go @@ -4,7 +4,7 @@ import ( "testing" "github.com/DecentralCardGame/Cardchain/testutil/sample" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/cosmos/cosmos-sdk/types/errors" "github.com/stretchr/testify/require" ) @@ -19,7 +19,7 @@ func TestMsgVoteCard_ValidateBasic(t *testing.T) { msg: MsgVoteCard{ Creator: "invalid_address", }, - err: sdkerrors.ErrInvalidAddress, + err: errors.ErrInvalidAddress, }, { name: "valid address", msg: MsgVoteCard{ diff --git a/x/cardchain/types/params.go b/x/cardchain/types/params.go index a725d94d..99573c54 100644 --- a/x/cardchain/types/params.go +++ b/x/cardchain/types/params.go @@ -12,6 +12,8 @@ import ( var _ paramtypes.ParamSet = (*Params)(nil) +const DefaultMatchWorkerDelay = 20 * 60 + // ParamKeyTable the param key table for launch module func ParamKeyTable() paramtypes.KeyTable { return paramtypes.NewKeyTable().RegisterParamSet(&Params{}) @@ -21,15 +23,15 @@ func ParamKeyTable() paramtypes.KeyTable { func NewParams() Params { return Params{ VotingRightsExpirationTime: 86000, - CollectionSize: 24, - CollectionPrice: sdk.NewInt64Coin("ucredits", 10000000), - ActiveCollectionsAmount: 3, - CollectionCreationFee: sdk.NewInt64Coin("ucredits", int64(5000*math.Pow(10, 6))), + SetSize: 24, + SetPrice: sdk.NewInt64Coin("ucredits", 10000000), + ActiveSetsAmount: 3, + SetCreationFee: sdk.NewInt64Coin("ucredits", int64(5000*math.Pow(10, 6))), CollateralDeposit: sdk.NewInt64Coin("ucredits", int64(50*math.Pow(10, 6))), - TrialVoteReward: sdk.NewInt64Coin("ucredits", int64(math.Pow(10, 6))), + TrialVoteReward: sdk.NewInt64Coin("ucredits", int64(math.Pow(10, 6))), WinnerReward: int64(math.Pow(10, 6)), VotePoolFraction: int64(math.Pow(10, 6)), - VotingRewardCap: int64(math.Pow(10, 6)), + VotingRewardCap: int64(math.Pow(10, 6)), HourlyFaucet: sdk.NewInt64Coin("ucredits", int64(50*math.Pow(10, 6))), InflationRate: "1.1", // TODO: Also make this a fixed point number RaresPerPack: 1, @@ -40,6 +42,10 @@ func NewParams() Params { CardAuctionPriceReductionPeriod: 20, AirDropValue: sdk.NewInt64Coin("ubpf", int64(5*math.Pow(10, 6))), AirDropMaxBlockHeight: 5000000, + MatchWorkerDelay: DefaultMatchWorkerDelay, + RareDropRatio: 150, + ExceptionalDropRatio: 50, + UniqueDropRatio: 1, } } @@ -52,16 +58,16 @@ func DefaultParams() Params { func (p *Params) ParamSetPairs() paramtypes.ParamSetPairs { return paramtypes.ParamSetPairs{ paramtypes.NewParamSetPair([]byte("VotingRightsExpirationTime"), &p.VotingRightsExpirationTime, validateVotingRightsExpirationTime), - paramtypes.NewParamSetPair([]byte("CollectionSize"), &p.CollectionSize, validateCollectionSize), - paramtypes.NewParamSetPair([]byte("CollectionPrice"), &p.CollectionPrice, validateCollectionPrice), - paramtypes.NewParamSetPair([]byte("TrialVoteReward"), &p.TrialVoteReward, validateCollectionPrice), - paramtypes.NewParamSetPair([]byte("ActiveCollectionsAmount"), &p.ActiveCollectionsAmount, validateActiveCollectionsAmount), - paramtypes.NewParamSetPair([]byte("CollectionCreationFee"), &p.CollectionCreationFee, validateCollectionCreationFee), + paramtypes.NewParamSetPair([]byte("SetSize"), &p.SetSize, validateSetSize), + paramtypes.NewParamSetPair([]byte("SetPrice"), &p.SetPrice, validateSetPrice), + paramtypes.NewParamSetPair([]byte("TrialVoteReward"), &p.TrialVoteReward, validateSetPrice), + paramtypes.NewParamSetPair([]byte("ActiveSetsAmount"), &p.ActiveSetsAmount, validateActiveSetsAmount), + paramtypes.NewParamSetPair([]byte("SetCreationFee"), &p.SetCreationFee, validateSetCreationFee), paramtypes.NewParamSetPair([]byte("CollateralDeposit"), &p.CollateralDeposit, validateCollateralDeposit), paramtypes.NewParamSetPair([]byte("WinnerReward"), &p.WinnerReward, validateWinnerReward), - paramtypes.NewParamSetPair([]byte("VotePoolFraction"), &p.VotePoolFraction, validateVoterReward), - paramtypes.NewParamSetPair([]byte("VotingRewardCap"), &p.VotingRewardCap, validateVoterReward), - paramtypes.NewParamSetPair([]byte("HourlyFaucet"), &p.HourlyFaucet, validateHourlyFaucet), + paramtypes.NewParamSetPair([]byte("VotePoolFraction"), &p.VotePoolFraction, validateVoterReward), + paramtypes.NewParamSetPair([]byte("VotingRewardCap"), &p.VotingRewardCap, validateVoterReward), + paramtypes.NewParamSetPair([]byte("HourlyFaucet"), &p.HourlyFaucet, validateHourlyFaucet), paramtypes.NewParamSetPair([]byte("InflationRate"), &p.InflationRate, validateInflationRate), paramtypes.NewParamSetPair([]byte("RaresPerPack"), &p.RaresPerPack, validatePerPack), paramtypes.NewParamSetPair([]byte("CommonsPerPack"), &p.CommonsPerPack, validatePerPack), @@ -71,6 +77,10 @@ func (p *Params) ParamSetPairs() paramtypes.ParamSetPairs { paramtypes.NewParamSetPair([]byte("CardAuctionPriceReductionPeriod"), &p.CardAuctionPriceReductionPeriod, validateCardAuctionPriceReductionPeriod), paramtypes.NewParamSetPair([]byte("AirDropValue"), &p.AirDropValue, validateAirDropValue), paramtypes.NewParamSetPair([]byte("AirDropMaxBlockHeight"), &p.AirDropMaxBlockHeight, validateAirDropMaxBlockHeight), + paramtypes.NewParamSetPair([]byte("MatchWorkerDelay"), &p.MatchWorkerDelay, validateMatchWorkerDelay), + paramtypes.NewParamSetPair([]byte("RareDropRatio"), &p.RareDropRatio, validateRareDropRatio), + paramtypes.NewParamSetPair([]byte("ExceptionalDropRatio"), &p.ExceptionalDropRatio, validateExceptionalDropRatio), + paramtypes.NewParamSetPair([]byte("UniqueDropRatio"), &p.UniqueDropRatio, validateUniqueDropRatio), } } @@ -98,40 +108,40 @@ func validateVotingRightsExpirationTime(i interface{}) error { return nil } -func validateCollectionSize(i interface{}) error { +func validateSetSize(i interface{}) error { v, ok := i.(uint64) if !ok { return fmt.Errorf("invalid parameter type: %T", i) } if v == 0 { - return fmt.Errorf("invalid CollectionSize: %d", v) + return fmt.Errorf("invalid SetSize: %d", v) } return nil } -func validateCollectionPrice(i interface{}) error { +func validateSetPrice(i interface{}) error { v, ok := i.(sdk.Coin) if !ok { return fmt.Errorf("invalid parameter type: %T", i) } if v == sdk.NewInt64Coin("ucredits", 0) { - return fmt.Errorf("invalid CollectionPrice: %v", v) + return fmt.Errorf("invalid SetPrice: %v", v) } return nil } -func validateActiveCollectionsAmount(i interface{}) error { +func validateActiveSetsAmount(i interface{}) error { v, ok := i.(uint64) if !ok { return fmt.Errorf("invalid parameter type: %T", i) } if v == 0 { - return fmt.Errorf("invalid ActiveCollectionsAmount: %d", v) + return fmt.Errorf("invalid ActiveSetsAmount: %d", v) } return nil @@ -189,14 +199,14 @@ func validateCardAuctionPriceReductionPeriod(i interface{}) error { return nil } -func validateCollectionCreationFee(i interface{}) error { +func validateSetCreationFee(i interface{}) error { v, ok := i.(sdk.Coin) if !ok { return fmt.Errorf("invalid parameter type: %T", i) } if v == sdk.NewInt64Coin("ucredits", 0) { - return fmt.Errorf("invalid CollectionCreationFee: %v", v) + return fmt.Errorf("invalid SetCreationFee: %v", v) } return nil @@ -291,3 +301,35 @@ func validateInflationRate(i interface{}) error { } return nil } + +func validateMatchWorkerDelay(i interface{}) error { + _, ok := i.(uint64) + if !ok { + return fmt.Errorf("invalid parameter type: %T", i) + } + return nil +} + +func validateRareDropRatio(i interface{}) error { + _, ok := i.(uint64) + if !ok { + return fmt.Errorf("invalid parameter type: %T", i) + } + return nil +} + +func validateExceptionalDropRatio(i interface{}) error { + _, ok := i.(uint64) + if !ok { + return fmt.Errorf("invalid parameter type: %T", i) + } + return nil +} + +func validateUniqueDropRatio(i interface{}) error { + _, ok := i.(uint64) + if !ok { + return fmt.Errorf("invalid parameter type: %T", i) + } + return nil +} diff --git a/x/cardchain/types/params.pb.go b/x/cardchain/types/params.pb.go index dee58010..27303621 100644 --- a/x/cardchain/types/params.pb.go +++ b/x/cardchain/types/params.pb.go @@ -27,10 +27,10 @@ const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package // Params defines the parameters for the module. type Params struct { VotingRightsExpirationTime int64 `protobuf:"varint,1,opt,name=votingRightsExpirationTime,proto3" json:"votingRightsExpirationTime,omitempty"` - CollectionSize uint64 `protobuf:"varint,2,opt,name=collectionSize,proto3" json:"collectionSize,omitempty"` - CollectionPrice github_com_cosmos_cosmos_sdk_types.Coin `protobuf:"bytes,3,opt,name=collectionPrice,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Coin" json:"collectionPrice"` - ActiveCollectionsAmount uint64 `protobuf:"varint,4,opt,name=activeCollectionsAmount,proto3" json:"activeCollectionsAmount,omitempty"` - CollectionCreationFee github_com_cosmos_cosmos_sdk_types.Coin `protobuf:"bytes,5,opt,name=collectionCreationFee,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Coin" json:"collectionCreationFee"` + SetSize uint64 `protobuf:"varint,2,opt,name=setSize,proto3" json:"setSize,omitempty"` + SetPrice github_com_cosmos_cosmos_sdk_types.Coin `protobuf:"bytes,3,opt,name=setPrice,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Coin" json:"setPrice"` + ActiveSetsAmount uint64 `protobuf:"varint,4,opt,name=activeSetsAmount,proto3" json:"activeSetsAmount,omitempty"` + SetCreationFee github_com_cosmos_cosmos_sdk_types.Coin `protobuf:"bytes,5,opt,name=setCreationFee,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Coin" json:"setCreationFee"` CollateralDeposit github_com_cosmos_cosmos_sdk_types.Coin `protobuf:"bytes,6,opt,name=collateralDeposit,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Coin" json:"collateralDeposit"` WinnerReward int64 `protobuf:"varint,7,opt,name=winnerReward,proto3" json:"winnerReward,omitempty"` HourlyFaucet github_com_cosmos_cosmos_sdk_types.Coin `protobuf:"bytes,9,opt,name=hourlyFaucet,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Coin" json:"hourlyFaucet"` @@ -46,6 +46,10 @@ type Params struct { TrialVoteReward github_com_cosmos_cosmos_sdk_types.Coin `protobuf:"bytes,19,opt,name=trialVoteReward,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Coin" json:"trialVoteReward"` VotePoolFraction int64 `protobuf:"varint,20,opt,name=votePoolFraction,proto3" json:"votePoolFraction,omitempty"` VotingRewardCap int64 `protobuf:"varint,8,opt,name=votingRewardCap,proto3" json:"votingRewardCap,omitempty"` + MatchWorkerDelay uint64 `protobuf:"varint,21,opt,name=matchWorkerDelay,proto3" json:"matchWorkerDelay,omitempty"` + RareDropRatio uint64 `protobuf:"varint,22,opt,name=rareDropRatio,proto3" json:"rareDropRatio,omitempty"` + ExceptionalDropRatio uint64 `protobuf:"varint,23,opt,name=exceptionalDropRatio,proto3" json:"exceptionalDropRatio,omitempty"` + UniqueDropRatio uint64 `protobuf:"varint,24,opt,name=uniqueDropRatio,proto3" json:"uniqueDropRatio,omitempty"` } func (m *Params) Reset() { *m = Params{} } @@ -87,16 +91,16 @@ func (m *Params) GetVotingRightsExpirationTime() int64 { return 0 } -func (m *Params) GetCollectionSize() uint64 { +func (m *Params) GetSetSize() uint64 { if m != nil { - return m.CollectionSize + return m.SetSize } return 0 } -func (m *Params) GetActiveCollectionsAmount() uint64 { +func (m *Params) GetActiveSetsAmount() uint64 { if m != nil { - return m.ActiveCollectionsAmount + return m.ActiveSetsAmount } return 0 } @@ -178,6 +182,34 @@ func (m *Params) GetVotingRewardCap() int64 { return 0 } +func (m *Params) GetMatchWorkerDelay() uint64 { + if m != nil { + return m.MatchWorkerDelay + } + return 0 +} + +func (m *Params) GetRareDropRatio() uint64 { + if m != nil { + return m.RareDropRatio + } + return 0 +} + +func (m *Params) GetExceptionalDropRatio() uint64 { + if m != nil { + return m.ExceptionalDropRatio + } + return 0 +} + +func (m *Params) GetUniqueDropRatio() uint64 { + if m != nil { + return m.UniqueDropRatio + } + return 0 +} + func init() { proto.RegisterType((*Params)(nil), "DecentralCardGame.cardchain.cardchain.Params") } @@ -185,44 +217,48 @@ func init() { func init() { proto.RegisterFile("cardchain/cardchain/params.proto", fileDescriptor_8843e481ee664a23) } var fileDescriptor_8843e481ee664a23 = []byte{ - // 590 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x54, 0xcd, 0x6e, 0xd3, 0x4c, - 0x14, 0x8d, 0xbf, 0xf6, 0x2b, 0x64, 0x9a, 0x36, 0xed, 0xd0, 0x8a, 0x51, 0x17, 0x4e, 0x54, 0xf1, - 0x13, 0x21, 0x11, 0x2f, 0x60, 0x51, 0xb1, 0x40, 0x6a, 0x1c, 0x42, 0x37, 0x48, 0x96, 0x8b, 0x2a, - 0x81, 0xc4, 0x62, 0x3a, 0xbe, 0x38, 0xa3, 0xd8, 0x1e, 0x6b, 0x3c, 0x4e, 0x53, 0x9e, 0x82, 0x25, - 0x4b, 0x9e, 0x82, 0x67, 0xe8, 0xb2, 0x4b, 0xc4, 0xa2, 0x42, 0xc9, 0x8b, 0xa0, 0x99, 0x84, 0x24, - 0x4e, 0x0a, 0x48, 0x59, 0x79, 0x7c, 0xe6, 0xdc, 0xe3, 0x73, 0x7d, 0x7f, 0x50, 0x9d, 0x51, 0x19, - 0xb0, 0x2e, 0xe5, 0x89, 0x33, 0x3b, 0xa5, 0x54, 0xd2, 0x38, 0x6b, 0xa6, 0x52, 0x28, 0x81, 0x1f, - 0xb6, 0x81, 0x41, 0xa2, 0x24, 0x8d, 0x5c, 0x2a, 0x83, 0xd7, 0x34, 0x86, 0xe6, 0x94, 0x39, 0x3b, - 0x1d, 0xec, 0x85, 0x22, 0x14, 0x26, 0xc2, 0xd1, 0xa7, 0x71, 0xf0, 0xe1, 0xb7, 0x32, 0xda, 0xf0, - 0x8c, 0x1a, 0x7e, 0x89, 0x0e, 0xfa, 0x42, 0xf1, 0x24, 0xf4, 0x79, 0xd8, 0x55, 0xd9, 0xab, 0x41, - 0xca, 0x25, 0x55, 0x5c, 0x24, 0x6f, 0x79, 0x0c, 0xc4, 0xaa, 0x5b, 0x8d, 0x35, 0xff, 0x2f, 0x0c, - 0xfc, 0x08, 0x6d, 0x33, 0x11, 0x45, 0xc0, 0x34, 0x72, 0xca, 0x3f, 0x01, 0xf9, 0xaf, 0x6e, 0x35, - 0xd6, 0xfd, 0x05, 0x14, 0xbf, 0x43, 0xd5, 0x19, 0xe2, 0x49, 0xce, 0x80, 0xac, 0xd5, 0xad, 0x46, - 0xb9, 0xe5, 0x5c, 0xdd, 0xd4, 0x4a, 0x3f, 0x6e, 0x6a, 0x8f, 0x43, 0xae, 0xba, 0xf9, 0x79, 0x93, - 0x89, 0xd8, 0x61, 0x22, 0x8b, 0x45, 0x36, 0x79, 0x3c, 0xcd, 0x82, 0x9e, 0xa3, 0x2e, 0x53, 0xc8, - 0x9a, 0xae, 0xe0, 0x89, 0xbf, 0xa8, 0x83, 0x8f, 0xd0, 0x7d, 0xca, 0x14, 0xef, 0x83, 0x3b, 0xbd, - 0xc8, 0x8e, 0x63, 0x91, 0x27, 0x8a, 0xac, 0x1b, 0x2f, 0x7f, 0xba, 0xc6, 0x80, 0xf6, 0x67, 0x62, - 0xae, 0x04, 0x93, 0x56, 0x07, 0x80, 0xfc, 0xbf, 0x9a, 0xb5, 0xdb, 0xd5, 0xf0, 0x07, 0xb4, 0xab, - 0x2f, 0xa8, 0x02, 0x49, 0xa3, 0x36, 0xa4, 0x22, 0xe3, 0x8a, 0x6c, 0xac, 0xf6, 0x89, 0x65, 0x25, - 0x7c, 0x88, 0x2a, 0x17, 0x3c, 0x49, 0x40, 0xfa, 0x70, 0x41, 0x65, 0x40, 0xee, 0x98, 0xa2, 0x15, - 0x30, 0x7c, 0x8a, 0x2a, 0x5d, 0x91, 0xcb, 0xe8, 0xb2, 0x43, 0x73, 0x06, 0x8a, 0x94, 0x57, 0xfb, - 0x7a, 0x41, 0x04, 0x3f, 0x40, 0x5b, 0x3c, 0xf9, 0x18, 0x99, 0x3c, 0x7d, 0xaa, 0x80, 0x20, 0xad, - 0xea, 0x17, 0x41, 0x6d, 0x4f, 0x52, 0x09, 0x99, 0x07, 0xd2, 0xa3, 0xac, 0x47, 0x36, 0x4d, 0x4d, - 0x0a, 0xd8, 0xb8, 0x8b, 0xe2, 0x58, 0x24, 0x53, 0x56, 0xe5, 0x77, 0x17, 0xcd, 0xa3, 0xf8, 0x09, - 0xda, 0xc9, 0x13, 0xb7, 0xc8, 0xdc, 0x32, 0xcc, 0x25, 0x1c, 0xd7, 0xd1, 0xa6, 0x92, 0x9c, 0x46, - 0x1e, 0x48, 0x2e, 0x02, 0xb2, 0x6d, 0x68, 0xf3, 0x90, 0xf6, 0x1f, 0xd2, 0x18, 0xce, 0x84, 0x02, - 0x5f, 0xfb, 0x25, 0x55, 0xf3, 0xe7, 0x8a, 0x20, 0x3e, 0x41, 0x35, 0x3d, 0x4f, 0xc7, 0xf9, 0xac, - 0xe5, 0x7c, 0x08, 0x26, 0x6f, 0x63, 0xed, 0x1d, 0x13, 0xf7, 0x2f, 0x9a, 0x2e, 0x02, 0xe5, 0xb2, - 0x2d, 0x45, 0x7a, 0x46, 0xa3, 0x1c, 0xc8, 0xee, 0x8a, 0x45, 0x98, 0x17, 0xc1, 0xcf, 0xd1, 0xfe, - 0xe4, 0xfd, 0x0d, 0x1d, 0xb4, 0x22, 0xc1, 0x7a, 0x27, 0xa0, 0x07, 0x95, 0x60, 0x63, 0xea, 0xf6, - 0x4b, 0x3d, 0x8e, 0xe6, 0x4f, 0x98, 0x34, 0xc7, 0x6d, 0x73, 0x6f, 0xc5, 0x71, 0x5c, 0xd0, 0xd1, - 0x35, 0xea, 0x0b, 0x05, 0x9e, 0x10, 0x51, 0x47, 0x52, 0x93, 0x3f, 0xd9, 0x33, 0x5e, 0x96, 0x70, - 0xdc, 0x40, 0xd5, 0xc9, 0x6e, 0x31, 0xb1, 0x2e, 0x4d, 0xc9, 0x5d, 0x43, 0x5d, 0x84, 0x5f, 0xac, - 0x7f, 0xf9, 0x5a, 0x2b, 0xb5, 0xfc, 0xab, 0xa1, 0x6d, 0x5d, 0x0f, 0x6d, 0xeb, 0xe7, 0xd0, 0xb6, - 0x3e, 0x8f, 0xec, 0xd2, 0xf5, 0xc8, 0x2e, 0x7d, 0x1f, 0xd9, 0xa5, 0xf7, 0x47, 0x73, 0x7e, 0x97, - 0x56, 0xa3, 0xe3, 0x4e, 0x97, 0xe8, 0x60, 0x6e, 0xa1, 0x9a, 0x2c, 0xce, 0x37, 0xcc, 0x4e, 0x7c, - 0xf6, 0x2b, 0x00, 0x00, 0xff, 0xff, 0xf2, 0xe5, 0x71, 0xe5, 0x74, 0x05, 0x00, 0x00, + // 651 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x54, 0x4d, 0x6f, 0x13, 0x3d, + 0x10, 0xce, 0xbe, 0xed, 0xdb, 0x0f, 0xf7, 0xdb, 0xb4, 0x60, 0xf5, 0x90, 0x44, 0x15, 0x1f, 0x11, + 0x12, 0x89, 0x04, 0x1c, 0x10, 0x07, 0xa4, 0x36, 0xa1, 0x54, 0x42, 0x48, 0xd1, 0x16, 0xb5, 0x02, + 0x89, 0xc3, 0xd4, 0x19, 0x12, 0x2b, 0xbb, 0xeb, 0xc5, 0xeb, 0x6d, 0x53, 0x7e, 0x05, 0x47, 0x8e, + 0xfc, 0x02, 0x7e, 0x47, 0x8f, 0x3d, 0x22, 0x0e, 0x15, 0x6a, 0xff, 0x08, 0xf2, 0x24, 0xa4, 0xd9, + 0x4d, 0x05, 0x52, 0x4e, 0x6b, 0x3f, 0xfb, 0xcc, 0xe3, 0x67, 0x66, 0xec, 0x61, 0x65, 0x09, 0xa6, + 0x25, 0x3b, 0xa0, 0xa2, 0xda, 0xf5, 0x2a, 0x06, 0x03, 0x61, 0x52, 0x8d, 0x8d, 0xb6, 0x9a, 0xdf, + 0x6b, 0xa0, 0xc4, 0xc8, 0x1a, 0x08, 0xea, 0x60, 0x5a, 0xaf, 0x20, 0xc4, 0xea, 0x90, 0x79, 0xbd, + 0xda, 0x5c, 0x6f, 0xeb, 0xb6, 0xa6, 0x88, 0x9a, 0x5b, 0xf5, 0x83, 0xb7, 0xbe, 0x33, 0x36, 0xd3, + 0x24, 0x35, 0xfe, 0x82, 0x6d, 0x1e, 0x6b, 0xab, 0xa2, 0xb6, 0xaf, 0xda, 0x1d, 0x9b, 0xbc, 0xec, + 0xc5, 0xca, 0x80, 0x55, 0x3a, 0x7a, 0xab, 0x42, 0x14, 0x5e, 0xd9, 0xab, 0x4c, 0xf9, 0x7f, 0x61, + 0x70, 0xc1, 0x66, 0x13, 0xb4, 0xfb, 0xea, 0x33, 0x8a, 0xff, 0xca, 0x5e, 0x65, 0xda, 0xff, 0xb3, + 0xe5, 0xaf, 0xd9, 0x5c, 0x82, 0xb6, 0x69, 0x94, 0x44, 0x31, 0x55, 0xf6, 0x2a, 0xf3, 0x3b, 0xb5, + 0xb3, 0x8b, 0x52, 0xe1, 0xe7, 0x45, 0xe9, 0x41, 0x5b, 0xd9, 0x4e, 0x7a, 0x54, 0x95, 0x3a, 0xac, + 0x49, 0x9d, 0x84, 0x3a, 0x19, 0x7c, 0x1e, 0x25, 0xad, 0x6e, 0xcd, 0x9e, 0xc6, 0x98, 0x54, 0xeb, + 0x5a, 0x45, 0xfe, 0x50, 0x80, 0x3f, 0x64, 0xab, 0x20, 0xad, 0x3a, 0xc6, 0x7d, 0xb4, 0xc9, 0x76, + 0xa8, 0xd3, 0xc8, 0x8a, 0x69, 0x3a, 0x6f, 0x0c, 0xe7, 0x87, 0x6c, 0x39, 0x41, 0x5b, 0x37, 0x48, + 0x2e, 0x77, 0x11, 0xc5, 0xff, 0x93, 0x1d, 0x9f, 0x93, 0xe1, 0x1f, 0xd8, 0x9a, 0xd4, 0x41, 0x00, + 0x16, 0x0d, 0x04, 0x0d, 0x8c, 0x75, 0xa2, 0xac, 0x98, 0x99, 0x4c, 0x7b, 0x5c, 0x89, 0x6f, 0xb1, + 0xc5, 0x13, 0x15, 0x45, 0x68, 0x7c, 0x3c, 0x01, 0xd3, 0x12, 0xb3, 0x54, 0xfc, 0x0c, 0xc6, 0xf7, + 0xd9, 0x62, 0x47, 0xa7, 0x26, 0x38, 0xdd, 0x85, 0x54, 0xa2, 0x15, 0xf3, 0x93, 0x9d, 0x9e, 0x11, + 0xe1, 0x77, 0xd9, 0x92, 0x8a, 0x3e, 0x06, 0x94, 0xa7, 0x0f, 0x16, 0x05, 0x73, 0xaa, 0x7e, 0x16, + 0x74, 0xf6, 0x0c, 0x18, 0x4c, 0x9a, 0x68, 0x9a, 0x20, 0xbb, 0x62, 0x81, 0xca, 0x9f, 0xc1, 0xf8, + 0x7d, 0xb6, 0x2c, 0x75, 0x18, 0xea, 0x68, 0xc8, 0x5a, 0x24, 0x56, 0x0e, 0x75, 0xed, 0x4c, 0xa3, + 0x7a, 0x96, 0xb9, 0xd4, 0x6f, 0x67, 0x1e, 0xe7, 0x65, 0xb6, 0x60, 0x8d, 0x82, 0xa0, 0x89, 0x46, + 0xe9, 0x96, 0x58, 0x26, 0xda, 0x28, 0xe4, 0xfc, 0xb7, 0x21, 0xc4, 0x03, 0x6d, 0xd1, 0x77, 0x7e, + 0xc5, 0x0a, 0x55, 0x2e, 0x0b, 0xf2, 0x3d, 0x56, 0x72, 0xef, 0x62, 0x3b, 0x95, 0x2e, 0x25, 0xba, + 0x56, 0x3e, 0xb6, 0x06, 0xbb, 0xbe, 0xf6, 0x2a, 0xc5, 0xfd, 0x8b, 0xe6, 0x9a, 0x00, 0xca, 0x34, + 0x8c, 0x8e, 0x0f, 0x20, 0x48, 0x51, 0xac, 0x4d, 0xd8, 0x84, 0x51, 0x11, 0xfe, 0x94, 0x6d, 0x0c, + 0xf6, 0x6f, 0xa0, 0xb7, 0x13, 0x68, 0xd9, 0xdd, 0x43, 0xf7, 0xe0, 0x04, 0x27, 0x53, 0x37, 0xff, + 0xe4, 0xef, 0xd8, 0x0a, 0x55, 0x82, 0xd2, 0xec, 0x5f, 0x9b, 0x5b, 0x93, 0xb9, 0xc9, 0xeb, 0xb8, + 0x1e, 0x1d, 0x6b, 0x8b, 0x4d, 0xad, 0x83, 0x5d, 0x03, 0x94, 0xbf, 0x58, 0x27, 0x2f, 0x63, 0x38, + 0xaf, 0xb0, 0x95, 0xc1, 0x8c, 0xa0, 0xd8, 0x3a, 0xc4, 0x62, 0x8e, 0xa8, 0x79, 0xd8, 0xa9, 0x86, + 0x60, 0x65, 0xe7, 0x50, 0x9b, 0x2e, 0x9a, 0x06, 0x06, 0x70, 0x2a, 0x36, 0xfa, 0x9d, 0xcf, 0xe3, + 0xae, 0xaf, 0xee, 0x76, 0xb9, 0xb4, 0xfb, 0x7d, 0xbd, 0x4d, 0xc4, 0x2c, 0xc8, 0x1f, 0xb3, 0x75, + 0xec, 0x49, 0x8c, 0x9d, 0x11, 0x08, 0xae, 0xc9, 0x77, 0x88, 0x7c, 0xe3, 0x3f, 0xe7, 0x37, 0x8d, + 0xd4, 0xa7, 0x74, 0x44, 0x5b, 0x10, 0x3d, 0x0f, 0x3f, 0x9f, 0xfe, 0xfa, 0xad, 0x54, 0xd8, 0xf1, + 0xcf, 0x2e, 0x8b, 0xde, 0xf9, 0x65, 0xd1, 0xfb, 0x75, 0x59, 0xf4, 0xbe, 0x5c, 0x15, 0x0b, 0xe7, + 0x57, 0xc5, 0xc2, 0x8f, 0xab, 0x62, 0xe1, 0xfd, 0xb3, 0x91, 0xfa, 0x8e, 0x8d, 0xe4, 0x5a, 0x7d, + 0x38, 0xbc, 0x7b, 0x23, 0x83, 0x9c, 0xaa, 0x7e, 0x34, 0x43, 0xb3, 0xf8, 0xc9, 0xef, 0x00, 0x00, + 0x00, 0xff, 0xff, 0x7c, 0x7a, 0xa5, 0x82, 0xec, 0x05, 0x00, 0x00, } func (m *Params) Marshal() (dAtA []byte, err error) { @@ -245,6 +281,34 @@ func (m *Params) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + if m.UniqueDropRatio != 0 { + i = encodeVarintParams(dAtA, i, uint64(m.UniqueDropRatio)) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0xc0 + } + if m.ExceptionalDropRatio != 0 { + i = encodeVarintParams(dAtA, i, uint64(m.ExceptionalDropRatio)) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0xb8 + } + if m.RareDropRatio != 0 { + i = encodeVarintParams(dAtA, i, uint64(m.RareDropRatio)) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0xb0 + } + if m.MatchWorkerDelay != 0 { + i = encodeVarintParams(dAtA, i, uint64(m.MatchWorkerDelay)) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0xa8 + } if m.VotePoolFraction != 0 { i = encodeVarintParams(dAtA, i, uint64(m.VotePoolFraction)) i-- @@ -353,32 +417,32 @@ func (m *Params) MarshalToSizedBuffer(dAtA []byte) (int, error) { i-- dAtA[i] = 0x32 { - size := m.CollectionCreationFee.Size() + size := m.SetCreationFee.Size() i -= size - if _, err := m.CollectionCreationFee.MarshalTo(dAtA[i:]); err != nil { + if _, err := m.SetCreationFee.MarshalTo(dAtA[i:]); err != nil { return 0, err } i = encodeVarintParams(dAtA, i, uint64(size)) } i-- dAtA[i] = 0x2a - if m.ActiveCollectionsAmount != 0 { - i = encodeVarintParams(dAtA, i, uint64(m.ActiveCollectionsAmount)) + if m.ActiveSetsAmount != 0 { + i = encodeVarintParams(dAtA, i, uint64(m.ActiveSetsAmount)) i-- dAtA[i] = 0x20 } { - size := m.CollectionPrice.Size() + size := m.SetPrice.Size() i -= size - if _, err := m.CollectionPrice.MarshalTo(dAtA[i:]); err != nil { + if _, err := m.SetPrice.MarshalTo(dAtA[i:]); err != nil { return 0, err } i = encodeVarintParams(dAtA, i, uint64(size)) } i-- dAtA[i] = 0x1a - if m.CollectionSize != 0 { - i = encodeVarintParams(dAtA, i, uint64(m.CollectionSize)) + if m.SetSize != 0 { + i = encodeVarintParams(dAtA, i, uint64(m.SetSize)) i-- dAtA[i] = 0x10 } @@ -410,15 +474,15 @@ func (m *Params) Size() (n int) { if m.VotingRightsExpirationTime != 0 { n += 1 + sovParams(uint64(m.VotingRightsExpirationTime)) } - if m.CollectionSize != 0 { - n += 1 + sovParams(uint64(m.CollectionSize)) + if m.SetSize != 0 { + n += 1 + sovParams(uint64(m.SetSize)) } - l = m.CollectionPrice.Size() + l = m.SetPrice.Size() n += 1 + l + sovParams(uint64(l)) - if m.ActiveCollectionsAmount != 0 { - n += 1 + sovParams(uint64(m.ActiveCollectionsAmount)) + if m.ActiveSetsAmount != 0 { + n += 1 + sovParams(uint64(m.ActiveSetsAmount)) } - l = m.CollectionCreationFee.Size() + l = m.SetCreationFee.Size() n += 1 + l + sovParams(uint64(l)) l = m.CollateralDeposit.Size() n += 1 + l + sovParams(uint64(l)) @@ -462,6 +526,18 @@ func (m *Params) Size() (n int) { if m.VotePoolFraction != 0 { n += 2 + sovParams(uint64(m.VotePoolFraction)) } + if m.MatchWorkerDelay != 0 { + n += 2 + sovParams(uint64(m.MatchWorkerDelay)) + } + if m.RareDropRatio != 0 { + n += 2 + sovParams(uint64(m.RareDropRatio)) + } + if m.ExceptionalDropRatio != 0 { + n += 2 + sovParams(uint64(m.ExceptionalDropRatio)) + } + if m.UniqueDropRatio != 0 { + n += 2 + sovParams(uint64(m.UniqueDropRatio)) + } return n } @@ -521,9 +597,9 @@ func (m *Params) Unmarshal(dAtA []byte) error { } case 2: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field CollectionSize", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field SetSize", wireType) } - m.CollectionSize = 0 + m.SetSize = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowParams @@ -533,14 +609,14 @@ func (m *Params) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.CollectionSize |= uint64(b&0x7F) << shift + m.SetSize |= uint64(b&0x7F) << shift if b < 0x80 { break } } case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field CollectionPrice", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field SetPrice", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -568,15 +644,15 @@ func (m *Params) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.CollectionPrice.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.SetPrice.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex case 4: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field ActiveCollectionsAmount", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field ActiveSetsAmount", wireType) } - m.ActiveCollectionsAmount = 0 + m.ActiveSetsAmount = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowParams @@ -586,14 +662,14 @@ func (m *Params) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.ActiveCollectionsAmount |= uint64(b&0x7F) << shift + m.ActiveSetsAmount |= uint64(b&0x7F) << shift if b < 0x80 { break } } case 5: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field CollectionCreationFee", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field SetCreationFee", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -621,7 +697,7 @@ func (m *Params) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.CollectionCreationFee.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.SetCreationFee.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -983,6 +1059,82 @@ func (m *Params) Unmarshal(dAtA []byte) error { break } } + case 21: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field MatchWorkerDelay", wireType) + } + m.MatchWorkerDelay = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowParams + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.MatchWorkerDelay |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 22: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field RareDropRatio", wireType) + } + m.RareDropRatio = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowParams + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.RareDropRatio |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 23: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field ExceptionalDropRatio", wireType) + } + m.ExceptionalDropRatio = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowParams + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.ExceptionalDropRatio |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 24: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field UniqueDropRatio", wireType) + } + m.UniqueDropRatio = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowParams + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.UniqueDropRatio |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } default: iNdEx = preIndex skippy, err := skipParams(dAtA[iNdEx:]) diff --git a/x/cardchain/types/proposal.go b/x/cardchain/types/proposal.go index 6a1b1e52..5e0e5813 100644 --- a/x/cardchain/types/proposal.go +++ b/x/cardchain/types/proposal.go @@ -1,7 +1,7 @@ package types import ( - govtypes "github.com/cosmos/cosmos-sdk/x/gov/types" + govtypes "github.com/cosmos/cosmos-sdk/x/gov/types/v1beta1" ) // Module name for minting coins @@ -11,7 +11,7 @@ const ( // ProposalTypeChange defines the type for a ParameterChangeProposal ProposalTypeCopyright = "Copyright" ProposalTypeMatchReporter = "MatchReporter" - ProposalTypeCollection = "Collection" + ProposalTypeSet = "Set" ) func (c *CopyrightProposal) ProposalRoute() string { return RouterKey } @@ -40,11 +40,11 @@ func (c *MatchReporterProposal) ValidateBasic() error { return nil } -func (c *CollectionProposal) ProposalRoute() string { return RouterKey } +func (c *SetProposal) ProposalRoute() string { return RouterKey } -func (c *CollectionProposal) ProposalType() string { return ProposalTypeCollection } +func (c *SetProposal) ProposalType() string { return ProposalTypeSet } -func (c *CollectionProposal) ValidateBasic() error { +func (c *SetProposal) ValidateBasic() error { err := govtypes.ValidateAbstract(c) if err != nil { return err @@ -56,5 +56,5 @@ func (c *CollectionProposal) ValidateBasic() error { func init() { govtypes.RegisterProposalType(ProposalTypeCopyright) govtypes.RegisterProposalType(ProposalTypeMatchReporter) - govtypes.RegisterProposalType(ProposalTypeCollection) + govtypes.RegisterProposalType(ProposalTypeSet) } diff --git a/x/cardchain/types/query.pb.go b/x/cardchain/types/query.pb.go index 09a6c7a6..5db378de 100644 --- a/x/cardchain/types/query.pb.go +++ b/x/cardchain/types/query.pb.go @@ -387,12 +387,13 @@ func (m *QueryQCardchainInfoRequest) XXX_DiscardUnknown() { var xxx_messageInfo_QueryQCardchainInfoRequest proto.InternalMessageInfo type QueryQCardchainInfoResponse struct { - CardAuctionPrice github_com_cosmos_cosmos_sdk_types.Coin `protobuf:"bytes,1,opt,name=cardAuctionPrice,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Coin" json:"cardAuctionPrice"` - ActiveCollections []uint64 `protobuf:"varint,2,rep,packed,name=activeCollections,proto3" json:"activeCollections,omitempty"` - CardsNumber uint64 `protobuf:"varint,3,opt,name=cardsNumber,proto3" json:"cardsNumber,omitempty"` - MatchesNumber uint64 `protobuf:"varint,4,opt,name=matchesNumber,proto3" json:"matchesNumber,omitempty"` - SellOffersNumber uint64 `protobuf:"varint,5,opt,name=sellOffersNumber,proto3" json:"sellOffersNumber,omitempty"` - CouncilsNumber uint64 `protobuf:"varint,6,opt,name=councilsNumber,proto3" json:"councilsNumber,omitempty"` + CardAuctionPrice github_com_cosmos_cosmos_sdk_types.Coin `protobuf:"bytes,1,opt,name=cardAuctionPrice,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Coin" json:"cardAuctionPrice"` + ActiveSets []uint64 `protobuf:"varint,2,rep,packed,name=activeSets,proto3" json:"activeSets,omitempty"` + CardsNumber uint64 `protobuf:"varint,3,opt,name=cardsNumber,proto3" json:"cardsNumber,omitempty"` + MatchesNumber uint64 `protobuf:"varint,4,opt,name=matchesNumber,proto3" json:"matchesNumber,omitempty"` + SellOffersNumber uint64 `protobuf:"varint,5,opt,name=sellOffersNumber,proto3" json:"sellOffersNumber,omitempty"` + CouncilsNumber uint64 `protobuf:"varint,6,opt,name=councilsNumber,proto3" json:"councilsNumber,omitempty"` + LastCardModified uint64 `protobuf:"varint,7,opt,name=lastCardModified,proto3" json:"lastCardModified,omitempty"` } func (m *QueryQCardchainInfoResponse) Reset() { *m = QueryQCardchainInfoResponse{} } @@ -428,9 +429,9 @@ func (m *QueryQCardchainInfoResponse) XXX_DiscardUnknown() { var xxx_messageInfo_QueryQCardchainInfoResponse proto.InternalMessageInfo -func (m *QueryQCardchainInfoResponse) GetActiveCollections() []uint64 { +func (m *QueryQCardchainInfoResponse) GetActiveSets() []uint64 { if m != nil { - return m.ActiveCollections + return m.ActiveSets } return nil } @@ -463,6 +464,13 @@ func (m *QueryQCardchainInfoResponse) GetCouncilsNumber() uint64 { return 0 } +func (m *QueryQCardchainInfoResponse) GetLastCardModified() uint64 { + if m != nil { + return m.LastCardModified + } + return 0 +} + type QueryQVotingResultsRequest struct { } @@ -656,6 +664,7 @@ type QueryQCardsRequest struct { NameContains string `protobuf:"bytes,6,opt,name=nameContains,proto3" json:"nameContains,omitempty"` KeywordsContains string `protobuf:"bytes,7,opt,name=keywordsContains,proto3" json:"keywordsContains,omitempty"` NotesContains string `protobuf:"bytes,8,opt,name=notesContains,proto3" json:"notesContains,omitempty"` + OnlyStarterCard bool `protobuf:"varint,9,opt,name=onlyStarterCard,proto3" json:"onlyStarterCard,omitempty"` } func (m *QueryQCardsRequest) Reset() { *m = QueryQCardsRequest{} } @@ -747,6 +756,13 @@ func (m *QueryQCardsRequest) GetNotesContains() string { return "" } +func (m *QueryQCardsRequest) GetOnlyStarterCard() bool { + if m != nil { + return m.OnlyStarterCard + } + return false +} + type QueryQCardsResponse struct { CardsList []uint64 `protobuf:"varint,1,rep,packed,name=cardsList,proto3" json:"cardsList,omitempty"` } @@ -835,22 +851,22 @@ func (m *QueryQMatchRequest) GetMatchId() uint64 { return 0 } -type QueryQCollectionRequest struct { - CollectionId uint64 `protobuf:"varint,1,opt,name=collectionId,proto3" json:"collectionId,omitempty"` +type QueryQSetRequest struct { + SetId uint64 `protobuf:"varint,1,opt,name=setId,proto3" json:"setId,omitempty"` } -func (m *QueryQCollectionRequest) Reset() { *m = QueryQCollectionRequest{} } -func (m *QueryQCollectionRequest) String() string { return proto.CompactTextString(m) } -func (*QueryQCollectionRequest) ProtoMessage() {} -func (*QueryQCollectionRequest) Descriptor() ([]byte, []int) { +func (m *QueryQSetRequest) Reset() { *m = QueryQSetRequest{} } +func (m *QueryQSetRequest) String() string { return proto.CompactTextString(m) } +func (*QueryQSetRequest) ProtoMessage() {} +func (*QueryQSetRequest) Descriptor() ([]byte, []int) { return fileDescriptor_e1bdbfeb9d7f6cfd, []int{15} } -func (m *QueryQCollectionRequest) XXX_Unmarshal(b []byte) error { +func (m *QueryQSetRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *QueryQCollectionRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *QueryQSetRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_QueryQCollectionRequest.Marshal(b, m, deterministic) + return xxx_messageInfo_QueryQSetRequest.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -860,21 +876,21 @@ func (m *QueryQCollectionRequest) XXX_Marshal(b []byte, deterministic bool) ([]b return b[:n], nil } } -func (m *QueryQCollectionRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_QueryQCollectionRequest.Merge(m, src) +func (m *QueryQSetRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryQSetRequest.Merge(m, src) } -func (m *QueryQCollectionRequest) XXX_Size() int { +func (m *QueryQSetRequest) XXX_Size() int { return m.Size() } -func (m *QueryQCollectionRequest) XXX_DiscardUnknown() { - xxx_messageInfo_QueryQCollectionRequest.DiscardUnknown(m) +func (m *QueryQSetRequest) XXX_DiscardUnknown() { + xxx_messageInfo_QueryQSetRequest.DiscardUnknown(m) } -var xxx_messageInfo_QueryQCollectionRequest proto.InternalMessageInfo +var xxx_messageInfo_QueryQSetRequest proto.InternalMessageInfo -func (m *QueryQCollectionRequest) GetCollectionId() uint64 { +func (m *QueryQSetRequest) GetSetId() uint64 { if m != nil { - return m.CollectionId + return m.SetId } return 0 } @@ -1431,7 +1447,7 @@ func (m *QueryQServerResponse) XXX_DiscardUnknown() { var xxx_messageInfo_QueryQServerResponse proto.InternalMessageInfo -type QueryQCollectionsRequest struct { +type QueryQSetsRequest struct { Status CStatus `protobuf:"varint,1,opt,name=status,proto3,enum=DecentralCardGame.cardchain.cardchain.CStatus" json:"status,omitempty"` IgnoreStatus bool `protobuf:"varint,2,opt,name=ignoreStatus,proto3" json:"ignoreStatus,omitempty"` Contributors []string `protobuf:"bytes,3,rep,name=contributors,proto3" json:"contributors,omitempty"` @@ -1439,18 +1455,18 @@ type QueryQCollectionsRequest struct { Owner string `protobuf:"bytes,5,opt,name=owner,proto3" json:"owner,omitempty"` } -func (m *QueryQCollectionsRequest) Reset() { *m = QueryQCollectionsRequest{} } -func (m *QueryQCollectionsRequest) String() string { return proto.CompactTextString(m) } -func (*QueryQCollectionsRequest) ProtoMessage() {} -func (*QueryQCollectionsRequest) Descriptor() ([]byte, []int) { +func (m *QueryQSetsRequest) Reset() { *m = QueryQSetsRequest{} } +func (m *QueryQSetsRequest) String() string { return proto.CompactTextString(m) } +func (*QueryQSetsRequest) ProtoMessage() {} +func (*QueryQSetsRequest) Descriptor() ([]byte, []int) { return fileDescriptor_e1bdbfeb9d7f6cfd, []int{26} } -func (m *QueryQCollectionsRequest) XXX_Unmarshal(b []byte) error { +func (m *QueryQSetsRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *QueryQCollectionsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *QueryQSetsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_QueryQCollectionsRequest.Marshal(b, m, deterministic) + return xxx_messageInfo_QueryQSetsRequest.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -1460,69 +1476,69 @@ func (m *QueryQCollectionsRequest) XXX_Marshal(b []byte, deterministic bool) ([] return b[:n], nil } } -func (m *QueryQCollectionsRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_QueryQCollectionsRequest.Merge(m, src) +func (m *QueryQSetsRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryQSetsRequest.Merge(m, src) } -func (m *QueryQCollectionsRequest) XXX_Size() int { +func (m *QueryQSetsRequest) XXX_Size() int { return m.Size() } -func (m *QueryQCollectionsRequest) XXX_DiscardUnknown() { - xxx_messageInfo_QueryQCollectionsRequest.DiscardUnknown(m) +func (m *QueryQSetsRequest) XXX_DiscardUnknown() { + xxx_messageInfo_QueryQSetsRequest.DiscardUnknown(m) } -var xxx_messageInfo_QueryQCollectionsRequest proto.InternalMessageInfo +var xxx_messageInfo_QueryQSetsRequest proto.InternalMessageInfo -func (m *QueryQCollectionsRequest) GetStatus() CStatus { +func (m *QueryQSetsRequest) GetStatus() CStatus { if m != nil { return m.Status } return CStatus_design } -func (m *QueryQCollectionsRequest) GetIgnoreStatus() bool { +func (m *QueryQSetsRequest) GetIgnoreStatus() bool { if m != nil { return m.IgnoreStatus } return false } -func (m *QueryQCollectionsRequest) GetContributors() []string { +func (m *QueryQSetsRequest) GetContributors() []string { if m != nil { return m.Contributors } return nil } -func (m *QueryQCollectionsRequest) GetContainsCards() []uint64 { +func (m *QueryQSetsRequest) GetContainsCards() []uint64 { if m != nil { return m.ContainsCards } return nil } -func (m *QueryQCollectionsRequest) GetOwner() string { +func (m *QueryQSetsRequest) GetOwner() string { if m != nil { return m.Owner } return "" } -type QueryQCollectionsResponse struct { - CollectionIds []uint64 `protobuf:"varint,1,rep,packed,name=collectionIds,proto3" json:"collectionIds,omitempty"` +type QueryQSetsResponse struct { + SetIds []uint64 `protobuf:"varint,1,rep,packed,name=setIds,proto3" json:"setIds,omitempty"` } -func (m *QueryQCollectionsResponse) Reset() { *m = QueryQCollectionsResponse{} } -func (m *QueryQCollectionsResponse) String() string { return proto.CompactTextString(m) } -func (*QueryQCollectionsResponse) ProtoMessage() {} -func (*QueryQCollectionsResponse) Descriptor() ([]byte, []int) { +func (m *QueryQSetsResponse) Reset() { *m = QueryQSetsResponse{} } +func (m *QueryQSetsResponse) String() string { return proto.CompactTextString(m) } +func (*QueryQSetsResponse) ProtoMessage() {} +func (*QueryQSetsResponse) Descriptor() ([]byte, []int) { return fileDescriptor_e1bdbfeb9d7f6cfd, []int{27} } -func (m *QueryQCollectionsResponse) XXX_Unmarshal(b []byte) error { +func (m *QueryQSetsResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *QueryQCollectionsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *QueryQSetsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_QueryQCollectionsResponse.Marshal(b, m, deterministic) + return xxx_messageInfo_QueryQSetsResponse.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -1532,27 +1548,27 @@ func (m *QueryQCollectionsResponse) XXX_Marshal(b []byte, deterministic bool) ([ return b[:n], nil } } -func (m *QueryQCollectionsResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_QueryQCollectionsResponse.Merge(m, src) +func (m *QueryQSetsResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryQSetsResponse.Merge(m, src) } -func (m *QueryQCollectionsResponse) XXX_Size() int { +func (m *QueryQSetsResponse) XXX_Size() int { return m.Size() } -func (m *QueryQCollectionsResponse) XXX_DiscardUnknown() { - xxx_messageInfo_QueryQCollectionsResponse.DiscardUnknown(m) +func (m *QueryQSetsResponse) XXX_DiscardUnknown() { + xxx_messageInfo_QueryQSetsResponse.DiscardUnknown(m) } -var xxx_messageInfo_QueryQCollectionsResponse proto.InternalMessageInfo +var xxx_messageInfo_QueryQSetsResponse proto.InternalMessageInfo -func (m *QueryQCollectionsResponse) GetCollectionIds() []uint64 { +func (m *QueryQSetsResponse) GetSetIds() []uint64 { if m != nil { - return m.CollectionIds + return m.SetIds } return nil } type QueryRarityDistributionRequest struct { - CollectionId uint64 `protobuf:"varint,1,opt,name=collectionId,proto3" json:"collectionId,omitempty"` + SetId uint64 `protobuf:"varint,1,opt,name=setId,proto3" json:"setId,omitempty"` } func (m *QueryRarityDistributionRequest) Reset() { *m = QueryRarityDistributionRequest{} } @@ -1588,16 +1604,16 @@ func (m *QueryRarityDistributionRequest) XXX_DiscardUnknown() { var xxx_messageInfo_QueryRarityDistributionRequest proto.InternalMessageInfo -func (m *QueryRarityDistributionRequest) GetCollectionId() uint64 { +func (m *QueryRarityDistributionRequest) GetSetId() uint64 { if m != nil { - return m.CollectionId + return m.SetId } return 0 } type QueryRarityDistributionResponse struct { - Current []uint64 `protobuf:"varint,1,rep,packed,name=current,proto3" json:"current,omitempty"` - Wanted []uint64 `protobuf:"varint,2,rep,packed,name=wanted,proto3" json:"wanted,omitempty"` + Current []uint32 `protobuf:"varint,1,rep,packed,name=current,proto3" json:"current,omitempty"` + Wanted []uint32 `protobuf:"varint,2,rep,packed,name=wanted,proto3" json:"wanted,omitempty"` } func (m *QueryRarityDistributionResponse) Reset() { *m = QueryRarityDistributionResponse{} } @@ -1633,14 +1649,14 @@ func (m *QueryRarityDistributionResponse) XXX_DiscardUnknown() { var xxx_messageInfo_QueryRarityDistributionResponse proto.InternalMessageInfo -func (m *QueryRarityDistributionResponse) GetCurrent() []uint64 { +func (m *QueryRarityDistributionResponse) GetCurrent() []uint32 { if m != nil { return m.Current } return nil } -func (m *QueryRarityDistributionResponse) GetWanted() []uint64 { +func (m *QueryRarityDistributionResponse) GetWanted() []uint32 { if m != nil { return m.Wanted } @@ -1844,7 +1860,7 @@ func init() { proto.RegisterType((*QueryQCardsRequest)(nil), "DecentralCardGame.cardchain.cardchain.QueryQCardsRequest") proto.RegisterType((*QueryQCardsResponse)(nil), "DecentralCardGame.cardchain.cardchain.QueryQCardsResponse") proto.RegisterType((*QueryQMatchRequest)(nil), "DecentralCardGame.cardchain.cardchain.QueryQMatchRequest") - proto.RegisterType((*QueryQCollectionRequest)(nil), "DecentralCardGame.cardchain.cardchain.QueryQCollectionRequest") + proto.RegisterType((*QueryQSetRequest)(nil), "DecentralCardGame.cardchain.cardchain.QueryQSetRequest") proto.RegisterType((*QueryQSellOfferRequest)(nil), "DecentralCardGame.cardchain.cardchain.QueryQSellOfferRequest") proto.RegisterType((*QueryQCouncilRequest)(nil), "DecentralCardGame.cardchain.cardchain.QueryQCouncilRequest") proto.RegisterType((*QueryQMatchesRequest)(nil), "DecentralCardGame.cardchain.cardchain.QueryQMatchesRequest") @@ -1855,8 +1871,8 @@ func init() { proto.RegisterType((*QueryQSellOffersResponse)(nil), "DecentralCardGame.cardchain.cardchain.QueryQSellOffersResponse") proto.RegisterType((*QueryQServerRequest)(nil), "DecentralCardGame.cardchain.cardchain.QueryQServerRequest") proto.RegisterType((*QueryQServerResponse)(nil), "DecentralCardGame.cardchain.cardchain.QueryQServerResponse") - proto.RegisterType((*QueryQCollectionsRequest)(nil), "DecentralCardGame.cardchain.cardchain.QueryQCollectionsRequest") - proto.RegisterType((*QueryQCollectionsResponse)(nil), "DecentralCardGame.cardchain.cardchain.QueryQCollectionsResponse") + proto.RegisterType((*QueryQSetsRequest)(nil), "DecentralCardGame.cardchain.cardchain.QueryQSetsRequest") + proto.RegisterType((*QueryQSetsResponse)(nil), "DecentralCardGame.cardchain.cardchain.QueryQSetsResponse") proto.RegisterType((*QueryRarityDistributionRequest)(nil), "DecentralCardGame.cardchain.cardchain.QueryRarityDistributionRequest") proto.RegisterType((*QueryRarityDistributionResponse)(nil), "DecentralCardGame.cardchain.cardchain.QueryRarityDistributionResponse") proto.RegisterType((*QueryQCouncilsRequest)(nil), "DecentralCardGame.cardchain.cardchain.QueryQCouncilsRequest") @@ -1867,144 +1883,145 @@ func init() { func init() { proto.RegisterFile("cardchain/cardchain/query.proto", fileDescriptor_e1bdbfeb9d7f6cfd) } var fileDescriptor_e1bdbfeb9d7f6cfd = []byte{ - // 2189 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x59, 0xcd, 0x6f, 0x1b, 0xc7, - 0x15, 0xd7, 0x52, 0x14, 0x45, 0x8e, 0x3e, 0x40, 0x4f, 0x5d, 0x97, 0x65, 0x05, 0x59, 0x5d, 0x38, - 0xad, 0x9a, 0x44, 0x5c, 0x47, 0xb1, 0x1d, 0x45, 0x91, 0xf5, 0x1d, 0x37, 0x4a, 0xfc, 0xa5, 0x55, - 0x62, 0x14, 0xed, 0x41, 0x58, 0x92, 0x63, 0x6a, 0x91, 0xe5, 0x2e, 0xbd, 0xb3, 0x94, 0x43, 0x08, - 0x3c, 0xb4, 0xa7, 0x1e, 0x8b, 0xf6, 0x5f, 0xe8, 0xbd, 0x40, 0x5a, 0xe4, 0x56, 0xb4, 0x87, 0x1e, - 0x7c, 0xe8, 0xc1, 0x40, 0x51, 0x20, 0xf5, 0xc1, 0x28, 0xec, 0xa2, 0x3d, 0x16, 0xe8, 0xa1, 0xb7, - 0x02, 0xc5, 0xbc, 0xf9, 0xd8, 0x59, 0x92, 0xb6, 0x77, 0xe9, 0x13, 0x77, 0xde, 0xbc, 0xf7, 0xe6, - 0xfd, 0xe6, 0x7d, 0xcc, 0xbc, 0x21, 0xba, 0xd8, 0x70, 0xc2, 0x66, 0xe3, 0xc4, 0x71, 0x7d, 0x2b, - 0xfe, 0x7a, 0xd0, 0x25, 0x61, 0xaf, 0xd6, 0x09, 0x83, 0x28, 0xc0, 0x6f, 0xec, 0x93, 0x06, 0xf1, - 0xa3, 0xd0, 0xf1, 0xf6, 0x9c, 0xb0, 0xf9, 0x43, 0xa7, 0x4d, 0x6a, 0x8a, 0x31, 0xfe, 0xaa, 0x9e, - 0x6f, 0x05, 0xad, 0x00, 0x24, 0x2c, 0xf6, 0xc5, 0x85, 0xab, 0x0b, 0xad, 0x20, 0x68, 0x79, 0xc4, - 0x72, 0x3a, 0xae, 0xe5, 0xf8, 0x7e, 0x10, 0x39, 0x91, 0x1b, 0xf8, 0x54, 0xcc, 0xbe, 0xd9, 0x08, - 0x68, 0x3b, 0xa0, 0x56, 0xdd, 0xa1, 0x84, 0xaf, 0x69, 0x9d, 0xbe, 0x53, 0x27, 0x91, 0xf3, 0x8e, - 0xd5, 0x71, 0x5a, 0xae, 0x0f, 0xcc, 0x82, 0x77, 0x69, 0x94, 0x9d, 0x1d, 0x27, 0x74, 0xda, 0x52, - 0xdb, 0xa5, 0x51, 0x1c, 0xa7, 0x41, 0x44, 0x8e, 0x43, 0xb7, 0x75, 0x12, 0x09, 0xae, 0xe5, 0x17, - 0x70, 0xb9, 0x7e, 0xeb, 0x38, 0x24, 0xb4, 0xeb, 0x45, 0x52, 0xdf, 0xe2, 0x28, 0x4e, 0xf6, 0xf5, - 0xb2, 0xf9, 0x2e, 0x25, 0xa1, 0x98, 0x1f, 0xb9, 0xb3, 0x6d, 0x27, 0x6a, 0x9c, 0xbc, 0xcc, 0xe0, - 0x46, 0xe0, 0x79, 0xa4, 0xa1, 0x01, 0x1f, 0xc9, 0x45, 0x89, 0xe7, 0x1d, 0x07, 0xf7, 0xef, 0xab, - 0xc5, 0xbe, 0x3b, 0x5a, 0x57, 0xd7, 0x6f, 0xb8, 0xde, 0xcb, 0x76, 0x90, 0x92, 0xf0, 0x54, 0x29, - 0x59, 0x18, 0xc5, 0x11, 0x7d, 0xc1, 0x67, 0xcd, 0xf3, 0x08, 0x1f, 0x32, 0x1f, 0xdd, 0x85, 0x4d, - 0xb7, 0xc9, 0x83, 0x2e, 0xa1, 0x91, 0x59, 0x47, 0xdf, 0x48, 0x50, 0x69, 0x27, 0xf0, 0x29, 0xc1, - 0x9f, 0xa0, 0x02, 0x77, 0x4e, 0xc5, 0x58, 0x32, 0x96, 0x67, 0x56, 0x57, 0x6a, 0xa9, 0xc2, 0xa8, - 0xc6, 0xd5, 0xec, 0xe6, 0x1f, 0x3d, 0xbd, 0x38, 0x61, 0x0b, 0x15, 0xe6, 0x5b, 0xe8, 0x1c, 0xac, - 0x71, 0xc8, 0x44, 0xc5, 0xc2, 0xf8, 0x02, 0x2a, 0x30, 0xb1, 0x83, 0x26, 0xac, 0x50, 0xb2, 0xc5, - 0xc8, 0x5c, 0x45, 0x95, 0x98, 0x79, 0x2f, 0xf0, 0x23, 0xe2, 0x47, 0xaf, 0x92, 0x39, 0x40, 0xdf, - 0x1e, 0x21, 0x23, 0xa0, 0x54, 0xd0, 0x74, 0x83, 0x93, 0x84, 0x94, 0x1c, 0x62, 0x8c, 0xf2, 0x27, - 0x0e, 0x3d, 0xa9, 0xe4, 0x80, 0x0c, 0xdf, 0xe6, 0x8a, 0xb4, 0xf5, 0x33, 0x4a, 0x42, 0xb9, 0x6e, - 0x05, 0x4d, 0x3b, 0xcd, 0x66, 0x48, 0x28, 0x95, 0x2a, 0xc4, 0xd0, 0x5c, 0x40, 0xd5, 0x78, 0x65, - 0xd8, 0x82, 0x03, 0xff, 0x7e, 0x20, 0x37, 0xf7, 0x4f, 0x39, 0xf4, 0x9d, 0x91, 0xd3, 0xc2, 0xb4, - 0x9f, 0xa0, 0x32, 0x43, 0xb0, 0xd3, 0x85, 0x80, 0xb9, 0x1b, 0xba, 0x0d, 0xc2, 0x17, 0xd8, 0xb5, - 0xd8, 0x06, 0x3e, 0x79, 0x7a, 0xf1, 0xfb, 0x2d, 0x37, 0x3a, 0xe9, 0xd6, 0x6b, 0x8d, 0xa0, 0x6d, - 0x89, 0x6c, 0xe3, 0x3f, 0x2b, 0xb4, 0xf9, 0xb9, 0x15, 0xf5, 0x3a, 0x84, 0xd6, 0xf6, 0x02, 0xd7, - 0xb7, 0x87, 0x14, 0xe1, 0xb7, 0xd1, 0x39, 0xa7, 0x11, 0xb9, 0xa7, 0x64, 0x4f, 0x85, 0x24, 0xad, - 0xe4, 0x96, 0x26, 0x97, 0xf3, 0xf6, 0xf0, 0x04, 0x5e, 0x42, 0x33, 0x4c, 0x03, 0xbd, 0xdd, 0x6d, - 0xd7, 0x49, 0x58, 0x99, 0x5c, 0x32, 0x96, 0xf3, 0xb6, 0x4e, 0xc2, 0x97, 0xd0, 0x1c, 0x44, 0x3f, - 0x91, 0x3c, 0x79, 0xe0, 0x49, 0x12, 0xf1, 0x9b, 0xa8, 0xcc, 0x82, 0xfb, 0x0e, 0x8b, 0x6d, 0xc9, - 0x38, 0x05, 0x8c, 0x43, 0x74, 0xfc, 0x3d, 0x34, 0x2f, 0x42, 0x5c, 0x72, 0x16, 0x80, 0x73, 0x80, - 0x1a, 0x6f, 0xf2, 0x3d, 0xc8, 0x73, 0x9b, 0xa7, 0xb9, 0xdc, 0xe4, 0x9f, 0x1a, 0x72, 0x93, 0x07, - 0xa6, 0xc5, 0x26, 0xd7, 0xd1, 0x39, 0xcf, 0xa1, 0x51, 0x62, 0x52, 0x44, 0xf5, 0x95, 0x94, 0x51, - 0x9d, 0x54, 0x3c, 0xac, 0xce, 0xbc, 0x2a, 0x03, 0xf0, 0x5e, 0x10, 0x39, 0x75, 0x8f, 0x30, 0x6d, - 0xf4, 0xd5, 0xd1, 0xf3, 0x95, 0xa1, 0x21, 0xd3, 0xe4, 0x84, 0xe5, 0x26, 0x9a, 0xed, 0xfa, 0x21, - 0x69, 0xb9, 0x34, 0x22, 0x21, 0xe1, 0x41, 0x5f, 0xb4, 0x13, 0x34, 0xc6, 0xe3, 0x07, 0xf7, 0x82, - 0x88, 0xd8, 0xac, 0x48, 0x52, 0x88, 0xe5, 0xa2, 0x9d, 0xa0, 0xe1, 0xbb, 0x08, 0x9d, 0xc6, 0x1c, - 0x93, 0x4b, 0x93, 0xcb, 0x33, 0xab, 0x97, 0xd3, 0x43, 0xe7, 0x82, 0xb6, 0xa6, 0xc3, 0xfc, 0xf7, - 0xa4, 0x28, 0x26, 0x87, 0x09, 0xa4, 0xe7, 0xd1, 0x54, 0xf0, 0xd0, 0x27, 0xa1, 0xc0, 0xc9, 0x07, - 0xf8, 0x47, 0xa8, 0x40, 0x23, 0x27, 0xea, 0x72, 0xe3, 0xe6, 0x57, 0xb7, 0x53, 0x2e, 0x3d, 0xbc, - 0x40, 0xed, 0x08, 0xf4, 0xd8, 0x42, 0x1f, 0xae, 0xa2, 0x22, 0x63, 0xff, 0xb4, 0xd7, 0x21, 0x10, - 0xb1, 0x25, 0x5b, 0x8d, 0x21, 0xed, 0x3d, 0x87, 0x52, 0x42, 0x21, 0x50, 0x59, 0xda, 0xf3, 0x21, - 0xab, 0x22, 0x34, 0x08, 0xa3, 0xdd, 0x1e, 0x04, 0x66, 0xc9, 0x16, 0x23, 0xd8, 0x4a, 0xa7, 0x4d, - 0x58, 0xfd, 0x70, 0x5c, 0x9f, 0x42, 0x30, 0x96, 0xec, 0x04, 0x8d, 0x85, 0xf7, 0xe7, 0xa4, 0xf7, - 0x30, 0x08, 0x9b, 0x54, 0xf1, 0x4d, 0x03, 0xdf, 0x10, 0x9d, 0x25, 0x8c, 0x1f, 0x44, 0x24, 0x66, - 0x2c, 0x02, 0x63, 0x92, 0x68, 0xfe, 0xda, 0x40, 0x05, 0x0e, 0x0b, 0x23, 0x54, 0xa0, 0x8d, 0x13, - 0xd2, 0x26, 0xe5, 0x09, 0x3c, 0x87, 0x4a, 0x50, 0xb6, 0x59, 0x8a, 0x97, 0x0d, 0x5c, 0x42, 0x53, - 0x51, 0xe8, 0x3a, 0x5e, 0x39, 0x07, 0x33, 0x24, 0x6c, 0x3b, 0x3e, 0xf1, 0xa3, 0xf2, 0x24, 0x1b, - 0xd2, 0x2e, 0xed, 0x10, 0xbf, 0x49, 0x9a, 0xe5, 0x3c, 0xd3, 0x51, 0x77, 0x7c, 0x9f, 0x34, 0xcb, - 0x53, 0x78, 0x1e, 0x21, 0xfe, 0x7d, 0x14, 0x04, 0x7e, 0xb9, 0x80, 0x31, 0x9a, 0xe7, 0xe3, 0x7b, - 0x24, 0xec, 0x01, 0x6d, 0x1a, 0x17, 0x51, 0xde, 0x0f, 0x7c, 0x52, 0x2e, 0xe2, 0x59, 0x54, 0xec, - 0x78, 0x4e, 0x8f, 0x85, 0x61, 0xb9, 0xc4, 0x64, 0xbb, 0xbe, 0x1a, 0x23, 0xf3, 0x5d, 0x71, 0x4e, - 0x1c, 0x26, 0x43, 0x74, 0x01, 0x95, 0xa0, 0x46, 0xdc, 0x74, 0x29, 0x2b, 0xaf, 0xac, 0xb8, 0xc4, - 0x04, 0xb3, 0x26, 0xa3, 0xe4, 0x16, 0xab, 0x11, 0x5a, 0x3e, 0x40, 0xcd, 0x10, 0x65, 0x3c, 0x6f, - 0xcb, 0xa1, 0x79, 0x1d, 0x7d, 0x4b, 0x2c, 0xa2, 0x2a, 0x93, 0x14, 0x32, 0xd1, 0x6c, 0x7c, 0xb4, - 0x2a, 0xc9, 0x04, 0xcd, 0x5c, 0x47, 0x17, 0xb8, 0xf8, 0x91, 0xac, 0x34, 0x52, 0x7a, 0x09, 0xcd, - 0xa8, 0xea, 0xa3, 0x84, 0x75, 0x92, 0x79, 0x05, 0x9d, 0x97, 0x4b, 0x43, 0xed, 0x91, 0x92, 0x0c, - 0x20, 0xa7, 0x28, 0xb9, 0x98, 0x60, 0x3e, 0xc9, 0x49, 0xb1, 0x5b, 0xbc, 0x0a, 0x4a, 0xb1, 0x4b, - 0x68, 0x2e, 0x72, 0xdb, 0x84, 0x46, 0x4e, 0xbb, 0xb3, 0x1f, 0x3c, 0xf4, 0x85, 0x68, 0x92, 0xc8, - 0xcc, 0x52, 0x84, 0xcf, 0x3a, 0x90, 0x1e, 0x79, 0x5b, 0x27, 0x31, 0x3d, 0x0d, 0x11, 0x29, 0xec, - 0x40, 0xe2, 0xd9, 0x5b, 0xb2, 0x93, 0x44, 0x96, 0x07, 0x21, 0xe9, 0x04, 0x61, 0x24, 0xaa, 0x72, - 0xc9, 0x56, 0x63, 0xfc, 0x11, 0x9a, 0x0e, 0xba, 0x51, 0x23, 0x68, 0x13, 0x08, 0xf7, 0xf9, 0xd5, - 0x5a, 0xca, 0xf4, 0xbb, 0xc3, 0xa5, 0x6c, 0x29, 0xae, 0x8e, 0x88, 0xbb, 0x9e, 0xd3, 0x23, 0xcd, - 0x4a, 0x01, 0xbc, 0xad, 0x93, 0xf0, 0x4d, 0x54, 0x70, 0x5b, 0x7e, 0x10, 0x12, 0xc8, 0x89, 0xf4, - 0xf5, 0xf5, 0x00, 0x84, 0xe4, 0x16, 0x0a, 0x1d, 0xe6, 0x0f, 0xd0, 0x5c, 0x62, 0x82, 0x05, 0x8e, - 0x84, 0xc2, 0x4b, 0xa1, 0x1c, 0xb2, 0x33, 0xe0, 0x9b, 0x03, 0x7e, 0x10, 0x01, 0xba, 0x84, 0x66, - 0xc4, 0x01, 0xa5, 0x85, 0xa8, 0x4e, 0xc2, 0x37, 0x44, 0x38, 0x12, 0x7e, 0x3a, 0xce, 0xac, 0xbe, - 0x9d, 0xd2, 0x6a, 0x1e, 0xd4, 0x52, 0xd8, 0xfc, 0x5d, 0x4e, 0x46, 0xaf, 0x0a, 0x3f, 0xaa, 0x45, - 0x51, 0x87, 0x1d, 0xca, 0x2a, 0x14, 0x4a, 0x76, 0x4c, 0x60, 0xb8, 0x60, 0x20, 0x42, 0xa0, 0x64, - 0xcb, 0x21, 0x94, 0x2a, 0xe2, 0x79, 0xe2, 0x40, 0x66, 0xa5, 0x0a, 0x46, 0xac, 0xd0, 0xd6, 0xbb, - 0x3d, 0xe5, 0x6d, 0x3e, 0x60, 0xf7, 0x19, 0x66, 0x9d, 0x38, 0x6f, 0xe1, 0x1b, 0xdf, 0x56, 0xc5, - 0xb7, 0x00, 0xde, 0xbf, 0x96, 0x12, 0x9c, 0xc2, 0x30, 0x50, 0x72, 0xef, 0x0c, 0xb8, 0xf8, 0xbd, - 0x4c, 0x2e, 0xd6, 0x76, 0x46, 0x7a, 0x79, 0x13, 0x95, 0x07, 0xe7, 0x00, 0x36, 0x37, 0x9a, 0xfb, - 0x59, 0x2e, 0x2e, 0x01, 0xf2, 0x43, 0x0e, 0xbe, 0xcd, 0x5f, 0x1a, 0xf2, 0xc2, 0xa8, 0x6f, 0xbb, - 0xf0, 0xfe, 0x25, 0x34, 0x17, 0xdf, 0x3a, 0x0e, 0x9a, 0x54, 0xf8, 0x3f, 0x49, 0x64, 0xe7, 0x63, - 0x4c, 0x10, 0x41, 0x70, 0x39, 0xeb, 0x3e, 0xd9, 0x9a, 0x0e, 0xf3, 0x0d, 0x59, 0x2d, 0x8f, 0xe0, - 0x7e, 0x2e, 0xc3, 0x60, 0x1e, 0xe5, 0x5c, 0x59, 0x45, 0x72, 0x6e, 0xd3, 0xbc, 0x20, 0xab, 0x87, - 0x64, 0xe3, 0x66, 0x9b, 0xff, 0x54, 0x98, 0xb4, 0x2b, 0x9a, 0x54, 0x72, 0x23, 0xb1, 0x39, 0xe9, - 0xf3, 0x79, 0x6f, 0xc0, 0x93, 0x26, 0x9a, 0xe5, 0x2e, 0x38, 0x8a, 0x0f, 0xe7, 0xa2, 0x9d, 0xa0, - 0xf1, 0xaa, 0xeb, 0x47, 0xa1, 0x5b, 0xef, 0x46, 0x81, 0xaa, 0x3e, 0x09, 0x9a, 0x5e, 0xa2, 0xe0, - 0x6c, 0xa8, 0xe4, 0xf9, 0x1e, 0x27, 0x88, 0xf1, 0xd5, 0x60, 0x4a, 0xbb, 0x1a, 0x98, 0x3b, 0xea, - 0xe2, 0xae, 0xe3, 0x8c, 0x9d, 0xa7, 0x97, 0x77, 0xe5, 0xbc, 0x04, 0xd1, 0xdc, 0x47, 0x8b, 0xa0, - 0xc2, 0x76, 0x42, 0x37, 0xea, 0xed, 0xbb, 0x94, 0x5b, 0x96, 0xf1, 0xe8, 0x38, 0x42, 0x17, 0x5f, - 0xa8, 0x45, 0xeb, 0x23, 0xba, 0x61, 0xc8, 0xfb, 0x08, 0x66, 0x88, 0x1c, 0xb2, 0x70, 0x7d, 0xe8, - 0xf8, 0x11, 0x69, 0x8a, 0xeb, 0xb5, 0x18, 0x99, 0xff, 0x53, 0x55, 0x49, 0x1c, 0x2a, 0xca, 0x87, - 0x77, 0x06, 0x7c, 0x98, 0x36, 0x8b, 0x40, 0x0f, 0xf1, 0x5c, 0xbf, 0x35, 0xe0, 0xcc, 0x0b, 0xa8, - 0xc0, 0xae, 0x67, 0xca, 0x45, 0x62, 0xa4, 0x32, 0x26, 0xaf, 0x95, 0x04, 0x06, 0x24, 0x24, 0x4e, - 0x14, 0x48, 0x67, 0xc8, 0x21, 0xbe, 0xa5, 0x92, 0x3b, 0x07, 0xc9, 0x7d, 0x35, 0x53, 0x72, 0x2b, - 0x90, 0x32, 0xb5, 0x37, 0xd0, 0x7c, 0x72, 0x26, 0x53, 0x62, 0xff, 0xdc, 0x90, 0xc7, 0x79, 0xbc, - 0x7b, 0xf1, 0xc5, 0x58, 0xb6, 0x08, 0x5a, 0x56, 0x27, 0x68, 0xf8, 0x63, 0x54, 0x94, 0x63, 0x91, - 0xd2, 0xb5, 0x2c, 0x9b, 0xec, 0x7a, 0xb6, 0x92, 0x5f, 0xfd, 0xcf, 0x02, 0x9a, 0x02, 0x53, 0xf0, - 0x57, 0x06, 0x2a, 0xf0, 0x1e, 0x17, 0xbf, 0x9f, 0xe5, 0x1a, 0x9b, 0x68, 0xba, 0xab, 0xeb, 0xe3, - 0x88, 0x8a, 0xda, 0x70, 0xf5, 0x67, 0x7f, 0xf9, 0xc7, 0xaf, 0x72, 0x16, 0x5e, 0xb1, 0x86, 0x74, - 0x58, 0x2f, 0x7e, 0x63, 0xc1, 0x5f, 0x1a, 0x68, 0x0a, 0xee, 0x6e, 0x78, 0x2d, 0xf3, 0xf5, 0x5b, - 0x9a, 0x6d, 0xa5, 0xbf, 0x39, 0x74, 0x18, 0x83, 0xb9, 0x09, 0xb6, 0xae, 0xe1, 0x6b, 0x29, 0x6d, - 0x7d, 0x70, 0xcc, 0xbe, 0xad, 0x33, 0xde, 0xd6, 0xf7, 0xf1, 0xdf, 0x0c, 0x34, 0xab, 0xf7, 0xf4, - 0x78, 0x2b, 0xb3, 0xed, 0xc9, 0x17, 0x84, 0xea, 0xf6, 0xf8, 0x0a, 0xc4, 0xfe, 0xdf, 0x00, 0x4c, - 0xdb, 0x78, 0x33, 0x13, 0xa6, 0x63, 0xf1, 0xe6, 0x10, 0x63, 0xfb, 0x0d, 0x73, 0x08, 0xbb, 0xbe, - 0x65, 0x74, 0x88, 0xf6, 0x2e, 0x51, 0x7d, 0x2b, 0xa5, 0x24, 0x93, 0x31, 0xb7, 0xc0, 0xf0, 0xf7, - 0xf1, 0x7b, 0xa9, 0x0d, 0xef, 0x52, 0x12, 0x5a, 0x67, 0xa2, 0x59, 0xed, 0xe3, 0xaf, 0x0d, 0x34, - 0x9f, 0x7c, 0xc8, 0xc0, 0x3b, 0x99, 0xb7, 0x73, 0xf0, 0x8d, 0xa4, 0xba, 0xfb, 0x3a, 0x2a, 0x84, - 0x4f, 0xb2, 0x43, 0x53, 0xdf, 0xc7, 0x2e, 0xc3, 0x01, 0xd0, 0x12, 0x2d, 0x7d, 0x46, 0x68, 0xa3, - 0x5e, 0x26, 0x32, 0x42, 0x1b, 0xf9, 0x7a, 0x31, 0x06, 0xb4, 0xe4, 0x63, 0x28, 0x7e, 0x6a, 0xa0, - 0xb9, 0xc4, 0xf3, 0x02, 0xde, 0xce, 0x6a, 0xd6, 0xe0, 0x8b, 0x46, 0x75, 0xe7, 0x35, 0x34, 0x08, - 0x5c, 0x1f, 0x01, 0xae, 0x5d, 0xbc, 0x9d, 0x05, 0x17, 0x53, 0x03, 0xae, 0xa3, 0x5a, 0x58, 0xfe, - 0xd1, 0x40, 0x05, 0xde, 0x95, 0x66, 0x2b, 0xc9, 0x89, 0x97, 0x85, 0x6c, 0x25, 0x39, 0xd9, 0x04, - 0x8f, 0x19, 0x7e, 0xd4, 0x3a, 0xe3, 0xa7, 0x5f, 0x1f, 0xff, 0x96, 0x41, 0x80, 0x76, 0x22, 0x23, - 0x04, 0xbd, 0xaf, 0xae, 0x66, 0xea, 0x5b, 0xcc, 0x6d, 0x30, 0x7a, 0x1d, 0xaf, 0xa5, 0x36, 0x1a, - 0x1a, 0x1d, 0xeb, 0x4c, 0x34, 0xeb, 0x7d, 0xfc, 0xd8, 0x40, 0x33, 0xda, 0xc5, 0x0d, 0x6f, 0x66, - 0xdb, 0xc2, 0xc1, 0x16, 0xbf, 0x7a, 0x35, 0xcb, 0xf1, 0xa2, 0xa4, 0xcd, 0x8f, 0x01, 0xc8, 0x3e, - 0xde, 0x4d, 0xbf, 0xfb, 0x4a, 0xd8, 0x3a, 0xd3, 0x6f, 0x81, 0x7d, 0xfc, 0xc8, 0x40, 0x28, 0xee, - 0x23, 0xf0, 0xf5, 0x4c, 0x88, 0x06, 0x5f, 0x1d, 0xaa, 0x99, 0x7b, 0x08, 0xf3, 0x00, 0xb0, 0xec, - 0xe1, 0x9d, 0xd4, 0x58, 0xe2, 0x7f, 0x12, 0xac, 0x33, 0xed, 0x3d, 0xa3, 0x8f, 0x7f, 0x6f, 0xa0, - 0xa2, 0xbc, 0x39, 0xe1, 0x0f, 0x32, 0xba, 0x46, 0x7f, 0x02, 0xa9, 0x66, 0xbc, 0x37, 0x99, 0xfb, - 0x00, 0x62, 0x13, 0x6f, 0x64, 0x70, 0x08, 0x48, 0x32, 0x6f, 0x88, 0x97, 0x95, 0x3e, 0xfe, 0x03, - 0xb3, 0x5f, 0x76, 0xfe, 0x1f, 0x64, 0xcf, 0x0a, 0xf5, 0x16, 0x53, 0xdd, 0x18, 0x4f, 0x58, 0x24, - 0xf7, 0x1a, 0xa0, 0x59, 0xc5, 0x97, 0xb3, 0xe5, 0x09, 0xa1, 0xf8, 0xaf, 0x2c, 0x3f, 0xb4, 0xae, - 0x76, 0x73, 0xbc, 0x68, 0x52, 0x38, 0xb6, 0xc6, 0x96, 0x17, 0x50, 0x3e, 0x04, 0x28, 0x5b, 0xf8, - 0xfa, 0x18, 0xd1, 0xa5, 0x55, 0xab, 0x2f, 0x0d, 0x34, 0x2d, 0x3a, 0x56, 0xbc, 0x9e, 0xd1, 0x26, - 0xad, 0x1b, 0xae, 0xae, 0xa4, 0x4e, 0x0f, 0x26, 0x65, 0x6e, 0x80, 0xf5, 0xd7, 0xf0, 0x95, 0x0c, - 0xd6, 0x33, 0x41, 0xeb, 0xcc, 0x6d, 0xf6, 0xf1, 0xbf, 0xe0, 0x2a, 0xa9, 0xfd, 0xe1, 0xb1, 0x35, - 0x66, 0xb5, 0xa2, 0x63, 0x5e, 0x25, 0x87, 0x1b, 0x5c, 0xf3, 0x53, 0x40, 0x74, 0x1b, 0xdf, 0x1c, - 0x81, 0x68, 0xef, 0x15, 0x95, 0x2b, 0xf6, 0x87, 0x75, 0xa6, 0xb7, 0xec, 0x7d, 0xfc, 0x5f, 0x03, - 0xe1, 0xe1, 0x36, 0x16, 0x7f, 0x98, 0xc5, 0xdc, 0x17, 0x36, 0xd3, 0xd5, 0x1b, 0xaf, 0xab, 0x46, - 0x60, 0x3f, 0x04, 0xec, 0x9f, 0xe0, 0x83, 0x94, 0xd8, 0x43, 0x50, 0x75, 0xdc, 0xd4, 0x74, 0x0d, - 0x16, 0xef, 0x3f, 0x1b, 0xa8, 0xa4, 0x7a, 0x45, 0xbc, 0x31, 0x4e, 0xc9, 0x53, 0xce, 0xbd, 0x3e, - 0xa6, 0xb4, 0x40, 0xb7, 0x0b, 0xe8, 0x36, 0xf0, 0x7a, 0x06, 0xcf, 0x72, 0x15, 0xca, 0xad, 0xbb, - 0xf6, 0xa3, 0x67, 0x8b, 0xc6, 0xe3, 0x67, 0x8b, 0xc6, 0xdf, 0x9f, 0x2d, 0x1a, 0xbf, 0x78, 0xbe, - 0x38, 0xf1, 0xf8, 0xf9, 0xe2, 0xc4, 0xd7, 0xcf, 0x17, 0x27, 0x7e, 0xbc, 0xa6, 0xfd, 0x29, 0xf8, - 0x32, 0xfd, 0x5f, 0xe8, 0x7f, 0x03, 0xf7, 0x3a, 0x84, 0xd6, 0x0b, 0xf0, 0x9f, 0xc2, 0xbb, 0xff, - 0x0f, 0x00, 0x00, 0xff, 0xff, 0x59, 0x9b, 0xb4, 0x4f, 0x36, 0x20, 0x00, 0x00, + // 2198 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x19, 0x4d, 0x6f, 0x1b, 0xc7, + 0xd5, 0x4b, 0x51, 0x94, 0xf8, 0x64, 0xa9, 0xcc, 0xd4, 0x75, 0x59, 0xd6, 0x95, 0xd5, 0x85, 0xd3, + 0xaa, 0x49, 0xcc, 0x75, 0x14, 0x7f, 0xc8, 0x8a, 0x2c, 0xcb, 0x92, 0xec, 0x44, 0x69, 0x14, 0xdb, + 0xab, 0xc6, 0x28, 0xda, 0x83, 0xb0, 0x24, 0xc7, 0xd4, 0x22, 0xe4, 0x0e, 0xbd, 0x33, 0x94, 0x43, + 0x08, 0x3a, 0xb4, 0xa7, 0x1e, 0x8b, 0xf6, 0xd4, 0x7b, 0x8f, 0x2d, 0x0a, 0xa4, 0x45, 0x6e, 0x45, + 0x7b, 0x34, 0xd0, 0x1e, 0x02, 0x14, 0x05, 0xd2, 0x1c, 0xdc, 0xc2, 0xee, 0xbd, 0xbf, 0xa0, 0x40, + 0x30, 0x6f, 0x66, 0xf6, 0x83, 0xa2, 0x95, 0x5d, 0xfa, 0xc4, 0x7d, 0x6f, 0xde, 0x7b, 0xf3, 0xbe, + 0x67, 0xde, 0x10, 0xce, 0x37, 0xbd, 0xb0, 0xd5, 0xdc, 0xf7, 0xfc, 0xc0, 0x89, 0xbf, 0x1e, 0xf5, + 0x69, 0x38, 0xa8, 0xf7, 0x42, 0x26, 0x18, 0x79, 0x75, 0x8b, 0x36, 0x69, 0x20, 0x42, 0xaf, 0xb3, + 0xe9, 0x85, 0xad, 0x77, 0xbc, 0x2e, 0xad, 0x47, 0x84, 0xf1, 0x57, 0xed, 0x4c, 0x9b, 0xb5, 0x19, + 0x72, 0x38, 0xf2, 0x4b, 0x31, 0xd7, 0xce, 0xb5, 0x19, 0x6b, 0x77, 0xa8, 0xe3, 0xf5, 0x7c, 0xc7, + 0x0b, 0x02, 0x26, 0x3c, 0xe1, 0xb3, 0x80, 0xeb, 0xd5, 0xd7, 0x9a, 0x8c, 0x77, 0x19, 0x77, 0x1a, + 0x1e, 0xa7, 0x6a, 0x4f, 0xe7, 0xe0, 0xcd, 0x06, 0x15, 0xde, 0x9b, 0x4e, 0xcf, 0x6b, 0xfb, 0x01, + 0x12, 0x6b, 0xda, 0x85, 0x51, 0x7a, 0xf6, 0xbc, 0xd0, 0xeb, 0xf2, 0x93, 0x28, 0x0e, 0x98, 0xf0, + 0x83, 0xb6, 0xa6, 0x98, 0x1f, 0x45, 0x21, 0xbf, 0x4e, 0x5a, 0xef, 0x73, 0x1a, 0xea, 0xf5, 0x91, + 0xbe, 0xea, 0x7a, 0xa2, 0xb9, 0xaf, 0x09, 0xbe, 0x33, 0x8a, 0x80, 0x53, 0xa1, 0x97, 0x2f, 0x8c, + 0x5e, 0xee, 0x74, 0xf6, 0xd8, 0xc3, 0x87, 0xd1, 0x2e, 0xdf, 0x1d, 0xa9, 0x25, 0xeb, 0x07, 0x4d, + 0xbf, 0x73, 0x92, 0xa9, 0x9c, 0x86, 0x07, 0x91, 0x90, 0x73, 0xa3, 0x28, 0xc4, 0xc7, 0x6a, 0xd5, + 0x3e, 0x03, 0xe4, 0xbe, 0x74, 0xf7, 0x3d, 0xf4, 0x9f, 0x4b, 0x1f, 0xf5, 0x29, 0x17, 0x76, 0x03, + 0xbe, 0x9e, 0xc2, 0xf2, 0x1e, 0x0b, 0x38, 0x25, 0x3f, 0x84, 0x92, 0xf2, 0x73, 0xd5, 0x5a, 0xb0, + 0x16, 0x67, 0x96, 0x2e, 0xd6, 0x33, 0x65, 0x44, 0x5d, 0x89, 0xd9, 0x28, 0x3e, 0x79, 0x7a, 0xfe, + 0x94, 0xab, 0x45, 0xd8, 0xaf, 0xc3, 0x2b, 0xb8, 0xc7, 0x7d, 0xc9, 0xaa, 0x37, 0x26, 0x67, 0xa1, + 0x24, 0xd9, 0xb6, 0x5b, 0xb8, 0x43, 0xd9, 0xd5, 0x90, 0xbd, 0x04, 0xd5, 0x98, 0x78, 0x93, 0x05, + 0x82, 0x06, 0xe2, 0xab, 0x78, 0xb6, 0xe1, 0x5b, 0x23, 0x78, 0xb4, 0x29, 0x55, 0x98, 0x6a, 0x2a, + 0x94, 0xe6, 0x32, 0x20, 0x21, 0x50, 0xdc, 0xf7, 0xf8, 0x7e, 0xb5, 0x80, 0x68, 0xfc, 0xb6, 0x2f, + 0x1a, 0x5d, 0x3f, 0xe4, 0x34, 0x34, 0xfb, 0x56, 0x61, 0xca, 0x6b, 0xb5, 0x42, 0xca, 0xb9, 0x11, + 0xa1, 0x41, 0xfb, 0x1c, 0xd4, 0xe2, 0x9d, 0xd1, 0x05, 0xdb, 0xc1, 0x43, 0x66, 0x9c, 0xfb, 0xac, + 0x00, 0xdf, 0x1e, 0xb9, 0xac, 0x55, 0xfb, 0x29, 0x54, 0xa4, 0x05, 0xb7, 0xfa, 0x4d, 0x99, 0xf4, + 0xf7, 0x42, 0xbf, 0x49, 0xd5, 0x06, 0x1b, 0x8e, 0x74, 0xe0, 0x17, 0x4f, 0xcf, 0x7f, 0xbf, 0xed, + 0x8b, 0xfd, 0x7e, 0xa3, 0xde, 0x64, 0x5d, 0x47, 0x17, 0x8e, 0xfa, 0xb9, 0xc8, 0x5b, 0x1f, 0x39, + 0x62, 0xd0, 0xa3, 0xbc, 0xbe, 0xc9, 0xfc, 0xc0, 0x3d, 0x26, 0x88, 0xcc, 0x03, 0x78, 0x4d, 0xe1, + 0x1f, 0xd0, 0x5d, 0x2a, 0x78, 0xb5, 0xb0, 0x30, 0xb1, 0x58, 0x74, 0x13, 0x18, 0xb2, 0x00, 0x33, + 0x92, 0x87, 0x7f, 0xd0, 0xef, 0x36, 0x68, 0x58, 0x9d, 0x58, 0xb0, 0x16, 0x8b, 0x6e, 0x12, 0x45, + 0x2e, 0xc0, 0x2c, 0x26, 0x3a, 0x35, 0x34, 0x45, 0xa4, 0x49, 0x23, 0xc9, 0x6b, 0x50, 0x91, 0xe9, + 0x7c, 0x57, 0x66, 0xb3, 0x21, 0x9c, 0x44, 0xc2, 0x63, 0x78, 0xf2, 0x3d, 0x98, 0xd3, 0x49, 0x6d, + 0x28, 0x4b, 0x48, 0x39, 0x84, 0x95, 0x32, 0x3b, 0x1e, 0x17, 0xd2, 0x6b, 0x3b, 0xac, 0xe5, 0x3f, + 0xf4, 0x69, 0xab, 0x3a, 0xa5, 0x64, 0x0e, 0xe3, 0xe3, 0x10, 0x3c, 0xc0, 0xb2, 0x77, 0x29, 0xef, + 0x77, 0x44, 0x94, 0xdf, 0x3f, 0xb3, 0x4c, 0x08, 0x86, 0x96, 0x75, 0x08, 0x1a, 0xf0, 0x8a, 0x94, + 0x98, 0x5a, 0xd4, 0x39, 0x7f, 0x39, 0x63, 0xce, 0xa7, 0x05, 0x1f, 0x17, 0x67, 0x5f, 0x31, 0xe9, + 0xf9, 0x80, 0x09, 0xaf, 0xd1, 0xa1, 0x52, 0x1a, 0xff, 0xea, 0xdc, 0xfa, 0xd4, 0x4a, 0x58, 0x96, + 0xe0, 0xd3, 0x9a, 0xdb, 0x70, 0xba, 0x1f, 0x84, 0xb4, 0xed, 0x73, 0x41, 0x43, 0xaa, 0x4a, 0x62, + 0xda, 0x4d, 0xe1, 0x24, 0x4d, 0xc0, 0x1e, 0x30, 0x41, 0x5d, 0xbf, 0xbd, 0x8f, 0x59, 0x80, 0x34, + 0x49, 0x1c, 0xb9, 0x07, 0x70, 0x10, 0x53, 0x4c, 0x2c, 0x4c, 0x2c, 0xce, 0x2c, 0x5d, 0xca, 0x6e, + 0xba, 0x62, 0x74, 0x13, 0x32, 0xec, 0xdf, 0x14, 0x75, 0xab, 0xb9, 0x9f, 0xb2, 0xf4, 0x0c, 0x4c, + 0xb2, 0xc7, 0x01, 0x0d, 0xb5, 0x9d, 0x0a, 0x20, 0x3f, 0x86, 0x12, 0x17, 0x9e, 0xe8, 0x2b, 0xe5, + 0xe6, 0x96, 0xd6, 0x33, 0x6e, 0x7d, 0x7c, 0x83, 0xfa, 0x2e, 0xca, 0x71, 0xb5, 0x3c, 0x52, 0x83, + 0x69, 0x49, 0xfe, 0xa3, 0x41, 0x8f, 0x62, 0x76, 0x97, 0xdd, 0x08, 0xc6, 0xa6, 0xd0, 0xf1, 0x38, + 0xa7, 0x1c, 0x93, 0x5a, 0x36, 0x05, 0x05, 0xca, 0x1e, 0xc3, 0x59, 0x28, 0x36, 0x06, 0x98, 0xc4, + 0x65, 0x57, 0x43, 0xe8, 0x4a, 0xaf, 0x4b, 0x65, 0x77, 0xf1, 0xfc, 0x80, 0x63, 0xe2, 0x96, 0xdd, + 0x14, 0x4e, 0xa6, 0xed, 0x47, 0x74, 0xf0, 0x98, 0x85, 0x2d, 0x1e, 0xd1, 0x4d, 0x21, 0xdd, 0x31, + 0xbc, 0x2c, 0xae, 0x80, 0x09, 0x1a, 0x13, 0x4e, 0x23, 0x61, 0x1a, 0x49, 0x16, 0xe1, 0x6b, 0x2c, + 0xe8, 0x0c, 0x76, 0x85, 0x17, 0x0a, 0x1a, 0x4a, 0x6b, 0xab, 0x65, 0x8c, 0xe1, 0x30, 0xda, 0xfe, + 0xad, 0x05, 0x25, 0xe5, 0x00, 0x02, 0x50, 0xe2, 0xcd, 0x7d, 0xda, 0xa5, 0x95, 0x53, 0x64, 0x16, + 0xca, 0xd8, 0xfe, 0x65, 0xab, 0xa8, 0x58, 0xa4, 0x0c, 0x93, 0x22, 0xf4, 0xbd, 0x4e, 0xa5, 0x80, + 0x2b, 0x34, 0xec, 0x7a, 0x01, 0x0d, 0x44, 0x65, 0x42, 0x82, 0xbc, 0xcf, 0x7b, 0x34, 0x68, 0xd1, + 0x56, 0xa5, 0x28, 0x65, 0x34, 0xbc, 0x20, 0xa0, 0xad, 0xca, 0x24, 0x99, 0x03, 0x50, 0xdf, 0xbb, + 0x8c, 0x05, 0x95, 0x12, 0x21, 0x30, 0xa7, 0xe0, 0x07, 0x34, 0x1c, 0x20, 0x6e, 0x8a, 0x4c, 0x43, + 0x31, 0x60, 0x01, 0xad, 0x4c, 0x93, 0xd3, 0x30, 0xdd, 0xeb, 0x78, 0x03, 0x99, 0xb0, 0x95, 0xb2, + 0xe4, 0xed, 0x07, 0x11, 0x0c, 0xf6, 0x5b, 0xfa, 0xbc, 0xb9, 0x9f, 0x4e, 0xe6, 0x73, 0x50, 0xc6, + 0xce, 0xf3, 0xbe, 0xcf, 0x65, 0x9b, 0x96, 0xbd, 0x2a, 0x46, 0xd8, 0x75, 0x93, 0x4f, 0x3b, 0xb2, + 0xf3, 0x24, 0x2a, 0x07, 0x3b, 0x91, 0x3e, 0x0e, 0x8a, 0xae, 0x01, 0xed, 0x45, 0xa8, 0x28, 0xfa, + 0x5d, 0x2a, 0x12, 0xd9, 0xc7, 0xa9, 0x88, 0x68, 0x15, 0x60, 0xaf, 0xc0, 0x59, 0x43, 0xa9, 0x5b, + 0x95, 0xa1, 0x5f, 0x80, 0x99, 0xa8, 0x7d, 0x45, 0x5c, 0x49, 0x94, 0x7d, 0x19, 0xce, 0x68, 0x53, + 0x54, 0xf3, 0x32, 0x9c, 0xd2, 0x16, 0x85, 0x89, 0xf8, 0x62, 0x84, 0xfd, 0x45, 0xc1, 0xb0, 0xed, + 0xa8, 0x36, 0x6a, 0xd8, 0x2e, 0xc0, 0xac, 0xf0, 0xbb, 0x94, 0x0b, 0xaf, 0xdb, 0xdb, 0x62, 0x8f, + 0x03, 0xcd, 0x9a, 0x46, 0x4a, 0xb5, 0x22, 0xc4, 0x87, 0x3d, 0xac, 0x99, 0xa2, 0x9b, 0x44, 0x49, + 0x39, 0x4d, 0x9d, 0x3e, 0xf2, 0x0c, 0x53, 0x25, 0x5d, 0x76, 0xd3, 0x48, 0x59, 0x1c, 0x21, 0xed, + 0x31, 0x99, 0x3e, 0xba, 0x02, 0x22, 0x98, 0xbc, 0x0b, 0x53, 0xac, 0x2f, 0x9a, 0xac, 0x4b, 0xb1, + 0x06, 0xe6, 0x96, 0xea, 0x19, 0x6b, 0xf2, 0xae, 0xe2, 0x72, 0x0d, 0x7b, 0x74, 0xc6, 0xdc, 0xeb, + 0x78, 0x03, 0xda, 0xaa, 0x96, 0x30, 0xb0, 0x49, 0x14, 0x79, 0x1f, 0x4a, 0x7e, 0x3b, 0x60, 0x21, + 0xc5, 0x42, 0xc9, 0xde, 0x74, 0xb7, 0x91, 0xc9, 0xb8, 0x50, 0xcb, 0xb0, 0x7f, 0x00, 0xb3, 0xa9, + 0x05, 0x99, 0x23, 0xc6, 0x14, 0xd5, 0x1f, 0x0d, 0x28, 0x0f, 0x86, 0x6f, 0x0c, 0xc5, 0x41, 0xe7, + 0xe2, 0x02, 0xcc, 0xe8, 0x13, 0x2e, 0x91, 0x8d, 0x49, 0x14, 0xb9, 0xa3, 0x33, 0x8f, 0xaa, 0x73, + 0x75, 0x66, 0xe9, 0x8d, 0x8c, 0x5a, 0xab, 0xfc, 0x35, 0xcc, 0xf6, 0x9f, 0x0a, 0xf0, 0xcd, 0xa1, + 0xf4, 0xe3, 0x89, 0x2c, 0xea, 0xc9, 0x73, 0x3c, 0x4a, 0x85, 0xb2, 0x1b, 0x23, 0xa4, 0x5d, 0x08, + 0xe8, 0x14, 0x28, 0xbb, 0x06, 0xc4, 0xfe, 0x45, 0x3b, 0x1d, 0x7d, 0xa2, 0xcb, 0xfe, 0x85, 0x90, + 0xcc, 0xff, 0x46, 0x7f, 0x10, 0x45, 0x5b, 0x01, 0xf2, 0x0a, 0x24, 0xb5, 0xd3, 0x07, 0x36, 0x7e, + 0x93, 0x0f, 0xa2, 0x8e, 0x5c, 0xc2, 0xe8, 0x5f, 0xcd, 0x68, 0x5c, 0x64, 0xc3, 0x50, 0x1f, 0xbe, + 0x3b, 0x14, 0xe2, 0x6b, 0xb9, 0x42, 0x9c, 0xf0, 0x8c, 0x89, 0xf2, 0x1a, 0x54, 0x86, 0xd7, 0xd0, + 0x6c, 0xa5, 0xb4, 0x8a, 0xb3, 0xd9, 0xdc, 0x18, 0xa8, 0x4e, 0x3e, 0xfc, 0xb6, 0x7f, 0x65, 0x99, + 0x3b, 0x66, 0xd2, 0xed, 0x3a, 0xfa, 0x17, 0x60, 0x36, 0xbe, 0xb6, 0x6c, 0xb7, 0xb8, 0x8e, 0x7f, + 0x1a, 0x29, 0x0f, 0xcd, 0x18, 0xa1, 0x93, 0xe0, 0x52, 0x5e, 0x3f, 0xb9, 0x09, 0x19, 0xf6, 0xab, + 0xa6, 0x31, 0xee, 0xe2, 0x95, 0xde, 0xa4, 0xc1, 0x1c, 0x14, 0x7c, 0xd3, 0x45, 0x0a, 0x7e, 0xcb, + 0x3e, 0x6b, 0xba, 0x87, 0x21, 0x53, 0x6a, 0xdb, 0xff, 0xb6, 0xcc, 0xc5, 0x55, 0x5e, 0xee, 0x0c, + 0xf7, 0x9d, 0x94, 0x57, 0xb2, 0x17, 0xf2, 0xe6, 0x50, 0x08, 0x6d, 0x38, 0xad, 0x7c, 0xbf, 0x1b, + 0x1f, 0xd5, 0xd3, 0x6e, 0x0a, 0x27, 0x69, 0x64, 0x8b, 0x09, 0xfd, 0x46, 0x5f, 0xb0, 0xa8, 0xed, + 0xa4, 0x70, 0xc9, 0xde, 0x84, 0xfd, 0xbf, 0x5a, 0x54, 0xce, 0x4d, 0x21, 0xe3, 0x8b, 0xc2, 0x64, + 0xe2, 0xa2, 0x60, 0xbf, 0x61, 0x0e, 0x01, 0x65, 0xa0, 0x0e, 0x17, 0xa6, 0xbb, 0x88, 0xe3, 0xa4, + 0x21, 0xfb, 0x2a, 0xcc, 0x23, 0xb5, 0xeb, 0x85, 0xbe, 0x18, 0x6c, 0xf9, 0x5c, 0x29, 0xe1, 0xb3, + 0xe0, 0xe4, 0x03, 0x61, 0x17, 0xce, 0xbf, 0x90, 0x2f, 0x31, 0x50, 0xf4, 0xc3, 0x50, 0x0d, 0x14, + 0x13, 0x8b, 0xb3, 0xae, 0x01, 0xa5, 0x32, 0x8f, 0xbd, 0x40, 0xd0, 0x16, 0x66, 0xc4, 0xac, 0xab, + 0x21, 0xfb, 0xff, 0x51, 0xaf, 0xd1, 0x47, 0x45, 0x14, 0xa0, 0xbb, 0x43, 0x01, 0xca, 0x5a, 0x1b, + 0x28, 0x87, 0x76, 0xfc, 0xa0, 0x3d, 0x14, 0xa9, 0xb3, 0x50, 0x92, 0x37, 0xb1, 0xc8, 0xff, 0x1a, + 0x8a, 0xea, 0xa0, 0x98, 0x28, 0x74, 0x69, 0x48, 0x48, 0x3d, 0xc1, 0x8c, 0xa7, 0x0d, 0x48, 0x76, + 0xa2, 0x92, 0x2d, 0x60, 0xc9, 0x5e, 0xc9, 0x55, 0xb2, 0x91, 0x91, 0xa6, 0x60, 0x57, 0x61, 0x2e, + 0xbd, 0x92, 0xab, 0x5c, 0x7f, 0x61, 0x99, 0x43, 0x3a, 0xf6, 0x5e, 0x7c, 0x07, 0x36, 0x93, 0x43, + 0xa2, 0x56, 0x53, 0x38, 0xf2, 0x1e, 0x4c, 0x1b, 0x58, 0x17, 0x6a, 0x3d, 0x8f, 0x93, 0xfd, 0x8e, + 0x1b, 0xf1, 0x2f, 0xfd, 0xee, 0x1c, 0x4c, 0xa2, 0x2a, 0xe4, 0x53, 0x0b, 0x4a, 0x6a, 0xd8, 0x25, + 0xd7, 0xf3, 0xdc, 0x58, 0x53, 0xd3, 0x77, 0x6d, 0x65, 0x1c, 0x56, 0x5d, 0xf1, 0x57, 0x7e, 0xfe, + 0x8f, 0xff, 0xfe, 0xba, 0xe0, 0x90, 0x8b, 0xce, 0x31, 0x19, 0xce, 0xe6, 0x0b, 0xdf, 0x4d, 0xc8, + 0x27, 0x16, 0x4c, 0xe2, 0xe5, 0x8b, 0x2c, 0xe7, 0xbe, 0x69, 0x1b, 0xb5, 0x9d, 0xec, 0xf7, 0x81, + 0x1e, 0x5e, 0x4e, 0xd7, 0x50, 0xd7, 0x65, 0x72, 0x35, 0xa3, 0xae, 0x8f, 0xf6, 0xe4, 0xb7, 0x73, + 0xa8, 0xe6, 0xfb, 0x23, 0xf2, 0x2f, 0x0b, 0x4e, 0x27, 0x87, 0x7b, 0x72, 0x33, 0xb7, 0xee, 0xe9, + 0xa7, 0x84, 0xda, 0xfa, 0xf8, 0x02, 0xb4, 0xff, 0xef, 0xa0, 0x4d, 0xeb, 0x64, 0x2d, 0x97, 0x4d, + 0x7b, 0xfa, 0xf1, 0x21, 0xb6, 0xed, 0x0f, 0x32, 0x20, 0xf2, 0x52, 0x96, 0x33, 0x20, 0x89, 0x07, + 0x8a, 0xda, 0xeb, 0x19, 0x39, 0x25, 0x8f, 0x7d, 0x13, 0x15, 0xbf, 0x4e, 0xae, 0x65, 0x56, 0xbc, + 0xcf, 0x69, 0xe8, 0x1c, 0xea, 0xb9, 0xf4, 0x88, 0x7c, 0x6e, 0xc1, 0x5c, 0xfa, 0x45, 0x83, 0xdc, + 0xca, 0xed, 0xce, 0xe1, 0xc7, 0x92, 0xda, 0xc6, 0xcb, 0x88, 0xd0, 0x31, 0xc9, 0x6f, 0x5a, 0xf4, + 0xbd, 0xe7, 0x4b, 0x3b, 0xd0, 0xb4, 0xd4, 0xf4, 0x9e, 0xd3, 0xb4, 0x51, 0x8f, 0x10, 0x39, 0x4d, + 0x1b, 0xf9, 0x50, 0x31, 0x86, 0x69, 0xea, 0x19, 0x74, 0x2f, 0xd4, 0x76, 0x3c, 0xb5, 0x60, 0x36, + 0xf5, 0x92, 0x40, 0xd6, 0xf3, 0xaa, 0x35, 0xfc, 0x78, 0x51, 0xbb, 0xf5, 0x12, 0x12, 0xb4, 0x5d, + 0xef, 0xa2, 0x5d, 0x1b, 0x64, 0x3d, 0x8f, 0x5d, 0x52, 0x0c, 0x86, 0x8e, 0x27, 0xd2, 0xf2, 0xaf, + 0x16, 0x94, 0xd4, 0x58, 0x99, 0xaf, 0x25, 0xa7, 0x1e, 0x11, 0xf2, 0xb5, 0xe4, 0xf4, 0x14, 0x3b, + 0x66, 0xfa, 0x71, 0xe7, 0x50, 0x9d, 0x7e, 0x47, 0xe4, 0x8f, 0xd2, 0x04, 0x1c, 0x12, 0x72, 0x9a, + 0x90, 0x1c, 0x8c, 0x6b, 0xb9, 0xa6, 0x11, 0x7b, 0x1d, 0x95, 0x5e, 0x21, 0xcb, 0x99, 0x95, 0xc6, + 0xf1, 0xc5, 0x39, 0xd4, 0xd3, 0xf6, 0x11, 0xf9, 0xbd, 0x05, 0x45, 0x79, 0x2b, 0x23, 0xd7, 0x72, + 0xe9, 0x1c, 0x0f, 0xe7, 0xb5, 0x1c, 0x03, 0x66, 0x6f, 0x97, 0x0a, 0x7b, 0x15, 0x75, 0xbe, 0x4a, + 0x2e, 0x67, 0xd6, 0x99, 0x53, 0xe1, 0x1c, 0xe2, 0x15, 0xef, 0x88, 0x3c, 0xb1, 0x00, 0xe2, 0xab, + 0x3f, 0xb9, 0x91, 0x53, 0xeb, 0xf4, 0x43, 0x41, 0x2d, 0xf7, 0xb5, 0xdf, 0xde, 0x46, 0xed, 0x37, + 0xc9, 0xad, 0x1c, 0xda, 0x9b, 0xff, 0x0b, 0xa4, 0x11, 0xd1, 0x13, 0xc4, 0x11, 0xf9, 0xb3, 0x05, + 0xd3, 0xe6, 0x5a, 0x44, 0xde, 0xce, 0x97, 0xba, 0xa9, 0x57, 0x8b, 0x5a, 0xce, 0x4b, 0x91, 0xbd, + 0x85, 0x46, 0xac, 0x91, 0xd5, 0xec, 0xb9, 0xae, 0x38, 0x9d, 0xc3, 0xe8, 0x31, 0xe4, 0x88, 0xfc, + 0x45, 0xea, 0x6f, 0x86, 0xf5, 0xb7, 0xf3, 0xa7, 0x7c, 0xf4, 0x7c, 0x52, 0x5b, 0x1d, 0x8f, 0x59, + 0x57, 0xee, 0x32, 0x5a, 0xb3, 0x44, 0x2e, 0xe5, 0x2b, 0x02, 0xca, 0xc9, 0x3f, 0x2d, 0x98, 0x49, + 0xcc, 0x91, 0x64, 0x6d, 0xbc, 0x6c, 0x8a, 0xec, 0xb8, 0x39, 0x36, 0xbf, 0x36, 0xe5, 0x36, 0x9a, + 0x72, 0x93, 0xdc, 0x18, 0x23, 0xbb, 0x12, 0xad, 0xe8, 0x13, 0x0b, 0xa6, 0xf4, 0x90, 0x49, 0x56, + 0x72, 0xea, 0x94, 0x18, 0x60, 0x6b, 0x17, 0x33, 0x97, 0x87, 0xe4, 0x1a, 0xab, 0xb2, 0x25, 0xa3, + 0x73, 0xe8, 0xb7, 0x8e, 0xc8, 0xdf, 0xe4, 0x5d, 0x0a, 0xff, 0xdd, 0x58, 0xce, 0xdb, 0x8a, 0xa2, + 0x00, 0x5c, 0x1f, 0x83, 0x53, 0xbb, 0x7e, 0x07, 0x95, 0x7f, 0x87, 0xdc, 0xce, 0xd3, 0x96, 0x62, + 0x9f, 0x3b, 0x87, 0xc9, 0x81, 0xfa, 0x88, 0xfc, 0xcf, 0x02, 0x72, 0x7c, 0x0e, 0x25, 0xb7, 0xf3, + 0x28, 0xf8, 0xc2, 0xf9, 0xb7, 0x76, 0xe7, 0x65, 0xc5, 0x68, 0xa3, 0xdf, 0x43, 0xa3, 0xb7, 0xc8, + 0x46, 0x46, 0xa3, 0x43, 0x14, 0xb5, 0xd7, 0x4a, 0xc8, 0x8a, 0x3a, 0xf3, 0xdf, 0x2d, 0x28, 0x47, + 0x53, 0x1e, 0x59, 0x1d, 0xa7, 0x9f, 0x45, 0x71, 0xbc, 0x31, 0x26, 0xb7, 0x36, 0x6b, 0x03, 0xcd, + 0x5a, 0x25, 0x2b, 0x79, 0xfb, 0x5b, 0x1c, 0xcf, 0x0d, 0xf7, 0xc9, 0xb3, 0x79, 0xeb, 0xb3, 0x67, + 0xf3, 0xd6, 0x7f, 0x9e, 0xcd, 0x5b, 0xbf, 0x7c, 0x3e, 0x7f, 0xea, 0xb3, 0xe7, 0xf3, 0xa7, 0x3e, + 0x7f, 0x3e, 0x7f, 0xea, 0x27, 0xcb, 0x89, 0xff, 0xf5, 0x4e, 0x92, 0xff, 0x71, 0xf2, 0x9f, 0xdc, + 0x41, 0x8f, 0xf2, 0x46, 0x09, 0x9f, 0xf3, 0xdf, 0xfa, 0x32, 0x00, 0x00, 0xff, 0xff, 0xc4, 0x20, + 0x90, 0x7e, 0xc4, 0x1f, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -2037,8 +2054,8 @@ type QueryClient interface { QCards(ctx context.Context, in *QueryQCardsRequest, opts ...grpc.CallOption) (*QueryQCardsResponse, error) // Queries a list of QMatch items. QMatch(ctx context.Context, in *QueryQMatchRequest, opts ...grpc.CallOption) (*Match, error) - // Queries a list of QCollection items. - QCollection(ctx context.Context, in *QueryQCollectionRequest, opts ...grpc.CallOption) (*OutpCollection, error) + // Queries a list of QSet items. + QSet(ctx context.Context, in *QueryQSetRequest, opts ...grpc.CallOption) (*OutpSet, error) // Queries a list of QSellOffer items. QSellOffer(ctx context.Context, in *QueryQSellOfferRequest, opts ...grpc.CallOption) (*SellOffer, error) // Queries a list of QCouncil items. @@ -2049,8 +2066,8 @@ type QueryClient interface { QSellOffers(ctx context.Context, in *QueryQSellOffersRequest, opts ...grpc.CallOption) (*QueryQSellOffersResponse, error) // Queries a list of QServer items. QServer(ctx context.Context, in *QueryQServerRequest, opts ...grpc.CallOption) (*Server, error) - // Queries a list of QCollections items. - QCollections(ctx context.Context, in *QueryQCollectionsRequest, opts ...grpc.CallOption) (*QueryQCollectionsResponse, error) + // Queries a list of QSets items. + QSets(ctx context.Context, in *QueryQSetsRequest, opts ...grpc.CallOption) (*QueryQSetsResponse, error) // Queries a list of RarityDistribution items. RarityDistribution(ctx context.Context, in *QueryRarityDistributionRequest, opts ...grpc.CallOption) (*QueryRarityDistributionResponse, error) // Queries a list of QCouncils items. @@ -2146,9 +2163,9 @@ func (c *queryClient) QMatch(ctx context.Context, in *QueryQMatchRequest, opts . return out, nil } -func (c *queryClient) QCollection(ctx context.Context, in *QueryQCollectionRequest, opts ...grpc.CallOption) (*OutpCollection, error) { - out := new(OutpCollection) - err := c.cc.Invoke(ctx, "/DecentralCardGame.cardchain.cardchain.Query/QCollection", in, out, opts...) +func (c *queryClient) QSet(ctx context.Context, in *QueryQSetRequest, opts ...grpc.CallOption) (*OutpSet, error) { + out := new(OutpSet) + err := c.cc.Invoke(ctx, "/DecentralCardGame.cardchain.cardchain.Query/QSet", in, out, opts...) if err != nil { return nil, err } @@ -2200,9 +2217,9 @@ func (c *queryClient) QServer(ctx context.Context, in *QueryQServerRequest, opts return out, nil } -func (c *queryClient) QCollections(ctx context.Context, in *QueryQCollectionsRequest, opts ...grpc.CallOption) (*QueryQCollectionsResponse, error) { - out := new(QueryQCollectionsResponse) - err := c.cc.Invoke(ctx, "/DecentralCardGame.cardchain.cardchain.Query/QCollections", in, out, opts...) +func (c *queryClient) QSets(ctx context.Context, in *QueryQSetsRequest, opts ...grpc.CallOption) (*QueryQSetsResponse, error) { + out := new(QueryQSetsResponse) + err := c.cc.Invoke(ctx, "/DecentralCardGame.cardchain.cardchain.Query/QSets", in, out, opts...) if err != nil { return nil, err } @@ -2247,8 +2264,8 @@ type QueryServer interface { QCards(context.Context, *QueryQCardsRequest) (*QueryQCardsResponse, error) // Queries a list of QMatch items. QMatch(context.Context, *QueryQMatchRequest) (*Match, error) - // Queries a list of QCollection items. - QCollection(context.Context, *QueryQCollectionRequest) (*OutpCollection, error) + // Queries a list of QSet items. + QSet(context.Context, *QueryQSetRequest) (*OutpSet, error) // Queries a list of QSellOffer items. QSellOffer(context.Context, *QueryQSellOfferRequest) (*SellOffer, error) // Queries a list of QCouncil items. @@ -2259,8 +2276,8 @@ type QueryServer interface { QSellOffers(context.Context, *QueryQSellOffersRequest) (*QueryQSellOffersResponse, error) // Queries a list of QServer items. QServer(context.Context, *QueryQServerRequest) (*Server, error) - // Queries a list of QCollections items. - QCollections(context.Context, *QueryQCollectionsRequest) (*QueryQCollectionsResponse, error) + // Queries a list of QSets items. + QSets(context.Context, *QueryQSetsRequest) (*QueryQSetsResponse, error) // Queries a list of RarityDistribution items. RarityDistribution(context.Context, *QueryRarityDistributionRequest) (*QueryRarityDistributionResponse, error) // Queries a list of QCouncils items. @@ -2298,8 +2315,8 @@ func (*UnimplementedQueryServer) QCards(ctx context.Context, req *QueryQCardsReq func (*UnimplementedQueryServer) QMatch(ctx context.Context, req *QueryQMatchRequest) (*Match, error) { return nil, status.Errorf(codes.Unimplemented, "method QMatch not implemented") } -func (*UnimplementedQueryServer) QCollection(ctx context.Context, req *QueryQCollectionRequest) (*OutpCollection, error) { - return nil, status.Errorf(codes.Unimplemented, "method QCollection not implemented") +func (*UnimplementedQueryServer) QSet(ctx context.Context, req *QueryQSetRequest) (*OutpSet, error) { + return nil, status.Errorf(codes.Unimplemented, "method QSet not implemented") } func (*UnimplementedQueryServer) QSellOffer(ctx context.Context, req *QueryQSellOfferRequest) (*SellOffer, error) { return nil, status.Errorf(codes.Unimplemented, "method QSellOffer not implemented") @@ -2316,8 +2333,8 @@ func (*UnimplementedQueryServer) QSellOffers(ctx context.Context, req *QueryQSel func (*UnimplementedQueryServer) QServer(ctx context.Context, req *QueryQServerRequest) (*Server, error) { return nil, status.Errorf(codes.Unimplemented, "method QServer not implemented") } -func (*UnimplementedQueryServer) QCollections(ctx context.Context, req *QueryQCollectionsRequest) (*QueryQCollectionsResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method QCollections not implemented") +func (*UnimplementedQueryServer) QSets(ctx context.Context, req *QueryQSetsRequest) (*QueryQSetsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method QSets not implemented") } func (*UnimplementedQueryServer) RarityDistribution(ctx context.Context, req *QueryRarityDistributionRequest) (*QueryRarityDistributionResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method RarityDistribution not implemented") @@ -2492,20 +2509,20 @@ func _Query_QMatch_Handler(srv interface{}, ctx context.Context, dec func(interf return interceptor(ctx, in, info, handler) } -func _Query_QCollection_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(QueryQCollectionRequest) +func _Query_QSet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryQSetRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(QueryServer).QCollection(ctx, in) + return srv.(QueryServer).QSet(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/DecentralCardGame.cardchain.cardchain.Query/QCollection", + FullMethod: "/DecentralCardGame.cardchain.cardchain.Query/QSet", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(QueryServer).QCollection(ctx, req.(*QueryQCollectionRequest)) + return srv.(QueryServer).QSet(ctx, req.(*QueryQSetRequest)) } return interceptor(ctx, in, info, handler) } @@ -2600,20 +2617,20 @@ func _Query_QServer_Handler(srv interface{}, ctx context.Context, dec func(inter return interceptor(ctx, in, info, handler) } -func _Query_QCollections_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(QueryQCollectionsRequest) +func _Query_QSets_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryQSetsRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(QueryServer).QCollections(ctx, in) + return srv.(QueryServer).QSets(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/DecentralCardGame.cardchain.cardchain.Query/QCollections", + FullMethod: "/DecentralCardGame.cardchain.cardchain.Query/QSets", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(QueryServer).QCollections(ctx, req.(*QueryQCollectionsRequest)) + return srv.(QueryServer).QSets(ctx, req.(*QueryQSetsRequest)) } return interceptor(ctx, in, info, handler) } @@ -2695,8 +2712,8 @@ var _Query_serviceDesc = grpc.ServiceDesc{ Handler: _Query_QMatch_Handler, }, { - MethodName: "QCollection", - Handler: _Query_QCollection_Handler, + MethodName: "QSet", + Handler: _Query_QSet_Handler, }, { MethodName: "QSellOffer", @@ -2719,8 +2736,8 @@ var _Query_serviceDesc = grpc.ServiceDesc{ Handler: _Query_QServer_Handler, }, { - MethodName: "QCollections", - Handler: _Query_QCollections_Handler, + MethodName: "QSets", + Handler: _Query_QSets_Handler, }, { MethodName: "RarityDistribution", @@ -2961,6 +2978,11 @@ func (m *QueryQCardchainInfoResponse) MarshalToSizedBuffer(dAtA []byte) (int, er _ = i var l int _ = l + if m.LastCardModified != 0 { + i = encodeVarintQuery(dAtA, i, uint64(m.LastCardModified)) + i-- + dAtA[i] = 0x38 + } if m.CouncilsNumber != 0 { i = encodeVarintQuery(dAtA, i, uint64(m.CouncilsNumber)) i-- @@ -2981,10 +3003,10 @@ func (m *QueryQCardchainInfoResponse) MarshalToSizedBuffer(dAtA []byte) (int, er i-- dAtA[i] = 0x18 } - if len(m.ActiveCollections) > 0 { - dAtA3 := make([]byte, len(m.ActiveCollections)*10) + if len(m.ActiveSets) > 0 { + dAtA3 := make([]byte, len(m.ActiveSets)*10) var j2 int - for _, num := range m.ActiveCollections { + for _, num := range m.ActiveSets { for num >= 1<<7 { dAtA3[j2] = uint8(uint64(num)&0x7f | 0x80) num >>= 7 @@ -3177,6 +3199,16 @@ func (m *QueryQCardsRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + if m.OnlyStarterCard { + i-- + if m.OnlyStarterCard { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x48 + } if len(m.NotesContains) > 0 { i -= len(m.NotesContains) copy(dAtA[i:], m.NotesContains) @@ -3303,7 +3335,7 @@ func (m *QueryQMatchRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *QueryQCollectionRequest) Marshal() (dAtA []byte, err error) { +func (m *QueryQSetRequest) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -3313,18 +3345,18 @@ func (m *QueryQCollectionRequest) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *QueryQCollectionRequest) MarshalTo(dAtA []byte) (int, error) { +func (m *QueryQSetRequest) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *QueryQCollectionRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *QueryQSetRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if m.CollectionId != 0 { - i = encodeVarintQuery(dAtA, i, uint64(m.CollectionId)) + if m.SetId != 0 { + i = encodeVarintQuery(dAtA, i, uint64(m.SetId)) i-- dAtA[i] = 0x8 } @@ -3781,7 +3813,7 @@ func (m *QueryQServerResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *QueryQCollectionsRequest) Marshal() (dAtA []byte, err error) { +func (m *QueryQSetsRequest) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -3791,12 +3823,12 @@ func (m *QueryQCollectionsRequest) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *QueryQCollectionsRequest) MarshalTo(dAtA []byte) (int, error) { +func (m *QueryQSetsRequest) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *QueryQCollectionsRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *QueryQSetsRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -3853,7 +3885,7 @@ func (m *QueryQCollectionsRequest) MarshalToSizedBuffer(dAtA []byte) (int, error return len(dAtA) - i, nil } -func (m *QueryQCollectionsResponse) Marshal() (dAtA []byte, err error) { +func (m *QueryQSetsResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -3863,20 +3895,20 @@ func (m *QueryQCollectionsResponse) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *QueryQCollectionsResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *QueryQSetsResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *QueryQCollectionsResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *QueryQSetsResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if len(m.CollectionIds) > 0 { - dAtA18 := make([]byte, len(m.CollectionIds)*10) + if len(m.SetIds) > 0 { + dAtA18 := make([]byte, len(m.SetIds)*10) var j17 int - for _, num := range m.CollectionIds { + for _, num := range m.SetIds { for num >= 1<<7 { dAtA18[j17] = uint8(uint64(num)&0x7f | 0x80) num >>= 7 @@ -3914,8 +3946,8 @@ func (m *QueryRarityDistributionRequest) MarshalToSizedBuffer(dAtA []byte) (int, _ = i var l int _ = l - if m.CollectionId != 0 { - i = encodeVarintQuery(dAtA, i, uint64(m.CollectionId)) + if m.SetId != 0 { + i = encodeVarintQuery(dAtA, i, uint64(m.SetId)) i-- dAtA[i] = 0x8 } @@ -4244,9 +4276,9 @@ func (m *QueryQCardchainInfoResponse) Size() (n int) { _ = l l = m.CardAuctionPrice.Size() n += 1 + l + sovQuery(uint64(l)) - if len(m.ActiveCollections) > 0 { + if len(m.ActiveSets) > 0 { l = 0 - for _, e := range m.ActiveCollections { + for _, e := range m.ActiveSets { l += sovQuery(uint64(e)) } n += 1 + sovQuery(uint64(l)) + l @@ -4263,6 +4295,9 @@ func (m *QueryQCardchainInfoResponse) Size() (n int) { if m.CouncilsNumber != 0 { n += 1 + sovQuery(uint64(m.CouncilsNumber)) } + if m.LastCardModified != 0 { + n += 1 + sovQuery(uint64(m.LastCardModified)) + } return n } @@ -4359,6 +4394,9 @@ func (m *QueryQCardsRequest) Size() (n int) { if l > 0 { n += 1 + l + sovQuery(uint64(l)) } + if m.OnlyStarterCard { + n += 2 + } return n } @@ -4390,14 +4428,14 @@ func (m *QueryQMatchRequest) Size() (n int) { return n } -func (m *QueryQCollectionRequest) Size() (n int) { +func (m *QueryQSetRequest) Size() (n int) { if m == nil { return 0 } var l int _ = l - if m.CollectionId != 0 { - n += 1 + sovQuery(uint64(m.CollectionId)) + if m.SetId != 0 { + n += 1 + sovQuery(uint64(m.SetId)) } return n } @@ -4592,7 +4630,7 @@ func (m *QueryQServerResponse) Size() (n int) { return n } -func (m *QueryQCollectionsRequest) Size() (n int) { +func (m *QueryQSetsRequest) Size() (n int) { if m == nil { return 0 } @@ -4624,15 +4662,15 @@ func (m *QueryQCollectionsRequest) Size() (n int) { return n } -func (m *QueryQCollectionsResponse) Size() (n int) { +func (m *QueryQSetsResponse) Size() (n int) { if m == nil { return 0 } var l int _ = l - if len(m.CollectionIds) > 0 { + if len(m.SetIds) > 0 { l = 0 - for _, e := range m.CollectionIds { + for _, e := range m.SetIds { l += sovQuery(uint64(e)) } n += 1 + sovQuery(uint64(l)) + l @@ -4646,8 +4684,8 @@ func (m *QueryRarityDistributionRequest) Size() (n int) { } var l int _ = l - if m.CollectionId != 0 { - n += 1 + sovQuery(uint64(m.CollectionId)) + if m.SetId != 0 { + n += 1 + sovQuery(uint64(m.SetId)) } return n } @@ -5370,7 +5408,7 @@ func (m *QueryQCardchainInfoResponse) Unmarshal(dAtA []byte) error { break } } - m.ActiveCollections = append(m.ActiveCollections, v) + m.ActiveSets = append(m.ActiveSets, v) } else if wireType == 2 { var packedLen int for shift := uint(0); ; shift += 7 { @@ -5405,8 +5443,8 @@ func (m *QueryQCardchainInfoResponse) Unmarshal(dAtA []byte) error { } } elementCount = count - if elementCount != 0 && len(m.ActiveCollections) == 0 { - m.ActiveCollections = make([]uint64, 0, elementCount) + if elementCount != 0 && len(m.ActiveSets) == 0 { + m.ActiveSets = make([]uint64, 0, elementCount) } for iNdEx < postIndex { var v uint64 @@ -5424,10 +5462,10 @@ func (m *QueryQCardchainInfoResponse) Unmarshal(dAtA []byte) error { break } } - m.ActiveCollections = append(m.ActiveCollections, v) + m.ActiveSets = append(m.ActiveSets, v) } } else { - return fmt.Errorf("proto: wrong wireType = %d for field ActiveCollections", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field ActiveSets", wireType) } case 3: if wireType != 0 { @@ -5505,6 +5543,25 @@ func (m *QueryQCardchainInfoResponse) Unmarshal(dAtA []byte) error { break } } + case 7: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field LastCardModified", wireType) + } + m.LastCardModified = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.LastCardModified |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } default: iNdEx = preIndex skippy, err := skipQuery(dAtA[iNdEx:]) @@ -6140,6 +6197,26 @@ func (m *QueryQCardsRequest) Unmarshal(dAtA []byte) error { } m.NotesContains = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex + case 9: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field OnlyStarterCard", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.OnlyStarterCard = bool(v != 0) default: iNdEx = preIndex skippy, err := skipQuery(dAtA[iNdEx:]) @@ -6356,7 +6433,7 @@ func (m *QueryQMatchRequest) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryQCollectionRequest) Unmarshal(dAtA []byte) error { +func (m *QueryQSetRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -6379,17 +6456,17 @@ func (m *QueryQCollectionRequest) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryQCollectionRequest: wiretype end group for non-group") + return fmt.Errorf("proto: QueryQSetRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryQCollectionRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryQSetRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field CollectionId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field SetId", wireType) } - m.CollectionId = 0 + m.SetId = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowQuery @@ -6399,7 +6476,7 @@ func (m *QueryQCollectionRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.CollectionId |= uint64(b&0x7F) << shift + m.SetId |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -7697,7 +7774,7 @@ func (m *QueryQServerResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryQCollectionsRequest) Unmarshal(dAtA []byte) error { +func (m *QueryQSetsRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -7720,10 +7797,10 @@ func (m *QueryQCollectionsRequest) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryQCollectionsRequest: wiretype end group for non-group") + return fmt.Errorf("proto: QueryQSetsRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryQCollectionsRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryQSetsRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -7926,7 +8003,7 @@ func (m *QueryQCollectionsRequest) Unmarshal(dAtA []byte) error { } return nil } -func (m *QueryQCollectionsResponse) Unmarshal(dAtA []byte) error { +func (m *QueryQSetsResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -7949,10 +8026,10 @@ func (m *QueryQCollectionsResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueryQCollectionsResponse: wiretype end group for non-group") + return fmt.Errorf("proto: QueryQSetsResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueryQCollectionsResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueryQSetsResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -7972,7 +8049,7 @@ func (m *QueryQCollectionsResponse) Unmarshal(dAtA []byte) error { break } } - m.CollectionIds = append(m.CollectionIds, v) + m.SetIds = append(m.SetIds, v) } else if wireType == 2 { var packedLen int for shift := uint(0); ; shift += 7 { @@ -8007,8 +8084,8 @@ func (m *QueryQCollectionsResponse) Unmarshal(dAtA []byte) error { } } elementCount = count - if elementCount != 0 && len(m.CollectionIds) == 0 { - m.CollectionIds = make([]uint64, 0, elementCount) + if elementCount != 0 && len(m.SetIds) == 0 { + m.SetIds = make([]uint64, 0, elementCount) } for iNdEx < postIndex { var v uint64 @@ -8026,10 +8103,10 @@ func (m *QueryQCollectionsResponse) Unmarshal(dAtA []byte) error { break } } - m.CollectionIds = append(m.CollectionIds, v) + m.SetIds = append(m.SetIds, v) } } else { - return fmt.Errorf("proto: wrong wireType = %d for field CollectionIds", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field SetIds", wireType) } default: iNdEx = preIndex @@ -8083,9 +8160,9 @@ func (m *QueryRarityDistributionRequest) Unmarshal(dAtA []byte) error { switch fieldNum { case 1: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field CollectionId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field SetId", wireType) } - m.CollectionId = 0 + m.SetId = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowQuery @@ -8095,7 +8172,7 @@ func (m *QueryRarityDistributionRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.CollectionId |= uint64(b&0x7F) << shift + m.SetId |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -8152,7 +8229,7 @@ func (m *QueryRarityDistributionResponse) Unmarshal(dAtA []byte) error { switch fieldNum { case 1: if wireType == 0 { - var v uint64 + var v uint32 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowQuery @@ -8162,7 +8239,7 @@ func (m *QueryRarityDistributionResponse) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= uint64(b&0x7F) << shift + v |= uint32(b&0x7F) << shift if b < 0x80 { break } @@ -8203,10 +8280,10 @@ func (m *QueryRarityDistributionResponse) Unmarshal(dAtA []byte) error { } elementCount = count if elementCount != 0 && len(m.Current) == 0 { - m.Current = make([]uint64, 0, elementCount) + m.Current = make([]uint32, 0, elementCount) } for iNdEx < postIndex { - var v uint64 + var v uint32 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowQuery @@ -8216,7 +8293,7 @@ func (m *QueryRarityDistributionResponse) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= uint64(b&0x7F) << shift + v |= uint32(b&0x7F) << shift if b < 0x80 { break } @@ -8228,7 +8305,7 @@ func (m *QueryRarityDistributionResponse) Unmarshal(dAtA []byte) error { } case 2: if wireType == 0 { - var v uint64 + var v uint32 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowQuery @@ -8238,7 +8315,7 @@ func (m *QueryRarityDistributionResponse) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= uint64(b&0x7F) << shift + v |= uint32(b&0x7F) << shift if b < 0x80 { break } @@ -8279,10 +8356,10 @@ func (m *QueryRarityDistributionResponse) Unmarshal(dAtA []byte) error { } elementCount = count if elementCount != 0 && len(m.Wanted) == 0 { - m.Wanted = make([]uint64, 0, elementCount) + m.Wanted = make([]uint32, 0, elementCount) } for iNdEx < postIndex { - var v uint64 + var v uint32 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowQuery @@ -8292,7 +8369,7 @@ func (m *QueryRarityDistributionResponse) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= uint64(b&0x7F) << shift + v |= uint32(b&0x7F) << shift if b < 0x80 { break } diff --git a/x/cardchain/types/query.pb.gw.go b/x/cardchain/types/query.pb.gw.go index e3dc52aa..0a75a0e1 100644 --- a/x/cardchain/types/query.pb.gw.go +++ b/x/cardchain/types/query.pb.gw.go @@ -435,8 +435,8 @@ func local_request_Query_QMatch_0(ctx context.Context, marshaler runtime.Marshal } -func request_Query_QCollection_0(ctx context.Context, marshaler runtime.Marshaler, client QueryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq QueryQCollectionRequest +func request_Query_QSet_0(ctx context.Context, marshaler runtime.Marshaler, client QueryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryQSetRequest var metadata runtime.ServerMetadata var ( @@ -446,24 +446,24 @@ func request_Query_QCollection_0(ctx context.Context, marshaler runtime.Marshale _ = err ) - val, ok = pathParams["collectionId"] + val, ok = pathParams["setId"] if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "collectionId") + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "setId") } - protoReq.CollectionId, err = runtime.Uint64(val) + protoReq.SetId, err = runtime.Uint64(val) if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "collectionId", err) + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "setId", err) } - msg, err := client.QCollection(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + msg, err := client.QSet(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) return msg, metadata, err } -func local_request_Query_QCollection_0(ctx context.Context, marshaler runtime.Marshaler, server QueryServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq QueryQCollectionRequest +func local_request_Query_QSet_0(ctx context.Context, marshaler runtime.Marshaler, server QueryServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryQSetRequest var metadata runtime.ServerMetadata var ( @@ -473,18 +473,18 @@ func local_request_Query_QCollection_0(ctx context.Context, marshaler runtime.Ma _ = err ) - val, ok = pathParams["collectionId"] + val, ok = pathParams["setId"] if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "collectionId") + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "setId") } - protoReq.CollectionId, err = runtime.Uint64(val) + protoReq.SetId, err = runtime.Uint64(val) if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "collectionId", err) + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "setId", err) } - msg, err := server.QCollection(ctx, &protoReq) + msg, err := server.QSet(ctx, &protoReq) return msg, metadata, err } @@ -766,11 +766,11 @@ func local_request_Query_QServer_0(ctx context.Context, marshaler runtime.Marsha } var ( - filter_Query_QCollections_0 = &utilities.DoubleArray{Encoding: map[string]int{"status": 0, "ignoreStatus": 1}, Base: []int{1, 1, 2, 0, 0}, Check: []int{0, 1, 1, 2, 3}} + filter_Query_QSets_0 = &utilities.DoubleArray{Encoding: map[string]int{"status": 0, "ignoreStatus": 1}, Base: []int{1, 1, 2, 0, 0}, Check: []int{0, 1, 1, 2, 3}} ) -func request_Query_QCollections_0(ctx context.Context, marshaler runtime.Marshaler, client QueryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq QueryQCollectionsRequest +func request_Query_QSets_0(ctx context.Context, marshaler runtime.Marshaler, client QueryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryQSetsRequest var metadata runtime.ServerMetadata var ( @@ -808,17 +808,17 @@ func request_Query_QCollections_0(ctx context.Context, marshaler runtime.Marshal if err := req.ParseForm(); err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Query_QCollections_0); err != nil { + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Query_QSets_0); err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - msg, err := client.QCollections(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + msg, err := client.QSets(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) return msg, metadata, err } -func local_request_Query_QCollections_0(ctx context.Context, marshaler runtime.Marshaler, server QueryServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq QueryQCollectionsRequest +func local_request_Query_QSets_0(ctx context.Context, marshaler runtime.Marshaler, server QueryServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryQSetsRequest var metadata runtime.ServerMetadata var ( @@ -856,11 +856,11 @@ func local_request_Query_QCollections_0(ctx context.Context, marshaler runtime.M if err := req.ParseForm(); err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Query_QCollections_0); err != nil { + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Query_QSets_0); err != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - msg, err := server.QCollections(ctx, &protoReq) + msg, err := server.QSets(ctx, &protoReq) return msg, metadata, err } @@ -876,15 +876,15 @@ func request_Query_RarityDistribution_0(ctx context.Context, marshaler runtime.M _ = err ) - val, ok = pathParams["collectionId"] + val, ok = pathParams["setId"] if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "collectionId") + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "setId") } - protoReq.CollectionId, err = runtime.Uint64(val) + protoReq.SetId, err = runtime.Uint64(val) if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "collectionId", err) + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "setId", err) } msg, err := client.RarityDistribution(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) @@ -903,15 +903,15 @@ func local_request_Query_RarityDistribution_0(ctx context.Context, marshaler run _ = err ) - val, ok = pathParams["collectionId"] + val, ok = pathParams["setId"] if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "collectionId") + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "setId") } - protoReq.CollectionId, err = runtime.Uint64(val) + protoReq.SetId, err = runtime.Uint64(val) if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "collectionId", err) + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "setId", err) } msg, err := server.RarityDistribution(ctx, &protoReq) @@ -1210,7 +1210,7 @@ func RegisterQueryHandlerServer(ctx context.Context, mux *runtime.ServeMux, serv }) - mux.Handle("GET", pattern_Query_QCollection_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Query_QSet_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream @@ -1221,7 +1221,7 @@ func RegisterQueryHandlerServer(ctx context.Context, mux *runtime.ServeMux, serv runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Query_QCollection_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Query_QSet_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 { @@ -1229,7 +1229,7 @@ func RegisterQueryHandlerServer(ctx context.Context, mux *runtime.ServeMux, serv return } - forward_Query_QCollection_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Query_QSet_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1348,7 +1348,7 @@ func RegisterQueryHandlerServer(ctx context.Context, mux *runtime.ServeMux, serv }) - mux.Handle("GET", pattern_Query_QCollections_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Query_QSets_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream @@ -1359,7 +1359,7 @@ func RegisterQueryHandlerServer(ctx context.Context, mux *runtime.ServeMux, serv runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_Query_QCollections_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_Query_QSets_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 { @@ -1367,7 +1367,7 @@ func RegisterQueryHandlerServer(ctx context.Context, mux *runtime.ServeMux, serv return } - forward_Query_QCollections_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Query_QSets_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1638,7 +1638,7 @@ func RegisterQueryHandlerClient(ctx context.Context, mux *runtime.ServeMux, clie }) - mux.Handle("GET", pattern_Query_QCollection_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Query_QSet_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) @@ -1647,14 +1647,14 @@ func RegisterQueryHandlerClient(ctx context.Context, mux *runtime.ServeMux, clie runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Query_QCollection_0(rctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Query_QSet_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_QCollection_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Query_QSet_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1758,7 +1758,7 @@ func RegisterQueryHandlerClient(ctx context.Context, mux *runtime.ServeMux, clie }) - mux.Handle("GET", pattern_Query_QCollections_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_Query_QSets_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) @@ -1767,14 +1767,14 @@ func RegisterQueryHandlerClient(ctx context.Context, mux *runtime.ServeMux, clie runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_Query_QCollections_0(rctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_Query_QSets_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_QCollections_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_Query_QSets_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -1822,39 +1822,39 @@ func RegisterQueryHandlerClient(ctx context.Context, mux *runtime.ServeMux, clie } var ( - pattern_Query_Params_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 1, 2, 2}, []string{"DecentralCardGame", "cardchain", "params"}, "", runtime.AssumeColonVerbOpt(true))) + pattern_Query_Params_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"DecentralCardGame", "Cardchain", "cardchain", "params"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_Query_QCard_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"DecentralCardGame", "cardchain", "q_card", "cardId"}, "", runtime.AssumeColonVerbOpt(true))) + pattern_Query_QCard_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 1, 0, 4, 1, 5, 4}, []string{"DecentralCardGame", "Cardchain", "cardchain", "q_card", "cardId"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_Query_QCardContent_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"DecentralCardGame", "cardchain", "q_card_content", "cardId"}, "", runtime.AssumeColonVerbOpt(true))) + pattern_Query_QCardContent_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 1, 0, 4, 1, 5, 4}, []string{"DecentralCardGame", "Cardchain", "cardchain", "q_card_content", "cardId"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_Query_QUser_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"DecentralCardGame", "cardchain", "q_user", "address"}, "", runtime.AssumeColonVerbOpt(true))) + pattern_Query_QUser_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 1, 0, 4, 1, 5, 4}, []string{"DecentralCardGame", "Cardchain", "cardchain", "q_user", "address"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_Query_QCardchainInfo_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 1, 2, 2}, []string{"DecentralCardGame", "cardchain", "q_cardchain_info"}, "", runtime.AssumeColonVerbOpt(true))) + pattern_Query_QCardchainInfo_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"DecentralCardGame", "Cardchain", "cardchain", "q_cardchain_info"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_Query_QVotingResults_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 1, 2, 2}, []string{"DecentralCardGame", "cardchain", "q_voting_results"}, "", runtime.AssumeColonVerbOpt(true))) + pattern_Query_QVotingResults_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"DecentralCardGame", "Cardchain", "cardchain", "q_voting_results"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_Query_QVotableCards_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"DecentralCardGame", "cardchain", "q_votable_cards", "address"}, "", runtime.AssumeColonVerbOpt(true))) + pattern_Query_QVotableCards_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 1, 0, 4, 1, 5, 4}, []string{"DecentralCardGame", "Cardchain", "cardchain", "q_votable_cards", "address"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_Query_QCards_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"DecentralCardGame", "cardchain", "q_cards", "status"}, "", runtime.AssumeColonVerbOpt(true))) + pattern_Query_QCards_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 1, 0, 4, 1, 5, 4}, []string{"DecentralCardGame", "Cardchain", "cardchain", "q_cards", "status"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_Query_QMatch_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"DecentralCardGame", "cardchain", "q_match", "matchId"}, "", runtime.AssumeColonVerbOpt(true))) + pattern_Query_QMatch_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 1, 0, 4, 1, 5, 4}, []string{"DecentralCardGame", "Cardchain", "cardchain", "q_match", "matchId"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_Query_QCollection_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"DecentralCardGame", "cardchain", "q_collection", "collectionId"}, "", runtime.AssumeColonVerbOpt(true))) + pattern_Query_QSet_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 1, 0, 4, 1, 5, 4}, []string{"DecentralCardGame", "Cardchain", "cardchain", "q_set", "setId"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_Query_QSellOffer_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"DecentralCardGame", "cardchain", "q_sell_offer", "sellOfferId"}, "", runtime.AssumeColonVerbOpt(true))) + pattern_Query_QSellOffer_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 1, 0, 4, 1, 5, 4}, []string{"DecentralCardGame", "Cardchain", "cardchain", "q_sell_offer", "sellOfferId"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_Query_QCouncil_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"DecentralCardGame", "cardchain", "q_council", "councilId"}, "", runtime.AssumeColonVerbOpt(true))) + pattern_Query_QCouncil_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 1, 0, 4, 1, 5, 4}, []string{"DecentralCardGame", "Cardchain", "cardchain", "q_council", "councilId"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_Query_QMatches_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 1, 2, 2}, []string{"DecentralCardGame", "cardchain", "q_matches"}, "", runtime.AssumeColonVerbOpt(true))) + pattern_Query_QMatches_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"DecentralCardGame", "Cardchain", "cardchain", "q_matches"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_Query_QSellOffers_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"DecentralCardGame", "cardchain", "q_sell_offers", "status"}, "", runtime.AssumeColonVerbOpt(true))) + pattern_Query_QSellOffers_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 1, 0, 4, 1, 5, 4}, []string{"DecentralCardGame", "Cardchain", "cardchain", "q_sell_offers", "status"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_Query_QServer_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"DecentralCardGame", "cardchain", "q_server", "id"}, "", runtime.AssumeColonVerbOpt(true))) + pattern_Query_QServer_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 1, 0, 4, 1, 5, 4}, []string{"DecentralCardGame", "Cardchain", "cardchain", "q_server", "id"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_Query_QCollections_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 1, 0, 4, 1, 5, 4, 1, 0, 4, 1, 5, 5}, []string{"DecentralCardGame", "Cardchain", "cardchain", "q_collections", "status", "ignoreStatus"}, "", runtime.AssumeColonVerbOpt(true))) + pattern_Query_QSets_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 1, 0, 4, 1, 5, 4, 1, 0, 4, 1, 5, 5}, []string{"DecentralCardGame", "Cardchain", "cardchain", "q_sets", "status", "ignoreStatus"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_Query_RarityDistribution_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 1, 0, 4, 1, 5, 4}, []string{"DecentralCardGame", "Cardchain", "cardchain", "rarity_distribution", "collectionId"}, "", runtime.AssumeColonVerbOpt(true))) + pattern_Query_RarityDistribution_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 1, 0, 4, 1, 5, 4}, []string{"DecentralCardGame", "Cardchain", "cardchain", "rarity_distribution", "setId"}, "", runtime.AssumeColonVerbOpt(true))) pattern_Query_QCouncils_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 1, 0, 4, 1, 5, 4}, []string{"DecentralCardGame", "Cardchain", "cardchain", "q_councils", "status"}, "", runtime.AssumeColonVerbOpt(true))) ) @@ -1878,7 +1878,7 @@ var ( forward_Query_QMatch_0 = runtime.ForwardResponseMessage - forward_Query_QCollection_0 = runtime.ForwardResponseMessage + forward_Query_QSet_0 = runtime.ForwardResponseMessage forward_Query_QSellOffer_0 = runtime.ForwardResponseMessage @@ -1890,7 +1890,7 @@ var ( forward_Query_QServer_0 = runtime.ForwardResponseMessage - forward_Query_QCollections_0 = runtime.ForwardResponseMessage + forward_Query_QSets_0 = runtime.ForwardResponseMessage forward_Query_RarityDistribution_0 = runtime.ForwardResponseMessage diff --git a/x/cardchain/types/collection.pb.go b/x/cardchain/types/set.pb.go similarity index 67% rename from x/cardchain/types/collection.pb.go rename to x/cardchain/types/set.pb.go index 3dc33571..f4fa81a4 100644 --- a/x/cardchain/types/collection.pb.go +++ b/x/cardchain/types/set.pb.go @@ -1,5 +1,5 @@ // Code generated by protoc-gen-gogo. DO NOT EDIT. -// source: cardchain/cardchain/collection.proto +// source: cardchain/cardchain/set.proto package types @@ -50,10 +50,10 @@ func (x CStatus) String() string { } func (CStatus) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_bfff38131151e449, []int{0} + return fileDescriptor_4433f04964645edd, []int{0} } -type Collection struct { +type Set struct { Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` Cards []uint64 `protobuf:"varint,2,rep,packed,name=cards,proto3" json:"cards,omitempty"` Artist string `protobuf:"bytes,3,opt,name=artist,proto3" json:"artist,omitempty"` @@ -65,18 +65,18 @@ type Collection struct { TimeStamp int64 `protobuf:"varint,9,opt,name=timeStamp,proto3" json:"timeStamp,omitempty"` } -func (m *Collection) Reset() { *m = Collection{} } -func (m *Collection) String() string { return proto.CompactTextString(m) } -func (*Collection) ProtoMessage() {} -func (*Collection) Descriptor() ([]byte, []int) { - return fileDescriptor_bfff38131151e449, []int{0} +func (m *Set) Reset() { *m = Set{} } +func (m *Set) String() string { return proto.CompactTextString(m) } +func (*Set) ProtoMessage() {} +func (*Set) Descriptor() ([]byte, []int) { + return fileDescriptor_4433f04964645edd, []int{0} } -func (m *Collection) XXX_Unmarshal(b []byte) error { +func (m *Set) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *Collection) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *Set) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_Collection.Marshal(b, m, deterministic) + return xxx_messageInfo_Set.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -86,82 +86,82 @@ func (m *Collection) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { return b[:n], nil } } -func (m *Collection) XXX_Merge(src proto.Message) { - xxx_messageInfo_Collection.Merge(m, src) +func (m *Set) XXX_Merge(src proto.Message) { + xxx_messageInfo_Set.Merge(m, src) } -func (m *Collection) XXX_Size() int { +func (m *Set) XXX_Size() int { return m.Size() } -func (m *Collection) XXX_DiscardUnknown() { - xxx_messageInfo_Collection.DiscardUnknown(m) +func (m *Set) XXX_DiscardUnknown() { + xxx_messageInfo_Set.DiscardUnknown(m) } -var xxx_messageInfo_Collection proto.InternalMessageInfo +var xxx_messageInfo_Set proto.InternalMessageInfo -func (m *Collection) GetName() string { +func (m *Set) GetName() string { if m != nil { return m.Name } return "" } -func (m *Collection) GetCards() []uint64 { +func (m *Set) GetCards() []uint64 { if m != nil { return m.Cards } return nil } -func (m *Collection) GetArtist() string { +func (m *Set) GetArtist() string { if m != nil { return m.Artist } return "" } -func (m *Collection) GetStoryWriter() string { +func (m *Set) GetStoryWriter() string { if m != nil { return m.StoryWriter } return "" } -func (m *Collection) GetContributors() []string { +func (m *Set) GetContributors() []string { if m != nil { return m.Contributors } return nil } -func (m *Collection) GetStory() string { +func (m *Set) GetStory() string { if m != nil { return m.Story } return "" } -func (m *Collection) GetArtworkId() uint64 { +func (m *Set) GetArtworkId() uint64 { if m != nil { return m.ArtworkId } return 0 } -func (m *Collection) GetStatus() CStatus { +func (m *Set) GetStatus() CStatus { if m != nil { return m.Status } return CStatus_design } -func (m *Collection) GetTimeStamp() int64 { +func (m *Set) GetTimeStamp() int64 { if m != nil { return m.TimeStamp } return 0 } -type OutpCollection struct { +type OutpSet struct { Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` Cards []uint64 `protobuf:"varint,2,rep,packed,name=cards,proto3" json:"cards,omitempty"` Artist string `protobuf:"bytes,3,opt,name=artist,proto3" json:"artist,omitempty"` @@ -173,18 +173,18 @@ type OutpCollection struct { TimeStamp int64 `protobuf:"varint,9,opt,name=timeStamp,proto3" json:"timeStamp,omitempty"` } -func (m *OutpCollection) Reset() { *m = OutpCollection{} } -func (m *OutpCollection) String() string { return proto.CompactTextString(m) } -func (*OutpCollection) ProtoMessage() {} -func (*OutpCollection) Descriptor() ([]byte, []int) { - return fileDescriptor_bfff38131151e449, []int{1} +func (m *OutpSet) Reset() { *m = OutpSet{} } +func (m *OutpSet) String() string { return proto.CompactTextString(m) } +func (*OutpSet) ProtoMessage() {} +func (*OutpSet) Descriptor() ([]byte, []int) { + return fileDescriptor_4433f04964645edd, []int{1} } -func (m *OutpCollection) XXX_Unmarshal(b []byte) error { +func (m *OutpSet) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *OutpCollection) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *OutpSet) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_OutpCollection.Marshal(b, m, deterministic) + return xxx_messageInfo_OutpSet.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -194,75 +194,75 @@ func (m *OutpCollection) XXX_Marshal(b []byte, deterministic bool) ([]byte, erro return b[:n], nil } } -func (m *OutpCollection) XXX_Merge(src proto.Message) { - xxx_messageInfo_OutpCollection.Merge(m, src) +func (m *OutpSet) XXX_Merge(src proto.Message) { + xxx_messageInfo_OutpSet.Merge(m, src) } -func (m *OutpCollection) XXX_Size() int { +func (m *OutpSet) XXX_Size() int { return m.Size() } -func (m *OutpCollection) XXX_DiscardUnknown() { - xxx_messageInfo_OutpCollection.DiscardUnknown(m) +func (m *OutpSet) XXX_DiscardUnknown() { + xxx_messageInfo_OutpSet.DiscardUnknown(m) } -var xxx_messageInfo_OutpCollection proto.InternalMessageInfo +var xxx_messageInfo_OutpSet proto.InternalMessageInfo -func (m *OutpCollection) GetName() string { +func (m *OutpSet) GetName() string { if m != nil { return m.Name } return "" } -func (m *OutpCollection) GetCards() []uint64 { +func (m *OutpSet) GetCards() []uint64 { if m != nil { return m.Cards } return nil } -func (m *OutpCollection) GetArtist() string { +func (m *OutpSet) GetArtist() string { if m != nil { return m.Artist } return "" } -func (m *OutpCollection) GetStoryWriter() string { +func (m *OutpSet) GetStoryWriter() string { if m != nil { return m.StoryWriter } return "" } -func (m *OutpCollection) GetContributors() []string { +func (m *OutpSet) GetContributors() []string { if m != nil { return m.Contributors } return nil } -func (m *OutpCollection) GetStory() string { +func (m *OutpSet) GetStory() string { if m != nil { return m.Story } return "" } -func (m *OutpCollection) GetArtwork() string { +func (m *OutpSet) GetArtwork() string { if m != nil { return m.Artwork } return "" } -func (m *OutpCollection) GetStatus() CStatus { +func (m *OutpSet) GetStatus() CStatus { if m != nil { return m.Status } return CStatus_design } -func (m *OutpCollection) GetTimeStamp() int64 { +func (m *OutpSet) GetTimeStamp() int64 { if m != nil { return m.TimeStamp } @@ -271,44 +271,41 @@ func (m *OutpCollection) GetTimeStamp() int64 { func init() { proto.RegisterEnum("DecentralCardGame.cardchain.cardchain.CStatus", CStatus_name, CStatus_value) - proto.RegisterType((*Collection)(nil), "DecentralCardGame.cardchain.cardchain.Collection") - proto.RegisterType((*OutpCollection)(nil), "DecentralCardGame.cardchain.cardchain.OutpCollection") + proto.RegisterType((*Set)(nil), "DecentralCardGame.cardchain.cardchain.Set") + proto.RegisterType((*OutpSet)(nil), "DecentralCardGame.cardchain.cardchain.OutpSet") } -func init() { - proto.RegisterFile("cardchain/cardchain/collection.proto", fileDescriptor_bfff38131151e449) -} +func init() { proto.RegisterFile("cardchain/cardchain/set.proto", fileDescriptor_4433f04964645edd) } -var fileDescriptor_bfff38131151e449 = []byte{ - // 386 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x93, 0x31, 0x8b, 0xd4, 0x40, - 0x14, 0xc7, 0x33, 0x9b, 0x5c, 0xf6, 0xf2, 0x3c, 0x8f, 0x30, 0x88, 0x4c, 0x21, 0x21, 0x1c, 0x0a, - 0xc1, 0x22, 0x0b, 0xda, 0x58, 0x59, 0x18, 0x51, 0xac, 0x84, 0xb9, 0x42, 0xb0, 0x9b, 0x9d, 0x8c, - 0xb7, 0x83, 0x49, 0x26, 0xcc, 0xbc, 0x9c, 0x9e, 0x9f, 0xc2, 0x4f, 0xe2, 0xe7, 0xb0, 0xdc, 0xd2, - 0x52, 0x76, 0xbf, 0x88, 0x64, 0x36, 0xee, 0xae, 0xd8, 0x58, 0x09, 0xd7, 0xbd, 0xff, 0x7f, 0xde, - 0x9f, 0x37, 0xfc, 0xe0, 0x0f, 0x0f, 0xa5, 0xb0, 0xb5, 0x5c, 0x09, 0xdd, 0x2d, 0x8e, 0x26, 0xd3, - 0x34, 0x4a, 0xa2, 0x36, 0x5d, 0xd9, 0x5b, 0x83, 0x86, 0x3e, 0x7a, 0xa9, 0xa4, 0xea, 0xd0, 0x8a, - 0xa6, 0x12, 0xb6, 0x7e, 0x2d, 0x5a, 0x55, 0xee, 0xb7, 0x0f, 0xd3, 0xc5, 0xb7, 0x19, 0x40, 0xb5, - 0xcf, 0x52, 0x0a, 0x51, 0x27, 0x5a, 0xc5, 0x48, 0x4e, 0x8a, 0x84, 0xfb, 0x99, 0xde, 0x83, 0x93, - 0x71, 0xdf, 0xb1, 0x59, 0x1e, 0x16, 0x11, 0xdf, 0x09, 0x7a, 0x1f, 0x62, 0x61, 0x51, 0x3b, 0x64, - 0xa1, 0xdf, 0x9d, 0x14, 0xcd, 0xe1, 0x8e, 0x43, 0x63, 0x6f, 0xde, 0x59, 0x8d, 0xca, 0xb2, 0xc8, - 0x3f, 0x1e, 0x5b, 0xf4, 0x02, 0xce, 0xa4, 0xe9, 0xd0, 0xea, 0xe5, 0x80, 0xc6, 0x3a, 0x76, 0x92, - 0x87, 0x45, 0xc2, 0xff, 0xf0, 0xc6, 0x9b, 0x3e, 0xc2, 0x62, 0x9f, 0xdf, 0x09, 0xfa, 0x00, 0x12, - 0x61, 0xf1, 0x93, 0xb1, 0x1f, 0xdf, 0xd4, 0x6c, 0x9e, 0x93, 0x22, 0xe2, 0x07, 0x83, 0xbe, 0x82, - 0xd8, 0xa1, 0xc0, 0xc1, 0xb1, 0xd3, 0x9c, 0x14, 0xe7, 0x4f, 0xca, 0xf2, 0x9f, 0x10, 0x94, 0xd5, - 0xa5, 0x4f, 0xf1, 0x29, 0x3d, 0x5e, 0x41, 0xdd, 0xaa, 0x4b, 0x14, 0x6d, 0xcf, 0x92, 0x9c, 0x14, - 0x21, 0x3f, 0x18, 0x23, 0xb0, 0xf3, 0xb7, 0x03, 0xf6, 0xb7, 0x06, 0x1a, 0x83, 0xf9, 0xc4, 0xc8, - 0x23, 0x4b, 0xf8, 0x6f, 0xf9, 0x7f, 0x80, 0x3d, 0x7e, 0x0e, 0xf3, 0x29, 0x40, 0x01, 0xe2, 0x5a, - 0x39, 0x7d, 0xd5, 0xa5, 0x01, 0xbd, 0x0b, 0xc9, 0x07, 0xdd, 0x89, 0x46, 0x7f, 0x51, 0x75, 0x4a, - 0xc6, 0x27, 0x21, 0x51, 0x5f, 0xab, 0x74, 0x46, 0xcf, 0xe0, 0x54, 0x58, 0xb9, 0xd2, 0xd7, 0xaa, - 0x4e, 0xc3, 0x17, 0xfc, 0xfb, 0x26, 0x23, 0xeb, 0x4d, 0x46, 0x7e, 0x6e, 0x32, 0xf2, 0x75, 0x9b, - 0x05, 0xeb, 0x6d, 0x16, 0xfc, 0xd8, 0x66, 0xc1, 0xfb, 0x67, 0x57, 0x1a, 0x57, 0xc3, 0xb2, 0x94, - 0xa6, 0x5d, 0xfc, 0xf5, 0xf3, 0x45, 0xb5, 0xef, 0xc6, 0xe7, 0xa3, 0x9e, 0xe0, 0x4d, 0xaf, 0xdc, - 0x32, 0xf6, 0x1d, 0x79, 0xfa, 0x2b, 0x00, 0x00, 0xff, 0xff, 0xb9, 0xa6, 0x10, 0x41, 0x4b, 0x03, - 0x00, 0x00, +var fileDescriptor_4433f04964645edd = []byte{ + // 382 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x53, 0xcd, 0x6a, 0xdb, 0x40, + 0x18, 0xd4, 0x5a, 0xb2, 0x64, 0x6d, 0xdd, 0x22, 0x96, 0x52, 0xf6, 0xd0, 0x0a, 0x61, 0x28, 0x88, + 0x1e, 0x64, 0x68, 0x2f, 0x3d, 0xf5, 0x50, 0x97, 0x96, 0x9e, 0x0a, 0xeb, 0x43, 0x21, 0xb7, 0xb5, + 0xb4, 0xb1, 0x97, 0x58, 0x3f, 0xec, 0x7e, 0x72, 0xe2, 0x3c, 0x45, 0xde, 0x22, 0xaf, 0x92, 0xa3, + 0x8f, 0x39, 0x06, 0xfb, 0x45, 0x82, 0xd6, 0x8a, 0xe5, 0x90, 0x4b, 0x4e, 0x21, 0xb7, 0x6f, 0xe6, + 0x9b, 0xe1, 0xdb, 0x1d, 0x18, 0xfc, 0x29, 0xe5, 0x2a, 0x4b, 0x17, 0x5c, 0x16, 0xe3, 0x6e, 0xd2, + 0x02, 0x92, 0x4a, 0x95, 0x50, 0x92, 0xcf, 0xbf, 0x44, 0x2a, 0x0a, 0x50, 0x7c, 0x39, 0xe1, 0x2a, + 0xfb, 0xc3, 0x73, 0x91, 0x1c, 0x64, 0xdd, 0x34, 0xba, 0xee, 0x61, 0x7b, 0x2a, 0x80, 0x10, 0xec, + 0x14, 0x3c, 0x17, 0x14, 0x45, 0x28, 0xf6, 0x99, 0x99, 0xc9, 0x7b, 0xdc, 0x6f, 0x84, 0x9a, 0xf6, + 0x22, 0x3b, 0x76, 0xd8, 0x1e, 0x90, 0x0f, 0xd8, 0xe5, 0x0a, 0xa4, 0x06, 0x6a, 0x1b, 0x6d, 0x8b, + 0x48, 0x84, 0xdf, 0x68, 0x28, 0xd5, 0xfa, 0xbf, 0x92, 0x20, 0x14, 0x75, 0xcc, 0xf2, 0x98, 0x22, + 0x23, 0x3c, 0x4c, 0xcb, 0x02, 0x94, 0x9c, 0xd5, 0x50, 0x2a, 0x4d, 0xfb, 0x91, 0x1d, 0xfb, 0xec, + 0x11, 0xd7, 0xdc, 0x34, 0x16, 0xea, 0x1a, 0xff, 0x1e, 0x90, 0x8f, 0xd8, 0xe7, 0x0a, 0xce, 0x4b, + 0x75, 0xf6, 0x37, 0xa3, 0x5e, 0x84, 0x62, 0x87, 0x75, 0x04, 0xf9, 0x8d, 0x5d, 0x0d, 0x1c, 0x6a, + 0x4d, 0x07, 0x11, 0x8a, 0xdf, 0x7d, 0x4d, 0x92, 0x67, 0xfd, 0x3d, 0x99, 0x4c, 0x8d, 0x8b, 0xb5, + 0xee, 0xe6, 0x0a, 0xc8, 0x5c, 0x4c, 0x81, 0xe7, 0x15, 0xf5, 0x23, 0x14, 0xdb, 0xac, 0x23, 0x9a, + 0xa4, 0xbc, 0x7f, 0x35, 0x54, 0xaf, 0x3f, 0x2d, 0x8a, 0xbd, 0x36, 0x1c, 0x93, 0x95, 0xcf, 0x1e, + 0xe0, 0xcb, 0x24, 0xf5, 0xe5, 0x07, 0xf6, 0x5a, 0x03, 0xc1, 0xd8, 0xcd, 0x84, 0x96, 0xf3, 0x22, + 0xb0, 0xc8, 0x5b, 0xec, 0x9f, 0xca, 0x82, 0x2f, 0xe5, 0xa5, 0xc8, 0x02, 0xd4, 0xac, 0x78, 0x0a, + 0x72, 0x25, 0x82, 0x1e, 0x19, 0xe2, 0x01, 0x57, 0xe9, 0x42, 0xae, 0x44, 0x16, 0xd8, 0x3f, 0xd9, + 0xcd, 0x36, 0x44, 0x9b, 0x6d, 0x88, 0xee, 0xb6, 0x21, 0xba, 0xda, 0x85, 0xd6, 0x66, 0x17, 0x5a, + 0xb7, 0xbb, 0xd0, 0x3a, 0xf9, 0x3e, 0x97, 0xb0, 0xa8, 0x67, 0x49, 0x5a, 0xe6, 0xe3, 0x27, 0x2f, + 0x1f, 0x4f, 0x0e, 0x35, 0xb8, 0x38, 0xaa, 0x04, 0xac, 0x2b, 0xa1, 0x67, 0xae, 0x69, 0xc5, 0xb7, + 0xfb, 0x00, 0x00, 0x00, 0xff, 0xff, 0x98, 0x0f, 0xc5, 0x59, 0x36, 0x03, 0x00, 0x00, } -func (m *Collection) Marshal() (dAtA []byte, err error) { +func (m *Set) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -318,35 +315,35 @@ func (m *Collection) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *Collection) MarshalTo(dAtA []byte) (int, error) { +func (m *Set) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *Collection) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *Set) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l if m.TimeStamp != 0 { - i = encodeVarintCollection(dAtA, i, uint64(m.TimeStamp)) + i = encodeVarintSet(dAtA, i, uint64(m.TimeStamp)) i-- dAtA[i] = 0x48 } if m.Status != 0 { - i = encodeVarintCollection(dAtA, i, uint64(m.Status)) + i = encodeVarintSet(dAtA, i, uint64(m.Status)) i-- dAtA[i] = 0x40 } if m.ArtworkId != 0 { - i = encodeVarintCollection(dAtA, i, uint64(m.ArtworkId)) + i = encodeVarintSet(dAtA, i, uint64(m.ArtworkId)) i-- dAtA[i] = 0x38 } if len(m.Story) > 0 { i -= len(m.Story) copy(dAtA[i:], m.Story) - i = encodeVarintCollection(dAtA, i, uint64(len(m.Story))) + i = encodeVarintSet(dAtA, i, uint64(len(m.Story))) i-- dAtA[i] = 0x32 } @@ -354,7 +351,7 @@ func (m *Collection) MarshalToSizedBuffer(dAtA []byte) (int, error) { for iNdEx := len(m.Contributors) - 1; iNdEx >= 0; iNdEx-- { i -= len(m.Contributors[iNdEx]) copy(dAtA[i:], m.Contributors[iNdEx]) - i = encodeVarintCollection(dAtA, i, uint64(len(m.Contributors[iNdEx]))) + i = encodeVarintSet(dAtA, i, uint64(len(m.Contributors[iNdEx]))) i-- dAtA[i] = 0x2a } @@ -362,14 +359,14 @@ func (m *Collection) MarshalToSizedBuffer(dAtA []byte) (int, error) { if len(m.StoryWriter) > 0 { i -= len(m.StoryWriter) copy(dAtA[i:], m.StoryWriter) - i = encodeVarintCollection(dAtA, i, uint64(len(m.StoryWriter))) + i = encodeVarintSet(dAtA, i, uint64(len(m.StoryWriter))) i-- dAtA[i] = 0x22 } if len(m.Artist) > 0 { i -= len(m.Artist) copy(dAtA[i:], m.Artist) - i = encodeVarintCollection(dAtA, i, uint64(len(m.Artist))) + i = encodeVarintSet(dAtA, i, uint64(len(m.Artist))) i-- dAtA[i] = 0x1a } @@ -387,21 +384,21 @@ func (m *Collection) MarshalToSizedBuffer(dAtA []byte) (int, error) { } i -= j1 copy(dAtA[i:], dAtA2[:j1]) - i = encodeVarintCollection(dAtA, i, uint64(j1)) + i = encodeVarintSet(dAtA, i, uint64(j1)) i-- dAtA[i] = 0x12 } if len(m.Name) > 0 { i -= len(m.Name) copy(dAtA[i:], m.Name) - i = encodeVarintCollection(dAtA, i, uint64(len(m.Name))) + i = encodeVarintSet(dAtA, i, uint64(len(m.Name))) i-- dAtA[i] = 0xa } return len(dAtA) - i, nil } -func (m *OutpCollection) Marshal() (dAtA []byte, err error) { +func (m *OutpSet) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -411,37 +408,37 @@ func (m *OutpCollection) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *OutpCollection) MarshalTo(dAtA []byte) (int, error) { +func (m *OutpSet) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *OutpCollection) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *OutpSet) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l if m.TimeStamp != 0 { - i = encodeVarintCollection(dAtA, i, uint64(m.TimeStamp)) + i = encodeVarintSet(dAtA, i, uint64(m.TimeStamp)) i-- dAtA[i] = 0x48 } if m.Status != 0 { - i = encodeVarintCollection(dAtA, i, uint64(m.Status)) + i = encodeVarintSet(dAtA, i, uint64(m.Status)) i-- dAtA[i] = 0x40 } if len(m.Artwork) > 0 { i -= len(m.Artwork) copy(dAtA[i:], m.Artwork) - i = encodeVarintCollection(dAtA, i, uint64(len(m.Artwork))) + i = encodeVarintSet(dAtA, i, uint64(len(m.Artwork))) i-- dAtA[i] = 0x3a } if len(m.Story) > 0 { i -= len(m.Story) copy(dAtA[i:], m.Story) - i = encodeVarintCollection(dAtA, i, uint64(len(m.Story))) + i = encodeVarintSet(dAtA, i, uint64(len(m.Story))) i-- dAtA[i] = 0x32 } @@ -449,7 +446,7 @@ func (m *OutpCollection) MarshalToSizedBuffer(dAtA []byte) (int, error) { for iNdEx := len(m.Contributors) - 1; iNdEx >= 0; iNdEx-- { i -= len(m.Contributors[iNdEx]) copy(dAtA[i:], m.Contributors[iNdEx]) - i = encodeVarintCollection(dAtA, i, uint64(len(m.Contributors[iNdEx]))) + i = encodeVarintSet(dAtA, i, uint64(len(m.Contributors[iNdEx]))) i-- dAtA[i] = 0x2a } @@ -457,14 +454,14 @@ func (m *OutpCollection) MarshalToSizedBuffer(dAtA []byte) (int, error) { if len(m.StoryWriter) > 0 { i -= len(m.StoryWriter) copy(dAtA[i:], m.StoryWriter) - i = encodeVarintCollection(dAtA, i, uint64(len(m.StoryWriter))) + i = encodeVarintSet(dAtA, i, uint64(len(m.StoryWriter))) i-- dAtA[i] = 0x22 } if len(m.Artist) > 0 { i -= len(m.Artist) copy(dAtA[i:], m.Artist) - i = encodeVarintCollection(dAtA, i, uint64(len(m.Artist))) + i = encodeVarintSet(dAtA, i, uint64(len(m.Artist))) i-- dAtA[i] = 0x1a } @@ -482,22 +479,22 @@ func (m *OutpCollection) MarshalToSizedBuffer(dAtA []byte) (int, error) { } i -= j3 copy(dAtA[i:], dAtA4[:j3]) - i = encodeVarintCollection(dAtA, i, uint64(j3)) + i = encodeVarintSet(dAtA, i, uint64(j3)) i-- dAtA[i] = 0x12 } if len(m.Name) > 0 { i -= len(m.Name) copy(dAtA[i:], m.Name) - i = encodeVarintCollection(dAtA, i, uint64(len(m.Name))) + i = encodeVarintSet(dAtA, i, uint64(len(m.Name))) i-- dAtA[i] = 0xa } return len(dAtA) - i, nil } -func encodeVarintCollection(dAtA []byte, offset int, v uint64) int { - offset -= sovCollection(v) +func encodeVarintSet(dAtA []byte, offset int, v uint64) int { + offset -= sovSet(v) base := offset for v >= 1<<7 { dAtA[offset] = uint8(v&0x7f | 0x80) @@ -507,7 +504,7 @@ func encodeVarintCollection(dAtA []byte, offset int, v uint64) int { dAtA[offset] = uint8(v) return base } -func (m *Collection) Size() (n int) { +func (m *Set) Size() (n int) { if m == nil { return 0 } @@ -515,46 +512,46 @@ func (m *Collection) Size() (n int) { _ = l l = len(m.Name) if l > 0 { - n += 1 + l + sovCollection(uint64(l)) + n += 1 + l + sovSet(uint64(l)) } if len(m.Cards) > 0 { l = 0 for _, e := range m.Cards { - l += sovCollection(uint64(e)) + l += sovSet(uint64(e)) } - n += 1 + sovCollection(uint64(l)) + l + n += 1 + sovSet(uint64(l)) + l } l = len(m.Artist) if l > 0 { - n += 1 + l + sovCollection(uint64(l)) + n += 1 + l + sovSet(uint64(l)) } l = len(m.StoryWriter) if l > 0 { - n += 1 + l + sovCollection(uint64(l)) + n += 1 + l + sovSet(uint64(l)) } if len(m.Contributors) > 0 { for _, s := range m.Contributors { l = len(s) - n += 1 + l + sovCollection(uint64(l)) + n += 1 + l + sovSet(uint64(l)) } } l = len(m.Story) if l > 0 { - n += 1 + l + sovCollection(uint64(l)) + n += 1 + l + sovSet(uint64(l)) } if m.ArtworkId != 0 { - n += 1 + sovCollection(uint64(m.ArtworkId)) + n += 1 + sovSet(uint64(m.ArtworkId)) } if m.Status != 0 { - n += 1 + sovCollection(uint64(m.Status)) + n += 1 + sovSet(uint64(m.Status)) } if m.TimeStamp != 0 { - n += 1 + sovCollection(uint64(m.TimeStamp)) + n += 1 + sovSet(uint64(m.TimeStamp)) } return n } -func (m *OutpCollection) Size() (n int) { +func (m *OutpSet) Size() (n int) { if m == nil { return 0 } @@ -562,53 +559,53 @@ func (m *OutpCollection) Size() (n int) { _ = l l = len(m.Name) if l > 0 { - n += 1 + l + sovCollection(uint64(l)) + n += 1 + l + sovSet(uint64(l)) } if len(m.Cards) > 0 { l = 0 for _, e := range m.Cards { - l += sovCollection(uint64(e)) + l += sovSet(uint64(e)) } - n += 1 + sovCollection(uint64(l)) + l + n += 1 + sovSet(uint64(l)) + l } l = len(m.Artist) if l > 0 { - n += 1 + l + sovCollection(uint64(l)) + n += 1 + l + sovSet(uint64(l)) } l = len(m.StoryWriter) if l > 0 { - n += 1 + l + sovCollection(uint64(l)) + n += 1 + l + sovSet(uint64(l)) } if len(m.Contributors) > 0 { for _, s := range m.Contributors { l = len(s) - n += 1 + l + sovCollection(uint64(l)) + n += 1 + l + sovSet(uint64(l)) } } l = len(m.Story) if l > 0 { - n += 1 + l + sovCollection(uint64(l)) + n += 1 + l + sovSet(uint64(l)) } l = len(m.Artwork) if l > 0 { - n += 1 + l + sovCollection(uint64(l)) + n += 1 + l + sovSet(uint64(l)) } if m.Status != 0 { - n += 1 + sovCollection(uint64(m.Status)) + n += 1 + sovSet(uint64(m.Status)) } if m.TimeStamp != 0 { - n += 1 + sovCollection(uint64(m.TimeStamp)) + n += 1 + sovSet(uint64(m.TimeStamp)) } return n } -func sovCollection(x uint64) (n int) { +func sovSet(x uint64) (n int) { return (math_bits.Len64(x|1) + 6) / 7 } -func sozCollection(x uint64) (n int) { - return sovCollection(uint64((x << 1) ^ uint64((int64(x) >> 63)))) +func sozSet(x uint64) (n int) { + return sovSet(uint64((x << 1) ^ uint64((int64(x) >> 63)))) } -func (m *Collection) Unmarshal(dAtA []byte) error { +func (m *Set) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -616,7 +613,7 @@ func (m *Collection) Unmarshal(dAtA []byte) error { var wire uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { - return ErrIntOverflowCollection + return ErrIntOverflowSet } if iNdEx >= l { return io.ErrUnexpectedEOF @@ -631,10 +628,10 @@ func (m *Collection) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: Collection: wiretype end group for non-group") + return fmt.Errorf("proto: Set: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: Collection: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: Set: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -644,7 +641,7 @@ func (m *Collection) Unmarshal(dAtA []byte) error { var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { - return ErrIntOverflowCollection + return ErrIntOverflowSet } if iNdEx >= l { return io.ErrUnexpectedEOF @@ -658,11 +655,11 @@ func (m *Collection) Unmarshal(dAtA []byte) error { } intStringLen := int(stringLen) if intStringLen < 0 { - return ErrInvalidLengthCollection + return ErrInvalidLengthSet } postIndex := iNdEx + intStringLen if postIndex < 0 { - return ErrInvalidLengthCollection + return ErrInvalidLengthSet } if postIndex > l { return io.ErrUnexpectedEOF @@ -674,7 +671,7 @@ func (m *Collection) Unmarshal(dAtA []byte) error { var v uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { - return ErrIntOverflowCollection + return ErrIntOverflowSet } if iNdEx >= l { return io.ErrUnexpectedEOF @@ -691,7 +688,7 @@ func (m *Collection) Unmarshal(dAtA []byte) error { var packedLen int for shift := uint(0); ; shift += 7 { if shift >= 64 { - return ErrIntOverflowCollection + return ErrIntOverflowSet } if iNdEx >= l { return io.ErrUnexpectedEOF @@ -704,11 +701,11 @@ func (m *Collection) Unmarshal(dAtA []byte) error { } } if packedLen < 0 { - return ErrInvalidLengthCollection + return ErrInvalidLengthSet } postIndex := iNdEx + packedLen if postIndex < 0 { - return ErrInvalidLengthCollection + return ErrInvalidLengthSet } if postIndex > l { return io.ErrUnexpectedEOF @@ -728,7 +725,7 @@ func (m *Collection) Unmarshal(dAtA []byte) error { var v uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { - return ErrIntOverflowCollection + return ErrIntOverflowSet } if iNdEx >= l { return io.ErrUnexpectedEOF @@ -752,7 +749,7 @@ func (m *Collection) Unmarshal(dAtA []byte) error { var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { - return ErrIntOverflowCollection + return ErrIntOverflowSet } if iNdEx >= l { return io.ErrUnexpectedEOF @@ -766,11 +763,11 @@ func (m *Collection) Unmarshal(dAtA []byte) error { } intStringLen := int(stringLen) if intStringLen < 0 { - return ErrInvalidLengthCollection + return ErrInvalidLengthSet } postIndex := iNdEx + intStringLen if postIndex < 0 { - return ErrInvalidLengthCollection + return ErrInvalidLengthSet } if postIndex > l { return io.ErrUnexpectedEOF @@ -784,7 +781,7 @@ func (m *Collection) Unmarshal(dAtA []byte) error { var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { - return ErrIntOverflowCollection + return ErrIntOverflowSet } if iNdEx >= l { return io.ErrUnexpectedEOF @@ -798,11 +795,11 @@ func (m *Collection) Unmarshal(dAtA []byte) error { } intStringLen := int(stringLen) if intStringLen < 0 { - return ErrInvalidLengthCollection + return ErrInvalidLengthSet } postIndex := iNdEx + intStringLen if postIndex < 0 { - return ErrInvalidLengthCollection + return ErrInvalidLengthSet } if postIndex > l { return io.ErrUnexpectedEOF @@ -816,7 +813,7 @@ func (m *Collection) Unmarshal(dAtA []byte) error { var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { - return ErrIntOverflowCollection + return ErrIntOverflowSet } if iNdEx >= l { return io.ErrUnexpectedEOF @@ -830,11 +827,11 @@ func (m *Collection) Unmarshal(dAtA []byte) error { } intStringLen := int(stringLen) if intStringLen < 0 { - return ErrInvalidLengthCollection + return ErrInvalidLengthSet } postIndex := iNdEx + intStringLen if postIndex < 0 { - return ErrInvalidLengthCollection + return ErrInvalidLengthSet } if postIndex > l { return io.ErrUnexpectedEOF @@ -848,7 +845,7 @@ func (m *Collection) Unmarshal(dAtA []byte) error { var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { - return ErrIntOverflowCollection + return ErrIntOverflowSet } if iNdEx >= l { return io.ErrUnexpectedEOF @@ -862,11 +859,11 @@ func (m *Collection) Unmarshal(dAtA []byte) error { } intStringLen := int(stringLen) if intStringLen < 0 { - return ErrInvalidLengthCollection + return ErrInvalidLengthSet } postIndex := iNdEx + intStringLen if postIndex < 0 { - return ErrInvalidLengthCollection + return ErrInvalidLengthSet } if postIndex > l { return io.ErrUnexpectedEOF @@ -880,7 +877,7 @@ func (m *Collection) Unmarshal(dAtA []byte) error { m.ArtworkId = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { - return ErrIntOverflowCollection + return ErrIntOverflowSet } if iNdEx >= l { return io.ErrUnexpectedEOF @@ -899,7 +896,7 @@ func (m *Collection) Unmarshal(dAtA []byte) error { m.Status = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { - return ErrIntOverflowCollection + return ErrIntOverflowSet } if iNdEx >= l { return io.ErrUnexpectedEOF @@ -918,7 +915,7 @@ func (m *Collection) Unmarshal(dAtA []byte) error { m.TimeStamp = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { - return ErrIntOverflowCollection + return ErrIntOverflowSet } if iNdEx >= l { return io.ErrUnexpectedEOF @@ -932,12 +929,12 @@ func (m *Collection) Unmarshal(dAtA []byte) error { } default: iNdEx = preIndex - skippy, err := skipCollection(dAtA[iNdEx:]) + skippy, err := skipSet(dAtA[iNdEx:]) if err != nil { return err } if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthCollection + return ErrInvalidLengthSet } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF @@ -951,7 +948,7 @@ func (m *Collection) Unmarshal(dAtA []byte) error { } return nil } -func (m *OutpCollection) Unmarshal(dAtA []byte) error { +func (m *OutpSet) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -959,7 +956,7 @@ func (m *OutpCollection) Unmarshal(dAtA []byte) error { var wire uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { - return ErrIntOverflowCollection + return ErrIntOverflowSet } if iNdEx >= l { return io.ErrUnexpectedEOF @@ -974,10 +971,10 @@ func (m *OutpCollection) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: OutpCollection: wiretype end group for non-group") + return fmt.Errorf("proto: OutpSet: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: OutpCollection: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: OutpSet: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -987,7 +984,7 @@ func (m *OutpCollection) Unmarshal(dAtA []byte) error { var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { - return ErrIntOverflowCollection + return ErrIntOverflowSet } if iNdEx >= l { return io.ErrUnexpectedEOF @@ -1001,11 +998,11 @@ func (m *OutpCollection) Unmarshal(dAtA []byte) error { } intStringLen := int(stringLen) if intStringLen < 0 { - return ErrInvalidLengthCollection + return ErrInvalidLengthSet } postIndex := iNdEx + intStringLen if postIndex < 0 { - return ErrInvalidLengthCollection + return ErrInvalidLengthSet } if postIndex > l { return io.ErrUnexpectedEOF @@ -1017,7 +1014,7 @@ func (m *OutpCollection) Unmarshal(dAtA []byte) error { var v uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { - return ErrIntOverflowCollection + return ErrIntOverflowSet } if iNdEx >= l { return io.ErrUnexpectedEOF @@ -1034,7 +1031,7 @@ func (m *OutpCollection) Unmarshal(dAtA []byte) error { var packedLen int for shift := uint(0); ; shift += 7 { if shift >= 64 { - return ErrIntOverflowCollection + return ErrIntOverflowSet } if iNdEx >= l { return io.ErrUnexpectedEOF @@ -1047,11 +1044,11 @@ func (m *OutpCollection) Unmarshal(dAtA []byte) error { } } if packedLen < 0 { - return ErrInvalidLengthCollection + return ErrInvalidLengthSet } postIndex := iNdEx + packedLen if postIndex < 0 { - return ErrInvalidLengthCollection + return ErrInvalidLengthSet } if postIndex > l { return io.ErrUnexpectedEOF @@ -1071,7 +1068,7 @@ func (m *OutpCollection) Unmarshal(dAtA []byte) error { var v uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { - return ErrIntOverflowCollection + return ErrIntOverflowSet } if iNdEx >= l { return io.ErrUnexpectedEOF @@ -1095,7 +1092,7 @@ func (m *OutpCollection) Unmarshal(dAtA []byte) error { var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { - return ErrIntOverflowCollection + return ErrIntOverflowSet } if iNdEx >= l { return io.ErrUnexpectedEOF @@ -1109,11 +1106,11 @@ func (m *OutpCollection) Unmarshal(dAtA []byte) error { } intStringLen := int(stringLen) if intStringLen < 0 { - return ErrInvalidLengthCollection + return ErrInvalidLengthSet } postIndex := iNdEx + intStringLen if postIndex < 0 { - return ErrInvalidLengthCollection + return ErrInvalidLengthSet } if postIndex > l { return io.ErrUnexpectedEOF @@ -1127,7 +1124,7 @@ func (m *OutpCollection) Unmarshal(dAtA []byte) error { var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { - return ErrIntOverflowCollection + return ErrIntOverflowSet } if iNdEx >= l { return io.ErrUnexpectedEOF @@ -1141,11 +1138,11 @@ func (m *OutpCollection) Unmarshal(dAtA []byte) error { } intStringLen := int(stringLen) if intStringLen < 0 { - return ErrInvalidLengthCollection + return ErrInvalidLengthSet } postIndex := iNdEx + intStringLen if postIndex < 0 { - return ErrInvalidLengthCollection + return ErrInvalidLengthSet } if postIndex > l { return io.ErrUnexpectedEOF @@ -1159,7 +1156,7 @@ func (m *OutpCollection) Unmarshal(dAtA []byte) error { var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { - return ErrIntOverflowCollection + return ErrIntOverflowSet } if iNdEx >= l { return io.ErrUnexpectedEOF @@ -1173,11 +1170,11 @@ func (m *OutpCollection) Unmarshal(dAtA []byte) error { } intStringLen := int(stringLen) if intStringLen < 0 { - return ErrInvalidLengthCollection + return ErrInvalidLengthSet } postIndex := iNdEx + intStringLen if postIndex < 0 { - return ErrInvalidLengthCollection + return ErrInvalidLengthSet } if postIndex > l { return io.ErrUnexpectedEOF @@ -1191,7 +1188,7 @@ func (m *OutpCollection) Unmarshal(dAtA []byte) error { var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { - return ErrIntOverflowCollection + return ErrIntOverflowSet } if iNdEx >= l { return io.ErrUnexpectedEOF @@ -1205,11 +1202,11 @@ func (m *OutpCollection) Unmarshal(dAtA []byte) error { } intStringLen := int(stringLen) if intStringLen < 0 { - return ErrInvalidLengthCollection + return ErrInvalidLengthSet } postIndex := iNdEx + intStringLen if postIndex < 0 { - return ErrInvalidLengthCollection + return ErrInvalidLengthSet } if postIndex > l { return io.ErrUnexpectedEOF @@ -1223,7 +1220,7 @@ func (m *OutpCollection) Unmarshal(dAtA []byte) error { var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { - return ErrIntOverflowCollection + return ErrIntOverflowSet } if iNdEx >= l { return io.ErrUnexpectedEOF @@ -1237,11 +1234,11 @@ func (m *OutpCollection) Unmarshal(dAtA []byte) error { } intStringLen := int(stringLen) if intStringLen < 0 { - return ErrInvalidLengthCollection + return ErrInvalidLengthSet } postIndex := iNdEx + intStringLen if postIndex < 0 { - return ErrInvalidLengthCollection + return ErrInvalidLengthSet } if postIndex > l { return io.ErrUnexpectedEOF @@ -1255,7 +1252,7 @@ func (m *OutpCollection) Unmarshal(dAtA []byte) error { m.Status = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { - return ErrIntOverflowCollection + return ErrIntOverflowSet } if iNdEx >= l { return io.ErrUnexpectedEOF @@ -1274,7 +1271,7 @@ func (m *OutpCollection) Unmarshal(dAtA []byte) error { m.TimeStamp = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { - return ErrIntOverflowCollection + return ErrIntOverflowSet } if iNdEx >= l { return io.ErrUnexpectedEOF @@ -1288,12 +1285,12 @@ func (m *OutpCollection) Unmarshal(dAtA []byte) error { } default: iNdEx = preIndex - skippy, err := skipCollection(dAtA[iNdEx:]) + skippy, err := skipSet(dAtA[iNdEx:]) if err != nil { return err } if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthCollection + return ErrInvalidLengthSet } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF @@ -1307,7 +1304,7 @@ func (m *OutpCollection) Unmarshal(dAtA []byte) error { } return nil } -func skipCollection(dAtA []byte) (n int, err error) { +func skipSet(dAtA []byte) (n int, err error) { l := len(dAtA) iNdEx := 0 depth := 0 @@ -1315,7 +1312,7 @@ func skipCollection(dAtA []byte) (n int, err error) { var wire uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { - return 0, ErrIntOverflowCollection + return 0, ErrIntOverflowSet } if iNdEx >= l { return 0, io.ErrUnexpectedEOF @@ -1332,7 +1329,7 @@ func skipCollection(dAtA []byte) (n int, err error) { case 0: for shift := uint(0); ; shift += 7 { if shift >= 64 { - return 0, ErrIntOverflowCollection + return 0, ErrIntOverflowSet } if iNdEx >= l { return 0, io.ErrUnexpectedEOF @@ -1348,7 +1345,7 @@ func skipCollection(dAtA []byte) (n int, err error) { var length int for shift := uint(0); ; shift += 7 { if shift >= 64 { - return 0, ErrIntOverflowCollection + return 0, ErrIntOverflowSet } if iNdEx >= l { return 0, io.ErrUnexpectedEOF @@ -1361,14 +1358,14 @@ func skipCollection(dAtA []byte) (n int, err error) { } } if length < 0 { - return 0, ErrInvalidLengthCollection + return 0, ErrInvalidLengthSet } iNdEx += length case 3: depth++ case 4: if depth == 0 { - return 0, ErrUnexpectedEndOfGroupCollection + return 0, ErrUnexpectedEndOfGroupSet } depth-- case 5: @@ -1377,7 +1374,7 @@ func skipCollection(dAtA []byte) (n int, err error) { return 0, fmt.Errorf("proto: illegal wireType %d", wireType) } if iNdEx < 0 { - return 0, ErrInvalidLengthCollection + return 0, ErrInvalidLengthSet } if depth == 0 { return iNdEx, nil @@ -1387,7 +1384,7 @@ func skipCollection(dAtA []byte) (n int, err error) { } var ( - ErrInvalidLengthCollection = fmt.Errorf("proto: negative length found during unmarshaling") - ErrIntOverflowCollection = fmt.Errorf("proto: integer overflow") - ErrUnexpectedEndOfGroupCollection = fmt.Errorf("proto: unexpected end of group") + ErrInvalidLengthSet = fmt.Errorf("proto: negative length found during unmarshaling") + ErrIntOverflowSet = fmt.Errorf("proto: integer overflow") + ErrUnexpectedEndOfGroupSet = fmt.Errorf("proto: unexpected end of group") ) diff --git a/x/cardchain/types/set_proposal.pb.go b/x/cardchain/types/set_proposal.pb.go new file mode 100644 index 00000000..b163f496 --- /dev/null +++ b/x/cardchain/types/set_proposal.pb.go @@ -0,0 +1,405 @@ +// Code generated by protoc-gen-gogo. DO NOT EDIT. +// source: cardchain/cardchain/set_proposal.proto + +package types + +import ( + fmt "fmt" + proto "github.com/gogo/protobuf/proto" + io "io" + math "math" + math_bits "math/bits" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package + +type SetProposal struct { + Title string `protobuf:"bytes,1,opt,name=title,proto3" json:"title,omitempty"` + Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` + SetId uint64 `protobuf:"varint,3,opt,name=setId,proto3" json:"setId,omitempty"` +} + +func (m *SetProposal) Reset() { *m = SetProposal{} } +func (m *SetProposal) String() string { return proto.CompactTextString(m) } +func (*SetProposal) ProtoMessage() {} +func (*SetProposal) Descriptor() ([]byte, []int) { + return fileDescriptor_07b8511feb3974a9, []int{0} +} +func (m *SetProposal) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *SetProposal) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_SetProposal.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 *SetProposal) XXX_Merge(src proto.Message) { + xxx_messageInfo_SetProposal.Merge(m, src) +} +func (m *SetProposal) XXX_Size() int { + return m.Size() +} +func (m *SetProposal) XXX_DiscardUnknown() { + xxx_messageInfo_SetProposal.DiscardUnknown(m) +} + +var xxx_messageInfo_SetProposal proto.InternalMessageInfo + +func (m *SetProposal) GetTitle() string { + if m != nil { + return m.Title + } + return "" +} + +func (m *SetProposal) GetDescription() string { + if m != nil { + return m.Description + } + return "" +} + +func (m *SetProposal) GetSetId() uint64 { + if m != nil { + return m.SetId + } + return 0 +} + +func init() { + proto.RegisterType((*SetProposal)(nil), "DecentralCardGame.cardchain.cardchain.SetProposal") +} + +func init() { + proto.RegisterFile("cardchain/cardchain/set_proposal.proto", fileDescriptor_07b8511feb3974a9) +} + +var fileDescriptor_07b8511feb3974a9 = []byte{ + // 205 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x52, 0x4b, 0x4e, 0x2c, 0x4a, + 0x49, 0xce, 0x48, 0xcc, 0xcc, 0xd3, 0x47, 0xb0, 0x8a, 0x53, 0x4b, 0xe2, 0x0b, 0x8a, 0xf2, 0x0b, + 0xf2, 0x8b, 0x13, 0x73, 0xf4, 0x0a, 0x8a, 0xf2, 0x4b, 0xf2, 0x85, 0x54, 0x5d, 0x52, 0x93, 0x53, + 0xf3, 0x4a, 0x8a, 0x12, 0x73, 0x9c, 0x13, 0x8b, 0x52, 0xdc, 0x13, 0x73, 0x53, 0xf5, 0xe0, 0xea, + 0x11, 0x2c, 0xa5, 0x68, 0x2e, 0xee, 0xe0, 0xd4, 0x92, 0x00, 0xa8, 0x5e, 0x21, 0x11, 0x2e, 0xd6, + 0x92, 0xcc, 0x92, 0x9c, 0x54, 0x09, 0x46, 0x05, 0x46, 0x0d, 0xce, 0x20, 0x08, 0x47, 0x48, 0x81, + 0x8b, 0x3b, 0x25, 0xb5, 0x38, 0xb9, 0x28, 0xb3, 0xa0, 0x24, 0x33, 0x3f, 0x4f, 0x82, 0x09, 0x2c, + 0x87, 0x2c, 0x04, 0xd2, 0x57, 0x9c, 0x5a, 0xe2, 0x99, 0x22, 0xc1, 0xac, 0xc0, 0xa8, 0xc1, 0x12, + 0x04, 0xe1, 0x38, 0x05, 0x9d, 0x78, 0x24, 0xc7, 0x78, 0xe1, 0x91, 0x1c, 0xe3, 0x83, 0x47, 0x72, + 0x8c, 0x13, 0x1e, 0xcb, 0x31, 0x5c, 0x78, 0x2c, 0xc7, 0x70, 0xe3, 0xb1, 0x1c, 0x43, 0x94, 0x45, + 0x7a, 0x66, 0x49, 0x46, 0x69, 0x92, 0x5e, 0x72, 0x7e, 0xae, 0x3e, 0x86, 0x43, 0xf5, 0x9d, 0xe1, + 0x1e, 0xab, 0x40, 0xf2, 0x64, 0x49, 0x65, 0x41, 0x6a, 0x71, 0x12, 0x1b, 0xd8, 0x7b, 0xc6, 0x80, + 0x00, 0x00, 0x00, 0xff, 0xff, 0xd3, 0x21, 0x3a, 0xc2, 0x08, 0x01, 0x00, 0x00, +} + +func (m *SetProposal) 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 *SetProposal) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *SetProposal) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.SetId != 0 { + i = encodeVarintSetProposal(dAtA, i, uint64(m.SetId)) + i-- + dAtA[i] = 0x18 + } + if len(m.Description) > 0 { + i -= len(m.Description) + copy(dAtA[i:], m.Description) + i = encodeVarintSetProposal(dAtA, i, uint64(len(m.Description))) + i-- + dAtA[i] = 0x12 + } + if len(m.Title) > 0 { + i -= len(m.Title) + copy(dAtA[i:], m.Title) + i = encodeVarintSetProposal(dAtA, i, uint64(len(m.Title))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func encodeVarintSetProposal(dAtA []byte, offset int, v uint64) int { + offset -= sovSetProposal(v) + base := offset + for v >= 1<<7 { + dAtA[offset] = uint8(v&0x7f | 0x80) + v >>= 7 + offset++ + } + dAtA[offset] = uint8(v) + return base +} +func (m *SetProposal) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Title) + if l > 0 { + n += 1 + l + sovSetProposal(uint64(l)) + } + l = len(m.Description) + if l > 0 { + n += 1 + l + sovSetProposal(uint64(l)) + } + if m.SetId != 0 { + n += 1 + sovSetProposal(uint64(m.SetId)) + } + return n +} + +func sovSetProposal(x uint64) (n int) { + return (math_bits.Len64(x|1) + 6) / 7 +} +func sozSetProposal(x uint64) (n int) { + return sovSetProposal(uint64((x << 1) ^ uint64((int64(x) >> 63)))) +} +func (m *SetProposal) 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 ErrIntOverflowSetProposal + } + 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: SetProposal: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: SetProposal: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Title", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowSetProposal + } + 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 ErrInvalidLengthSetProposal + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthSetProposal + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Title = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Description", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowSetProposal + } + 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 ErrInvalidLengthSetProposal + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthSetProposal + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Description = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field SetId", wireType) + } + m.SetId = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowSetProposal + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.SetId |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + default: + iNdEx = preIndex + skippy, err := skipSetProposal(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthSetProposal + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func skipSetProposal(dAtA []byte) (n int, err error) { + l := len(dAtA) + iNdEx := 0 + depth := 0 + for iNdEx < l { + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowSetProposal + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + wireType := int(wire & 0x7) + switch wireType { + case 0: + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowSetProposal + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + iNdEx++ + if dAtA[iNdEx-1] < 0x80 { + break + } + } + case 1: + iNdEx += 8 + case 2: + var length int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowSetProposal + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + length |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if length < 0 { + return 0, ErrInvalidLengthSetProposal + } + iNdEx += length + case 3: + depth++ + case 4: + if depth == 0 { + return 0, ErrUnexpectedEndOfGroupSetProposal + } + depth-- + case 5: + iNdEx += 4 + default: + return 0, fmt.Errorf("proto: illegal wireType %d", wireType) + } + if iNdEx < 0 { + return 0, ErrInvalidLengthSetProposal + } + if depth == 0 { + return iNdEx, nil + } + } + return 0, io.ErrUnexpectedEOF +} + +var ( + ErrInvalidLengthSetProposal = fmt.Errorf("proto: negative length found during unmarshaling") + ErrIntOverflowSetProposal = fmt.Errorf("proto: integer overflow") + ErrUnexpectedEndOfGroupSetProposal = fmt.Errorf("proto: unexpected end of group") +) diff --git a/x/cardchain/types/tx.pb.go b/x/cardchain/types/tx.pb.go index f4ce1b15..01a8a55e 100644 --- a/x/cardchain/types/tx.pb.go +++ b/x/cardchain/types/tx.pb.go @@ -6,8 +6,8 @@ package types import ( context "context" fmt "fmt" - _ "github.com/cosmos/cosmos-sdk/types" github_com_cosmos_cosmos_sdk_types "github.com/cosmos/cosmos-sdk/types" + types "github.com/cosmos/cosmos-sdk/types" _ "github.com/gogo/protobuf/gogoproto" grpc1 "github.com/gogo/protobuf/grpc" proto "github.com/gogo/protobuf/proto" @@ -30,37 +30,6 @@ var _ = math.Inf // proto package needs to be updated. const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package -type Outcome int32 - -const ( - Outcome_AWon Outcome = 0 - Outcome_BWon Outcome = 1 - Outcome_Draw Outcome = 2 - Outcome_Aborted Outcome = 3 -) - -var Outcome_name = map[int32]string{ - 0: "AWon", - 1: "BWon", - 2: "Draw", - 3: "Aborted", -} - -var Outcome_value = map[string]int32{ - "AWon": 0, - "BWon": 1, - "Draw": 2, - "Aborted": 3, -} - -func (x Outcome) String() string { - return proto.EnumName(Outcome_name, int32(x)) -} - -func (Outcome) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_3b4a3aba0ac94bc8, []int{0} -} - type MsgCreateuser struct { Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` NewUser string `protobuf:"bytes,2,opt,name=newUser,proto3" json:"newUser,omitempty"` @@ -158,9 +127,8 @@ func (m *MsgCreateuserResponse) XXX_DiscardUnknown() { var xxx_messageInfo_MsgCreateuserResponse proto.InternalMessageInfo type MsgBuyCardScheme struct { - Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` - // cosmos.base.v1beta1.Coin bid = 2; - Bid string `protobuf:"bytes,2,opt,name=bid,proto3" json:"bid,omitempty"` + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + Bid types.Coin `protobuf:"bytes,2,opt,name=bid,proto3,castrepeated=github.com/cosmos/cosmos-sdk/types.Coin" json:"bid"` } func (m *MsgBuyCardScheme) Reset() { *m = MsgBuyCardScheme{} } @@ -196,21 +164,8 @@ func (m *MsgBuyCardScheme) XXX_DiscardUnknown() { var xxx_messageInfo_MsgBuyCardScheme proto.InternalMessageInfo -func (m *MsgBuyCardScheme) GetCreator() string { - if m != nil { - return m.Creator - } - return "" -} - -func (m *MsgBuyCardScheme) GetBid() string { - if m != nil { - return m.Bid - } - return "" -} - type MsgBuyCardSchemeResponse struct { + CardId uint64 `protobuf:"varint,1,opt,name=cardId,proto3" json:"cardId,omitempty"` } func (m *MsgBuyCardSchemeResponse) Reset() { *m = MsgBuyCardSchemeResponse{} } @@ -246,6 +201,13 @@ func (m *MsgBuyCardSchemeResponse) XXX_DiscardUnknown() { var xxx_messageInfo_MsgBuyCardSchemeResponse proto.InternalMessageInfo +func (m *MsgBuyCardSchemeResponse) GetCardId() uint64 { + if m != nil { + return m.CardId + } + return 0 +} + type MsgVoteCard struct { Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` CardId uint64 `protobuf:"varint,2,opt,name=cardId,proto3" json:"cardId,omitempty"` @@ -356,8 +318,9 @@ type MsgSaveCardContent struct { Content []byte `protobuf:"bytes,3,opt,name=content,proto3" json:"content,omitempty"` // bytes image = 4; // string fullArt = 5; - Notes string `protobuf:"bytes,4,opt,name=notes,proto3" json:"notes,omitempty"` - Artist string `protobuf:"bytes,5,opt,name=artist,proto3" json:"artist,omitempty"` + Notes string `protobuf:"bytes,4,opt,name=notes,proto3" json:"notes,omitempty"` + Artist string `protobuf:"bytes,5,opt,name=artist,proto3" json:"artist,omitempty"` + BalanceAnchor bool `protobuf:"varint,6,opt,name=balanceAnchor,proto3" json:"balanceAnchor,omitempty"` } func (m *MsgSaveCardContent) Reset() { *m = MsgSaveCardContent{} } @@ -428,6 +391,13 @@ func (m *MsgSaveCardContent) GetArtist() string { return "" } +func (m *MsgSaveCardContent) GetBalanceAnchor() bool { + if m != nil { + return m.BalanceAnchor + } + return false +} + type MsgSaveCardContentResponse struct { AirdropClaimed bool `protobuf:"varint,1,opt,name=airdropClaimed,proto3" json:"airdropClaimed,omitempty"` } @@ -761,110 +731,6 @@ func (m *MsgAddArtworkResponse) XXX_DiscardUnknown() { var xxx_messageInfo_MsgAddArtworkResponse proto.InternalMessageInfo -type MsgSubmitCopyrightProposal struct { - Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` - CardId uint64 `protobuf:"varint,2,opt,name=cardId,proto3" json:"cardId,omitempty"` - Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` - Link string `protobuf:"bytes,4,opt,name=link,proto3" json:"link,omitempty"` -} - -func (m *MsgSubmitCopyrightProposal) Reset() { *m = MsgSubmitCopyrightProposal{} } -func (m *MsgSubmitCopyrightProposal) String() string { return proto.CompactTextString(m) } -func (*MsgSubmitCopyrightProposal) ProtoMessage() {} -func (*MsgSubmitCopyrightProposal) Descriptor() ([]byte, []int) { - return fileDescriptor_3b4a3aba0ac94bc8, []int{14} -} -func (m *MsgSubmitCopyrightProposal) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *MsgSubmitCopyrightProposal) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MsgSubmitCopyrightProposal.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 *MsgSubmitCopyrightProposal) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgSubmitCopyrightProposal.Merge(m, src) -} -func (m *MsgSubmitCopyrightProposal) XXX_Size() int { - return m.Size() -} -func (m *MsgSubmitCopyrightProposal) XXX_DiscardUnknown() { - xxx_messageInfo_MsgSubmitCopyrightProposal.DiscardUnknown(m) -} - -var xxx_messageInfo_MsgSubmitCopyrightProposal proto.InternalMessageInfo - -func (m *MsgSubmitCopyrightProposal) GetCreator() string { - if m != nil { - return m.Creator - } - return "" -} - -func (m *MsgSubmitCopyrightProposal) GetCardId() uint64 { - if m != nil { - return m.CardId - } - return 0 -} - -func (m *MsgSubmitCopyrightProposal) GetDescription() string { - if m != nil { - return m.Description - } - return "" -} - -func (m *MsgSubmitCopyrightProposal) GetLink() string { - if m != nil { - return m.Link - } - return "" -} - -type MsgSubmitCopyrightProposalResponse struct { -} - -func (m *MsgSubmitCopyrightProposalResponse) Reset() { *m = MsgSubmitCopyrightProposalResponse{} } -func (m *MsgSubmitCopyrightProposalResponse) String() string { return proto.CompactTextString(m) } -func (*MsgSubmitCopyrightProposalResponse) ProtoMessage() {} -func (*MsgSubmitCopyrightProposalResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_3b4a3aba0ac94bc8, []int{15} -} -func (m *MsgSubmitCopyrightProposalResponse) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *MsgSubmitCopyrightProposalResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MsgSubmitCopyrightProposalResponse.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 *MsgSubmitCopyrightProposalResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgSubmitCopyrightProposalResponse.Merge(m, src) -} -func (m *MsgSubmitCopyrightProposalResponse) XXX_Size() int { - return m.Size() -} -func (m *MsgSubmitCopyrightProposalResponse) XXX_DiscardUnknown() { - xxx_messageInfo_MsgSubmitCopyrightProposalResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_MsgSubmitCopyrightProposalResponse proto.InternalMessageInfo - type MsgChangeArtist struct { Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` CardID uint64 `protobuf:"varint,2,opt,name=cardID,proto3" json:"cardID,omitempty"` @@ -875,7 +741,7 @@ func (m *MsgChangeArtist) Reset() { *m = MsgChangeArtist{} } func (m *MsgChangeArtist) String() string { return proto.CompactTextString(m) } func (*MsgChangeArtist) ProtoMessage() {} func (*MsgChangeArtist) Descriptor() ([]byte, []int) { - return fileDescriptor_3b4a3aba0ac94bc8, []int{16} + return fileDescriptor_3b4a3aba0ac94bc8, []int{14} } func (m *MsgChangeArtist) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -932,7 +798,7 @@ func (m *MsgChangeArtistResponse) Reset() { *m = MsgChangeArtistResponse func (m *MsgChangeArtistResponse) String() string { return proto.CompactTextString(m) } func (*MsgChangeArtistResponse) ProtoMessage() {} func (*MsgChangeArtistResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_3b4a3aba0ac94bc8, []int{17} + return fileDescriptor_3b4a3aba0ac94bc8, []int{15} } func (m *MsgChangeArtistResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -969,7 +835,7 @@ func (m *MsgRegisterForCouncil) Reset() { *m = MsgRegisterForCouncil{} } func (m *MsgRegisterForCouncil) String() string { return proto.CompactTextString(m) } func (*MsgRegisterForCouncil) ProtoMessage() {} func (*MsgRegisterForCouncil) Descriptor() ([]byte, []int) { - return fileDescriptor_3b4a3aba0ac94bc8, []int{18} + return fileDescriptor_3b4a3aba0ac94bc8, []int{16} } func (m *MsgRegisterForCouncil) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1012,7 +878,7 @@ func (m *MsgRegisterForCouncilResponse) Reset() { *m = MsgRegisterForCou func (m *MsgRegisterForCouncilResponse) String() string { return proto.CompactTextString(m) } func (*MsgRegisterForCouncilResponse) ProtoMessage() {} func (*MsgRegisterForCouncilResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_3b4a3aba0ac94bc8, []int{19} + return fileDescriptor_3b4a3aba0ac94bc8, []int{17} } func (m *MsgRegisterForCouncilResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1042,19 +908,18 @@ func (m *MsgRegisterForCouncilResponse) XXX_DiscardUnknown() { var xxx_messageInfo_MsgRegisterForCouncilResponse proto.InternalMessageInfo type MsgReportMatch struct { - Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` - PlayerA string `protobuf:"bytes,2,opt,name=playerA,proto3" json:"playerA,omitempty"` - PlayerB string `protobuf:"bytes,3,opt,name=playerB,proto3" json:"playerB,omitempty"` - CardsA []uint64 `protobuf:"varint,5,rep,packed,name=cardsA,proto3" json:"cardsA,omitempty"` - CardsB []uint64 `protobuf:"varint,6,rep,packed,name=cardsB,proto3" json:"cardsB,omitempty"` - Outcome Outcome `protobuf:"varint,7,opt,name=outcome,proto3,enum=DecentralCardGame.cardchain.cardchain.Outcome" json:"outcome,omitempty"` + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + MatchId uint64 `protobuf:"varint,2,opt,name=matchId,proto3" json:"matchId,omitempty"` + PlayedCardsA []uint64 `protobuf:"varint,3,rep,packed,name=playedCardsA,proto3" json:"playedCardsA,omitempty"` + PlayedCardsB []uint64 `protobuf:"varint,4,rep,packed,name=playedCardsB,proto3" json:"playedCardsB,omitempty"` + Outcome Outcome `protobuf:"varint,5,opt,name=outcome,proto3,enum=DecentralCardGame.cardchain.cardchain.Outcome" json:"outcome,omitempty"` } func (m *MsgReportMatch) Reset() { *m = MsgReportMatch{} } func (m *MsgReportMatch) String() string { return proto.CompactTextString(m) } func (*MsgReportMatch) ProtoMessage() {} func (*MsgReportMatch) Descriptor() ([]byte, []int) { - return fileDescriptor_3b4a3aba0ac94bc8, []int{20} + return fileDescriptor_3b4a3aba0ac94bc8, []int{18} } func (m *MsgReportMatch) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1090,30 +955,23 @@ func (m *MsgReportMatch) GetCreator() string { return "" } -func (m *MsgReportMatch) GetPlayerA() string { - if m != nil { - return m.PlayerA - } - return "" -} - -func (m *MsgReportMatch) GetPlayerB() string { +func (m *MsgReportMatch) GetMatchId() uint64 { if m != nil { - return m.PlayerB + return m.MatchId } - return "" + return 0 } -func (m *MsgReportMatch) GetCardsA() []uint64 { +func (m *MsgReportMatch) GetPlayedCardsA() []uint64 { if m != nil { - return m.CardsA + return m.PlayedCardsA } return nil } -func (m *MsgReportMatch) GetCardsB() []uint64 { +func (m *MsgReportMatch) GetPlayedCardsB() []uint64 { if m != nil { - return m.CardsB + return m.PlayedCardsB } return nil } @@ -1133,7 +991,7 @@ func (m *MsgReportMatchResponse) Reset() { *m = MsgReportMatchResponse{} func (m *MsgReportMatchResponse) String() string { return proto.CompactTextString(m) } func (*MsgReportMatchResponse) ProtoMessage() {} func (*MsgReportMatchResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_3b4a3aba0ac94bc8, []int{21} + return fileDescriptor_3b4a3aba0ac94bc8, []int{19} } func (m *MsgReportMatchResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1169,112 +1027,6 @@ func (m *MsgReportMatchResponse) GetMatchId() uint64 { return 0 } -type MsgSubmitMatchReporterProposal struct { - Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` - Reporter string `protobuf:"bytes,2,opt,name=reporter,proto3" json:"reporter,omitempty"` - Deposit string `protobuf:"bytes,3,opt,name=deposit,proto3" json:"deposit,omitempty"` - Description string `protobuf:"bytes,4,opt,name=description,proto3" json:"description,omitempty"` -} - -func (m *MsgSubmitMatchReporterProposal) Reset() { *m = MsgSubmitMatchReporterProposal{} } -func (m *MsgSubmitMatchReporterProposal) String() string { return proto.CompactTextString(m) } -func (*MsgSubmitMatchReporterProposal) ProtoMessage() {} -func (*MsgSubmitMatchReporterProposal) Descriptor() ([]byte, []int) { - return fileDescriptor_3b4a3aba0ac94bc8, []int{22} -} -func (m *MsgSubmitMatchReporterProposal) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *MsgSubmitMatchReporterProposal) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MsgSubmitMatchReporterProposal.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 *MsgSubmitMatchReporterProposal) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgSubmitMatchReporterProposal.Merge(m, src) -} -func (m *MsgSubmitMatchReporterProposal) XXX_Size() int { - return m.Size() -} -func (m *MsgSubmitMatchReporterProposal) XXX_DiscardUnknown() { - xxx_messageInfo_MsgSubmitMatchReporterProposal.DiscardUnknown(m) -} - -var xxx_messageInfo_MsgSubmitMatchReporterProposal proto.InternalMessageInfo - -func (m *MsgSubmitMatchReporterProposal) GetCreator() string { - if m != nil { - return m.Creator - } - return "" -} - -func (m *MsgSubmitMatchReporterProposal) GetReporter() string { - if m != nil { - return m.Reporter - } - return "" -} - -func (m *MsgSubmitMatchReporterProposal) GetDeposit() string { - if m != nil { - return m.Deposit - } - return "" -} - -func (m *MsgSubmitMatchReporterProposal) GetDescription() string { - if m != nil { - return m.Description - } - return "" -} - -type MsgSubmitMatchReporterProposalResponse struct { -} - -func (m *MsgSubmitMatchReporterProposalResponse) Reset() { - *m = MsgSubmitMatchReporterProposalResponse{} -} -func (m *MsgSubmitMatchReporterProposalResponse) String() string { return proto.CompactTextString(m) } -func (*MsgSubmitMatchReporterProposalResponse) ProtoMessage() {} -func (*MsgSubmitMatchReporterProposalResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_3b4a3aba0ac94bc8, []int{23} -} -func (m *MsgSubmitMatchReporterProposalResponse) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *MsgSubmitMatchReporterProposalResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MsgSubmitMatchReporterProposalResponse.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 *MsgSubmitMatchReporterProposalResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgSubmitMatchReporterProposalResponse.Merge(m, src) -} -func (m *MsgSubmitMatchReporterProposalResponse) XXX_Size() int { - return m.Size() -} -func (m *MsgSubmitMatchReporterProposalResponse) XXX_DiscardUnknown() { - xxx_messageInfo_MsgSubmitMatchReporterProposalResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_MsgSubmitMatchReporterProposalResponse proto.InternalMessageInfo - type MsgApointMatchReporter struct { Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` Reporter string `protobuf:"bytes,2,opt,name=reporter,proto3" json:"reporter,omitempty"` @@ -1284,7 +1036,7 @@ func (m *MsgApointMatchReporter) Reset() { *m = MsgApointMatchReporter{} func (m *MsgApointMatchReporter) String() string { return proto.CompactTextString(m) } func (*MsgApointMatchReporter) ProtoMessage() {} func (*MsgApointMatchReporter) Descriptor() ([]byte, []int) { - return fileDescriptor_3b4a3aba0ac94bc8, []int{24} + return fileDescriptor_3b4a3aba0ac94bc8, []int{20} } func (m *MsgApointMatchReporter) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1334,7 +1086,7 @@ func (m *MsgApointMatchReporterResponse) Reset() { *m = MsgApointMatchRe func (m *MsgApointMatchReporterResponse) String() string { return proto.CompactTextString(m) } func (*MsgApointMatchReporterResponse) ProtoMessage() {} func (*MsgApointMatchReporterResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_3b4a3aba0ac94bc8, []int{25} + return fileDescriptor_3b4a3aba0ac94bc8, []int{21} } func (m *MsgApointMatchReporterResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -1363,7 +1115,7 @@ func (m *MsgApointMatchReporterResponse) XXX_DiscardUnknown() { var xxx_messageInfo_MsgApointMatchReporterResponse proto.InternalMessageInfo -type MsgCreateCollection struct { +type MsgCreateSet struct { Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` Artist string `protobuf:"bytes,3,opt,name=artist,proto3" json:"artist,omitempty"` @@ -1371,18 +1123,18 @@ type MsgCreateCollection struct { Contributors []string `protobuf:"bytes,5,rep,name=contributors,proto3" json:"contributors,omitempty"` } -func (m *MsgCreateCollection) Reset() { *m = MsgCreateCollection{} } -func (m *MsgCreateCollection) String() string { return proto.CompactTextString(m) } -func (*MsgCreateCollection) ProtoMessage() {} -func (*MsgCreateCollection) Descriptor() ([]byte, []int) { - return fileDescriptor_3b4a3aba0ac94bc8, []int{26} +func (m *MsgCreateSet) Reset() { *m = MsgCreateSet{} } +func (m *MsgCreateSet) String() string { return proto.CompactTextString(m) } +func (*MsgCreateSet) ProtoMessage() {} +func (*MsgCreateSet) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{22} } -func (m *MsgCreateCollection) XXX_Unmarshal(b []byte) error { +func (m *MsgCreateSet) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *MsgCreateCollection) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *MsgCreateSet) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_MsgCreateCollection.Marshal(b, m, deterministic) + return xxx_messageInfo_MsgCreateSet.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -1392,68 +1144,68 @@ func (m *MsgCreateCollection) XXX_Marshal(b []byte, deterministic bool) ([]byte, return b[:n], nil } } -func (m *MsgCreateCollection) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgCreateCollection.Merge(m, src) +func (m *MsgCreateSet) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgCreateSet.Merge(m, src) } -func (m *MsgCreateCollection) XXX_Size() int { +func (m *MsgCreateSet) XXX_Size() int { return m.Size() } -func (m *MsgCreateCollection) XXX_DiscardUnknown() { - xxx_messageInfo_MsgCreateCollection.DiscardUnknown(m) +func (m *MsgCreateSet) XXX_DiscardUnknown() { + xxx_messageInfo_MsgCreateSet.DiscardUnknown(m) } -var xxx_messageInfo_MsgCreateCollection proto.InternalMessageInfo +var xxx_messageInfo_MsgCreateSet proto.InternalMessageInfo -func (m *MsgCreateCollection) GetCreator() string { +func (m *MsgCreateSet) GetCreator() string { if m != nil { return m.Creator } return "" } -func (m *MsgCreateCollection) GetName() string { +func (m *MsgCreateSet) GetName() string { if m != nil { return m.Name } return "" } -func (m *MsgCreateCollection) GetArtist() string { +func (m *MsgCreateSet) GetArtist() string { if m != nil { return m.Artist } return "" } -func (m *MsgCreateCollection) GetStoryWriter() string { +func (m *MsgCreateSet) GetStoryWriter() string { if m != nil { return m.StoryWriter } return "" } -func (m *MsgCreateCollection) GetContributors() []string { +func (m *MsgCreateSet) GetContributors() []string { if m != nil { return m.Contributors } return nil } -type MsgCreateCollectionResponse struct { +type MsgCreateSetResponse struct { } -func (m *MsgCreateCollectionResponse) Reset() { *m = MsgCreateCollectionResponse{} } -func (m *MsgCreateCollectionResponse) String() string { return proto.CompactTextString(m) } -func (*MsgCreateCollectionResponse) ProtoMessage() {} -func (*MsgCreateCollectionResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_3b4a3aba0ac94bc8, []int{27} +func (m *MsgCreateSetResponse) Reset() { *m = MsgCreateSetResponse{} } +func (m *MsgCreateSetResponse) String() string { return proto.CompactTextString(m) } +func (*MsgCreateSetResponse) ProtoMessage() {} +func (*MsgCreateSetResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{23} } -func (m *MsgCreateCollectionResponse) XXX_Unmarshal(b []byte) error { +func (m *MsgCreateSetResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *MsgCreateCollectionResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *MsgCreateSetResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_MsgCreateCollectionResponse.Marshal(b, m, deterministic) + return xxx_messageInfo_MsgCreateSetResponse.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -1463,36 +1215,36 @@ func (m *MsgCreateCollectionResponse) XXX_Marshal(b []byte, deterministic bool) return b[:n], nil } } -func (m *MsgCreateCollectionResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgCreateCollectionResponse.Merge(m, src) +func (m *MsgCreateSetResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgCreateSetResponse.Merge(m, src) } -func (m *MsgCreateCollectionResponse) XXX_Size() int { +func (m *MsgCreateSetResponse) XXX_Size() int { return m.Size() } -func (m *MsgCreateCollectionResponse) XXX_DiscardUnknown() { - xxx_messageInfo_MsgCreateCollectionResponse.DiscardUnknown(m) +func (m *MsgCreateSetResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgCreateSetResponse.DiscardUnknown(m) } -var xxx_messageInfo_MsgCreateCollectionResponse proto.InternalMessageInfo +var xxx_messageInfo_MsgCreateSetResponse proto.InternalMessageInfo -type MsgAddCardToCollection struct { - Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` - CollectionId uint64 `protobuf:"varint,2,opt,name=collectionId,proto3" json:"collectionId,omitempty"` - CardId uint64 `protobuf:"varint,3,opt,name=cardId,proto3" json:"cardId,omitempty"` +type MsgAddCardToSet struct { + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + SetId uint64 `protobuf:"varint,2,opt,name=setId,proto3" json:"setId,omitempty"` + CardId uint64 `protobuf:"varint,3,opt,name=cardId,proto3" json:"cardId,omitempty"` } -func (m *MsgAddCardToCollection) Reset() { *m = MsgAddCardToCollection{} } -func (m *MsgAddCardToCollection) String() string { return proto.CompactTextString(m) } -func (*MsgAddCardToCollection) ProtoMessage() {} -func (*MsgAddCardToCollection) Descriptor() ([]byte, []int) { - return fileDescriptor_3b4a3aba0ac94bc8, []int{28} +func (m *MsgAddCardToSet) Reset() { *m = MsgAddCardToSet{} } +func (m *MsgAddCardToSet) String() string { return proto.CompactTextString(m) } +func (*MsgAddCardToSet) ProtoMessage() {} +func (*MsgAddCardToSet) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{24} } -func (m *MsgAddCardToCollection) XXX_Unmarshal(b []byte) error { +func (m *MsgAddCardToSet) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *MsgAddCardToCollection) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *MsgAddCardToSet) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_MsgAddCardToCollection.Marshal(b, m, deterministic) + return xxx_messageInfo_MsgAddCardToSet.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -1502,54 +1254,54 @@ func (m *MsgAddCardToCollection) XXX_Marshal(b []byte, deterministic bool) ([]by return b[:n], nil } } -func (m *MsgAddCardToCollection) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgAddCardToCollection.Merge(m, src) +func (m *MsgAddCardToSet) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgAddCardToSet.Merge(m, src) } -func (m *MsgAddCardToCollection) XXX_Size() int { +func (m *MsgAddCardToSet) XXX_Size() int { return m.Size() } -func (m *MsgAddCardToCollection) XXX_DiscardUnknown() { - xxx_messageInfo_MsgAddCardToCollection.DiscardUnknown(m) +func (m *MsgAddCardToSet) XXX_DiscardUnknown() { + xxx_messageInfo_MsgAddCardToSet.DiscardUnknown(m) } -var xxx_messageInfo_MsgAddCardToCollection proto.InternalMessageInfo +var xxx_messageInfo_MsgAddCardToSet proto.InternalMessageInfo -func (m *MsgAddCardToCollection) GetCreator() string { +func (m *MsgAddCardToSet) GetCreator() string { if m != nil { return m.Creator } return "" } -func (m *MsgAddCardToCollection) GetCollectionId() uint64 { +func (m *MsgAddCardToSet) GetSetId() uint64 { if m != nil { - return m.CollectionId + return m.SetId } return 0 } -func (m *MsgAddCardToCollection) GetCardId() uint64 { +func (m *MsgAddCardToSet) GetCardId() uint64 { if m != nil { return m.CardId } return 0 } -type MsgAddCardToCollectionResponse struct { +type MsgAddCardToSetResponse struct { } -func (m *MsgAddCardToCollectionResponse) Reset() { *m = MsgAddCardToCollectionResponse{} } -func (m *MsgAddCardToCollectionResponse) String() string { return proto.CompactTextString(m) } -func (*MsgAddCardToCollectionResponse) ProtoMessage() {} -func (*MsgAddCardToCollectionResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_3b4a3aba0ac94bc8, []int{29} +func (m *MsgAddCardToSetResponse) Reset() { *m = MsgAddCardToSetResponse{} } +func (m *MsgAddCardToSetResponse) String() string { return proto.CompactTextString(m) } +func (*MsgAddCardToSetResponse) ProtoMessage() {} +func (*MsgAddCardToSetResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{25} } -func (m *MsgAddCardToCollectionResponse) XXX_Unmarshal(b []byte) error { +func (m *MsgAddCardToSetResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *MsgAddCardToCollectionResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *MsgAddCardToSetResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_MsgAddCardToCollectionResponse.Marshal(b, m, deterministic) + return xxx_messageInfo_MsgAddCardToSetResponse.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -1559,35 +1311,35 @@ func (m *MsgAddCardToCollectionResponse) XXX_Marshal(b []byte, deterministic boo return b[:n], nil } } -func (m *MsgAddCardToCollectionResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgAddCardToCollectionResponse.Merge(m, src) +func (m *MsgAddCardToSetResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgAddCardToSetResponse.Merge(m, src) } -func (m *MsgAddCardToCollectionResponse) XXX_Size() int { +func (m *MsgAddCardToSetResponse) XXX_Size() int { return m.Size() } -func (m *MsgAddCardToCollectionResponse) XXX_DiscardUnknown() { - xxx_messageInfo_MsgAddCardToCollectionResponse.DiscardUnknown(m) +func (m *MsgAddCardToSetResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgAddCardToSetResponse.DiscardUnknown(m) } -var xxx_messageInfo_MsgAddCardToCollectionResponse proto.InternalMessageInfo +var xxx_messageInfo_MsgAddCardToSetResponse proto.InternalMessageInfo -type MsgFinalizeCollection struct { - Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` - CollectionId uint64 `protobuf:"varint,2,opt,name=collectionId,proto3" json:"collectionId,omitempty"` +type MsgFinalizeSet struct { + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + SetId uint64 `protobuf:"varint,2,opt,name=setId,proto3" json:"setId,omitempty"` } -func (m *MsgFinalizeCollection) Reset() { *m = MsgFinalizeCollection{} } -func (m *MsgFinalizeCollection) String() string { return proto.CompactTextString(m) } -func (*MsgFinalizeCollection) ProtoMessage() {} -func (*MsgFinalizeCollection) Descriptor() ([]byte, []int) { - return fileDescriptor_3b4a3aba0ac94bc8, []int{30} +func (m *MsgFinalizeSet) Reset() { *m = MsgFinalizeSet{} } +func (m *MsgFinalizeSet) String() string { return proto.CompactTextString(m) } +func (*MsgFinalizeSet) ProtoMessage() {} +func (*MsgFinalizeSet) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{26} } -func (m *MsgFinalizeCollection) XXX_Unmarshal(b []byte) error { +func (m *MsgFinalizeSet) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *MsgFinalizeCollection) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *MsgFinalizeSet) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_MsgFinalizeCollection.Marshal(b, m, deterministic) + return xxx_messageInfo_MsgFinalizeSet.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -1597,47 +1349,47 @@ func (m *MsgFinalizeCollection) XXX_Marshal(b []byte, deterministic bool) ([]byt return b[:n], nil } } -func (m *MsgFinalizeCollection) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgFinalizeCollection.Merge(m, src) +func (m *MsgFinalizeSet) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgFinalizeSet.Merge(m, src) } -func (m *MsgFinalizeCollection) XXX_Size() int { +func (m *MsgFinalizeSet) XXX_Size() int { return m.Size() } -func (m *MsgFinalizeCollection) XXX_DiscardUnknown() { - xxx_messageInfo_MsgFinalizeCollection.DiscardUnknown(m) +func (m *MsgFinalizeSet) XXX_DiscardUnknown() { + xxx_messageInfo_MsgFinalizeSet.DiscardUnknown(m) } -var xxx_messageInfo_MsgFinalizeCollection proto.InternalMessageInfo +var xxx_messageInfo_MsgFinalizeSet proto.InternalMessageInfo -func (m *MsgFinalizeCollection) GetCreator() string { +func (m *MsgFinalizeSet) GetCreator() string { if m != nil { return m.Creator } return "" } -func (m *MsgFinalizeCollection) GetCollectionId() uint64 { +func (m *MsgFinalizeSet) GetSetId() uint64 { if m != nil { - return m.CollectionId + return m.SetId } return 0 } -type MsgFinalizeCollectionResponse struct { +type MsgFinalizeSetResponse struct { } -func (m *MsgFinalizeCollectionResponse) Reset() { *m = MsgFinalizeCollectionResponse{} } -func (m *MsgFinalizeCollectionResponse) String() string { return proto.CompactTextString(m) } -func (*MsgFinalizeCollectionResponse) ProtoMessage() {} -func (*MsgFinalizeCollectionResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_3b4a3aba0ac94bc8, []int{31} +func (m *MsgFinalizeSetResponse) Reset() { *m = MsgFinalizeSetResponse{} } +func (m *MsgFinalizeSetResponse) String() string { return proto.CompactTextString(m) } +func (*MsgFinalizeSetResponse) ProtoMessage() {} +func (*MsgFinalizeSetResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{27} } -func (m *MsgFinalizeCollectionResponse) XXX_Unmarshal(b []byte) error { +func (m *MsgFinalizeSetResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *MsgFinalizeCollectionResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *MsgFinalizeSetResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_MsgFinalizeCollectionResponse.Marshal(b, m, deterministic) + return xxx_messageInfo_MsgFinalizeSetResponse.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -1647,35 +1399,35 @@ func (m *MsgFinalizeCollectionResponse) XXX_Marshal(b []byte, deterministic bool return b[:n], nil } } -func (m *MsgFinalizeCollectionResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgFinalizeCollectionResponse.Merge(m, src) +func (m *MsgFinalizeSetResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgFinalizeSetResponse.Merge(m, src) } -func (m *MsgFinalizeCollectionResponse) XXX_Size() int { +func (m *MsgFinalizeSetResponse) XXX_Size() int { return m.Size() } -func (m *MsgFinalizeCollectionResponse) XXX_DiscardUnknown() { - xxx_messageInfo_MsgFinalizeCollectionResponse.DiscardUnknown(m) +func (m *MsgFinalizeSetResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgFinalizeSetResponse.DiscardUnknown(m) } -var xxx_messageInfo_MsgFinalizeCollectionResponse proto.InternalMessageInfo +var xxx_messageInfo_MsgFinalizeSetResponse proto.InternalMessageInfo -type MsgBuyCollection struct { - Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` - CollectionId uint64 `protobuf:"varint,2,opt,name=collectionId,proto3" json:"collectionId,omitempty"` +type MsgBuyBoosterPack struct { + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + SetId uint64 `protobuf:"varint,2,opt,name=setId,proto3" json:"setId,omitempty"` } -func (m *MsgBuyCollection) Reset() { *m = MsgBuyCollection{} } -func (m *MsgBuyCollection) String() string { return proto.CompactTextString(m) } -func (*MsgBuyCollection) ProtoMessage() {} -func (*MsgBuyCollection) Descriptor() ([]byte, []int) { - return fileDescriptor_3b4a3aba0ac94bc8, []int{32} +func (m *MsgBuyBoosterPack) Reset() { *m = MsgBuyBoosterPack{} } +func (m *MsgBuyBoosterPack) String() string { return proto.CompactTextString(m) } +func (*MsgBuyBoosterPack) ProtoMessage() {} +func (*MsgBuyBoosterPack) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{28} } -func (m *MsgBuyCollection) XXX_Unmarshal(b []byte) error { +func (m *MsgBuyBoosterPack) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *MsgBuyCollection) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *MsgBuyBoosterPack) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_MsgBuyCollection.Marshal(b, m, deterministic) + return xxx_messageInfo_MsgBuyBoosterPack.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -1685,48 +1437,48 @@ func (m *MsgBuyCollection) XXX_Marshal(b []byte, deterministic bool) ([]byte, er return b[:n], nil } } -func (m *MsgBuyCollection) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgBuyCollection.Merge(m, src) +func (m *MsgBuyBoosterPack) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgBuyBoosterPack.Merge(m, src) } -func (m *MsgBuyCollection) XXX_Size() int { +func (m *MsgBuyBoosterPack) XXX_Size() int { return m.Size() } -func (m *MsgBuyCollection) XXX_DiscardUnknown() { - xxx_messageInfo_MsgBuyCollection.DiscardUnknown(m) +func (m *MsgBuyBoosterPack) XXX_DiscardUnknown() { + xxx_messageInfo_MsgBuyBoosterPack.DiscardUnknown(m) } -var xxx_messageInfo_MsgBuyCollection proto.InternalMessageInfo +var xxx_messageInfo_MsgBuyBoosterPack proto.InternalMessageInfo -func (m *MsgBuyCollection) GetCreator() string { +func (m *MsgBuyBoosterPack) GetCreator() string { if m != nil { return m.Creator } return "" } -func (m *MsgBuyCollection) GetCollectionId() uint64 { +func (m *MsgBuyBoosterPack) GetSetId() uint64 { if m != nil { - return m.CollectionId + return m.SetId } return 0 } -type MsgBuyCollectionResponse struct { +type MsgBuyBoosterPackResponse struct { AirdropClaimed bool `protobuf:"varint,1,opt,name=airdropClaimed,proto3" json:"airdropClaimed,omitempty"` } -func (m *MsgBuyCollectionResponse) Reset() { *m = MsgBuyCollectionResponse{} } -func (m *MsgBuyCollectionResponse) String() string { return proto.CompactTextString(m) } -func (*MsgBuyCollectionResponse) ProtoMessage() {} -func (*MsgBuyCollectionResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_3b4a3aba0ac94bc8, []int{33} +func (m *MsgBuyBoosterPackResponse) Reset() { *m = MsgBuyBoosterPackResponse{} } +func (m *MsgBuyBoosterPackResponse) String() string { return proto.CompactTextString(m) } +func (*MsgBuyBoosterPackResponse) ProtoMessage() {} +func (*MsgBuyBoosterPackResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{29} } -func (m *MsgBuyCollectionResponse) XXX_Unmarshal(b []byte) error { +func (m *MsgBuyBoosterPackResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *MsgBuyCollectionResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *MsgBuyBoosterPackResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_MsgBuyCollectionResponse.Marshal(b, m, deterministic) + return xxx_messageInfo_MsgBuyBoosterPackResponse.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -1736,43 +1488,43 @@ func (m *MsgBuyCollectionResponse) XXX_Marshal(b []byte, deterministic bool) ([] return b[:n], nil } } -func (m *MsgBuyCollectionResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgBuyCollectionResponse.Merge(m, src) +func (m *MsgBuyBoosterPackResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgBuyBoosterPackResponse.Merge(m, src) } -func (m *MsgBuyCollectionResponse) XXX_Size() int { +func (m *MsgBuyBoosterPackResponse) XXX_Size() int { return m.Size() } -func (m *MsgBuyCollectionResponse) XXX_DiscardUnknown() { - xxx_messageInfo_MsgBuyCollectionResponse.DiscardUnknown(m) +func (m *MsgBuyBoosterPackResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgBuyBoosterPackResponse.DiscardUnknown(m) } -var xxx_messageInfo_MsgBuyCollectionResponse proto.InternalMessageInfo +var xxx_messageInfo_MsgBuyBoosterPackResponse proto.InternalMessageInfo -func (m *MsgBuyCollectionResponse) GetAirdropClaimed() bool { +func (m *MsgBuyBoosterPackResponse) GetAirdropClaimed() bool { if m != nil { return m.AirdropClaimed } return false } -type MsgRemoveCardFromCollection struct { - Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` - CollectionId uint64 `protobuf:"varint,2,opt,name=collectionId,proto3" json:"collectionId,omitempty"` - CardId uint64 `protobuf:"varint,3,opt,name=cardId,proto3" json:"cardId,omitempty"` +type MsgRemoveCardFromSet struct { + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + SetId uint64 `protobuf:"varint,2,opt,name=setId,proto3" json:"setId,omitempty"` + CardId uint64 `protobuf:"varint,3,opt,name=cardId,proto3" json:"cardId,omitempty"` } -func (m *MsgRemoveCardFromCollection) Reset() { *m = MsgRemoveCardFromCollection{} } -func (m *MsgRemoveCardFromCollection) String() string { return proto.CompactTextString(m) } -func (*MsgRemoveCardFromCollection) ProtoMessage() {} -func (*MsgRemoveCardFromCollection) Descriptor() ([]byte, []int) { - return fileDescriptor_3b4a3aba0ac94bc8, []int{34} +func (m *MsgRemoveCardFromSet) Reset() { *m = MsgRemoveCardFromSet{} } +func (m *MsgRemoveCardFromSet) String() string { return proto.CompactTextString(m) } +func (*MsgRemoveCardFromSet) ProtoMessage() {} +func (*MsgRemoveCardFromSet) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{30} } -func (m *MsgRemoveCardFromCollection) XXX_Unmarshal(b []byte) error { +func (m *MsgRemoveCardFromSet) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *MsgRemoveCardFromCollection) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *MsgRemoveCardFromSet) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_MsgRemoveCardFromCollection.Marshal(b, m, deterministic) + return xxx_messageInfo_MsgRemoveCardFromSet.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -1782,54 +1534,54 @@ func (m *MsgRemoveCardFromCollection) XXX_Marshal(b []byte, deterministic bool) return b[:n], nil } } -func (m *MsgRemoveCardFromCollection) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgRemoveCardFromCollection.Merge(m, src) +func (m *MsgRemoveCardFromSet) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgRemoveCardFromSet.Merge(m, src) } -func (m *MsgRemoveCardFromCollection) XXX_Size() int { +func (m *MsgRemoveCardFromSet) XXX_Size() int { return m.Size() } -func (m *MsgRemoveCardFromCollection) XXX_DiscardUnknown() { - xxx_messageInfo_MsgRemoveCardFromCollection.DiscardUnknown(m) +func (m *MsgRemoveCardFromSet) XXX_DiscardUnknown() { + xxx_messageInfo_MsgRemoveCardFromSet.DiscardUnknown(m) } -var xxx_messageInfo_MsgRemoveCardFromCollection proto.InternalMessageInfo +var xxx_messageInfo_MsgRemoveCardFromSet proto.InternalMessageInfo -func (m *MsgRemoveCardFromCollection) GetCreator() string { +func (m *MsgRemoveCardFromSet) GetCreator() string { if m != nil { return m.Creator } return "" } -func (m *MsgRemoveCardFromCollection) GetCollectionId() uint64 { +func (m *MsgRemoveCardFromSet) GetSetId() uint64 { if m != nil { - return m.CollectionId + return m.SetId } return 0 } -func (m *MsgRemoveCardFromCollection) GetCardId() uint64 { +func (m *MsgRemoveCardFromSet) GetCardId() uint64 { if m != nil { return m.CardId } return 0 } -type MsgRemoveCardFromCollectionResponse struct { +type MsgRemoveCardFromSetResponse struct { } -func (m *MsgRemoveCardFromCollectionResponse) Reset() { *m = MsgRemoveCardFromCollectionResponse{} } -func (m *MsgRemoveCardFromCollectionResponse) String() string { return proto.CompactTextString(m) } -func (*MsgRemoveCardFromCollectionResponse) ProtoMessage() {} -func (*MsgRemoveCardFromCollectionResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_3b4a3aba0ac94bc8, []int{35} +func (m *MsgRemoveCardFromSetResponse) Reset() { *m = MsgRemoveCardFromSetResponse{} } +func (m *MsgRemoveCardFromSetResponse) String() string { return proto.CompactTextString(m) } +func (*MsgRemoveCardFromSetResponse) ProtoMessage() {} +func (*MsgRemoveCardFromSetResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{31} } -func (m *MsgRemoveCardFromCollectionResponse) XXX_Unmarshal(b []byte) error { +func (m *MsgRemoveCardFromSetResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *MsgRemoveCardFromCollectionResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *MsgRemoveCardFromSetResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_MsgRemoveCardFromCollectionResponse.Marshal(b, m, deterministic) + return xxx_messageInfo_MsgRemoveCardFromSetResponse.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -1839,36 +1591,36 @@ func (m *MsgRemoveCardFromCollectionResponse) XXX_Marshal(b []byte, deterministi return b[:n], nil } } -func (m *MsgRemoveCardFromCollectionResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgRemoveCardFromCollectionResponse.Merge(m, src) +func (m *MsgRemoveCardFromSetResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgRemoveCardFromSetResponse.Merge(m, src) } -func (m *MsgRemoveCardFromCollectionResponse) XXX_Size() int { +func (m *MsgRemoveCardFromSetResponse) XXX_Size() int { return m.Size() } -func (m *MsgRemoveCardFromCollectionResponse) XXX_DiscardUnknown() { - xxx_messageInfo_MsgRemoveCardFromCollectionResponse.DiscardUnknown(m) +func (m *MsgRemoveCardFromSetResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgRemoveCardFromSetResponse.DiscardUnknown(m) } -var xxx_messageInfo_MsgRemoveCardFromCollectionResponse proto.InternalMessageInfo +var xxx_messageInfo_MsgRemoveCardFromSetResponse proto.InternalMessageInfo -type MsgRemoveContributorFromCollection struct { - Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` - CollectionId uint64 `protobuf:"varint,2,opt,name=collectionId,proto3" json:"collectionId,omitempty"` - User string `protobuf:"bytes,3,opt,name=user,proto3" json:"user,omitempty"` +type MsgRemoveContributorFromSet struct { + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + SetId uint64 `protobuf:"varint,2,opt,name=setId,proto3" json:"setId,omitempty"` + User string `protobuf:"bytes,3,opt,name=user,proto3" json:"user,omitempty"` } -func (m *MsgRemoveContributorFromCollection) Reset() { *m = MsgRemoveContributorFromCollection{} } -func (m *MsgRemoveContributorFromCollection) String() string { return proto.CompactTextString(m) } -func (*MsgRemoveContributorFromCollection) ProtoMessage() {} -func (*MsgRemoveContributorFromCollection) Descriptor() ([]byte, []int) { - return fileDescriptor_3b4a3aba0ac94bc8, []int{36} +func (m *MsgRemoveContributorFromSet) Reset() { *m = MsgRemoveContributorFromSet{} } +func (m *MsgRemoveContributorFromSet) String() string { return proto.CompactTextString(m) } +func (*MsgRemoveContributorFromSet) ProtoMessage() {} +func (*MsgRemoveContributorFromSet) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{32} } -func (m *MsgRemoveContributorFromCollection) XXX_Unmarshal(b []byte) error { +func (m *MsgRemoveContributorFromSet) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *MsgRemoveContributorFromCollection) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *MsgRemoveContributorFromSet) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_MsgRemoveContributorFromCollection.Marshal(b, m, deterministic) + return xxx_messageInfo_MsgRemoveContributorFromSet.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -1878,58 +1630,54 @@ func (m *MsgRemoveContributorFromCollection) XXX_Marshal(b []byte, deterministic return b[:n], nil } } -func (m *MsgRemoveContributorFromCollection) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgRemoveContributorFromCollection.Merge(m, src) +func (m *MsgRemoveContributorFromSet) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgRemoveContributorFromSet.Merge(m, src) } -func (m *MsgRemoveContributorFromCollection) XXX_Size() int { +func (m *MsgRemoveContributorFromSet) XXX_Size() int { return m.Size() } -func (m *MsgRemoveContributorFromCollection) XXX_DiscardUnknown() { - xxx_messageInfo_MsgRemoveContributorFromCollection.DiscardUnknown(m) +func (m *MsgRemoveContributorFromSet) XXX_DiscardUnknown() { + xxx_messageInfo_MsgRemoveContributorFromSet.DiscardUnknown(m) } -var xxx_messageInfo_MsgRemoveContributorFromCollection proto.InternalMessageInfo +var xxx_messageInfo_MsgRemoveContributorFromSet proto.InternalMessageInfo -func (m *MsgRemoveContributorFromCollection) GetCreator() string { +func (m *MsgRemoveContributorFromSet) GetCreator() string { if m != nil { return m.Creator } return "" } -func (m *MsgRemoveContributorFromCollection) GetCollectionId() uint64 { +func (m *MsgRemoveContributorFromSet) GetSetId() uint64 { if m != nil { - return m.CollectionId + return m.SetId } return 0 } -func (m *MsgRemoveContributorFromCollection) GetUser() string { +func (m *MsgRemoveContributorFromSet) GetUser() string { if m != nil { return m.User } return "" } -type MsgRemoveContributorFromCollectionResponse struct { +type MsgRemoveContributorFromSetResponse struct { } -func (m *MsgRemoveContributorFromCollectionResponse) Reset() { - *m = MsgRemoveContributorFromCollectionResponse{} -} -func (m *MsgRemoveContributorFromCollectionResponse) String() string { - return proto.CompactTextString(m) -} -func (*MsgRemoveContributorFromCollectionResponse) ProtoMessage() {} -func (*MsgRemoveContributorFromCollectionResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_3b4a3aba0ac94bc8, []int{37} +func (m *MsgRemoveContributorFromSetResponse) Reset() { *m = MsgRemoveContributorFromSetResponse{} } +func (m *MsgRemoveContributorFromSetResponse) String() string { return proto.CompactTextString(m) } +func (*MsgRemoveContributorFromSetResponse) ProtoMessage() {} +func (*MsgRemoveContributorFromSetResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{33} } -func (m *MsgRemoveContributorFromCollectionResponse) XXX_Unmarshal(b []byte) error { +func (m *MsgRemoveContributorFromSetResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *MsgRemoveContributorFromCollectionResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *MsgRemoveContributorFromSetResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_MsgRemoveContributorFromCollectionResponse.Marshal(b, m, deterministic) + return xxx_messageInfo_MsgRemoveContributorFromSetResponse.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -1939,36 +1687,36 @@ func (m *MsgRemoveContributorFromCollectionResponse) XXX_Marshal(b []byte, deter return b[:n], nil } } -func (m *MsgRemoveContributorFromCollectionResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgRemoveContributorFromCollectionResponse.Merge(m, src) +func (m *MsgRemoveContributorFromSetResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgRemoveContributorFromSetResponse.Merge(m, src) } -func (m *MsgRemoveContributorFromCollectionResponse) XXX_Size() int { +func (m *MsgRemoveContributorFromSetResponse) XXX_Size() int { return m.Size() } -func (m *MsgRemoveContributorFromCollectionResponse) XXX_DiscardUnknown() { - xxx_messageInfo_MsgRemoveContributorFromCollectionResponse.DiscardUnknown(m) +func (m *MsgRemoveContributorFromSetResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgRemoveContributorFromSetResponse.DiscardUnknown(m) } -var xxx_messageInfo_MsgRemoveContributorFromCollectionResponse proto.InternalMessageInfo +var xxx_messageInfo_MsgRemoveContributorFromSetResponse proto.InternalMessageInfo -type MsgAddContributorToCollection struct { - Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` - CollectionId uint64 `protobuf:"varint,2,opt,name=collectionId,proto3" json:"collectionId,omitempty"` - User string `protobuf:"bytes,3,opt,name=user,proto3" json:"user,omitempty"` +type MsgAddContributorToSet struct { + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + SetId uint64 `protobuf:"varint,2,opt,name=setId,proto3" json:"setId,omitempty"` + User string `protobuf:"bytes,3,opt,name=user,proto3" json:"user,omitempty"` } -func (m *MsgAddContributorToCollection) Reset() { *m = MsgAddContributorToCollection{} } -func (m *MsgAddContributorToCollection) String() string { return proto.CompactTextString(m) } -func (*MsgAddContributorToCollection) ProtoMessage() {} -func (*MsgAddContributorToCollection) Descriptor() ([]byte, []int) { - return fileDescriptor_3b4a3aba0ac94bc8, []int{38} +func (m *MsgAddContributorToSet) Reset() { *m = MsgAddContributorToSet{} } +func (m *MsgAddContributorToSet) String() string { return proto.CompactTextString(m) } +func (*MsgAddContributorToSet) ProtoMessage() {} +func (*MsgAddContributorToSet) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{34} } -func (m *MsgAddContributorToCollection) XXX_Unmarshal(b []byte) error { +func (m *MsgAddContributorToSet) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *MsgAddContributorToCollection) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *MsgAddContributorToSet) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_MsgAddContributorToCollection.Marshal(b, m, deterministic) + return xxx_messageInfo_MsgAddContributorToSet.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -1978,54 +1726,54 @@ func (m *MsgAddContributorToCollection) XXX_Marshal(b []byte, deterministic bool return b[:n], nil } } -func (m *MsgAddContributorToCollection) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgAddContributorToCollection.Merge(m, src) +func (m *MsgAddContributorToSet) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgAddContributorToSet.Merge(m, src) } -func (m *MsgAddContributorToCollection) XXX_Size() int { +func (m *MsgAddContributorToSet) XXX_Size() int { return m.Size() } -func (m *MsgAddContributorToCollection) XXX_DiscardUnknown() { - xxx_messageInfo_MsgAddContributorToCollection.DiscardUnknown(m) +func (m *MsgAddContributorToSet) XXX_DiscardUnknown() { + xxx_messageInfo_MsgAddContributorToSet.DiscardUnknown(m) } -var xxx_messageInfo_MsgAddContributorToCollection proto.InternalMessageInfo +var xxx_messageInfo_MsgAddContributorToSet proto.InternalMessageInfo -func (m *MsgAddContributorToCollection) GetCreator() string { +func (m *MsgAddContributorToSet) GetCreator() string { if m != nil { return m.Creator } return "" } -func (m *MsgAddContributorToCollection) GetCollectionId() uint64 { +func (m *MsgAddContributorToSet) GetSetId() uint64 { if m != nil { - return m.CollectionId + return m.SetId } return 0 } -func (m *MsgAddContributorToCollection) GetUser() string { +func (m *MsgAddContributorToSet) GetUser() string { if m != nil { return m.User } return "" } -type MsgAddContributorToCollectionResponse struct { +type MsgAddContributorToSetResponse struct { } -func (m *MsgAddContributorToCollectionResponse) Reset() { *m = MsgAddContributorToCollectionResponse{} } -func (m *MsgAddContributorToCollectionResponse) String() string { return proto.CompactTextString(m) } -func (*MsgAddContributorToCollectionResponse) ProtoMessage() {} -func (*MsgAddContributorToCollectionResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_3b4a3aba0ac94bc8, []int{39} +func (m *MsgAddContributorToSetResponse) Reset() { *m = MsgAddContributorToSetResponse{} } +func (m *MsgAddContributorToSetResponse) String() string { return proto.CompactTextString(m) } +func (*MsgAddContributorToSetResponse) ProtoMessage() {} +func (*MsgAddContributorToSetResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{35} } -func (m *MsgAddContributorToCollectionResponse) XXX_Unmarshal(b []byte) error { +func (m *MsgAddContributorToSetResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *MsgAddContributorToCollectionResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *MsgAddContributorToSetResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_MsgAddContributorToCollectionResponse.Marshal(b, m, deterministic) + return xxx_messageInfo_MsgAddContributorToSetResponse.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -2035,35 +1783,36 @@ func (m *MsgAddContributorToCollectionResponse) XXX_Marshal(b []byte, determinis return b[:n], nil } } -func (m *MsgAddContributorToCollectionResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgAddContributorToCollectionResponse.Merge(m, src) +func (m *MsgAddContributorToSetResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgAddContributorToSetResponse.Merge(m, src) } -func (m *MsgAddContributorToCollectionResponse) XXX_Size() int { +func (m *MsgAddContributorToSetResponse) XXX_Size() int { return m.Size() } -func (m *MsgAddContributorToCollectionResponse) XXX_DiscardUnknown() { - xxx_messageInfo_MsgAddContributorToCollectionResponse.DiscardUnknown(m) +func (m *MsgAddContributorToSetResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgAddContributorToSetResponse.DiscardUnknown(m) } -var xxx_messageInfo_MsgAddContributorToCollectionResponse proto.InternalMessageInfo +var xxx_messageInfo_MsgAddContributorToSetResponse proto.InternalMessageInfo -type MsgSubmitCollectionProposal struct { - Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` - CollectionId uint64 `protobuf:"varint,2,opt,name=collectionId,proto3" json:"collectionId,omitempty"` +type MsgCreateSellOffer struct { + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + Card uint64 `protobuf:"varint,2,opt,name=card,proto3" json:"card,omitempty"` + Price github_com_cosmos_cosmos_sdk_types.Coin `protobuf:"bytes,3,opt,name=price,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Coin" json:"price"` } -func (m *MsgSubmitCollectionProposal) Reset() { *m = MsgSubmitCollectionProposal{} } -func (m *MsgSubmitCollectionProposal) String() string { return proto.CompactTextString(m) } -func (*MsgSubmitCollectionProposal) ProtoMessage() {} -func (*MsgSubmitCollectionProposal) Descriptor() ([]byte, []int) { - return fileDescriptor_3b4a3aba0ac94bc8, []int{40} +func (m *MsgCreateSellOffer) Reset() { *m = MsgCreateSellOffer{} } +func (m *MsgCreateSellOffer) String() string { return proto.CompactTextString(m) } +func (*MsgCreateSellOffer) ProtoMessage() {} +func (*MsgCreateSellOffer) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{36} } -func (m *MsgSubmitCollectionProposal) XXX_Unmarshal(b []byte) error { +func (m *MsgCreateSellOffer) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *MsgSubmitCollectionProposal) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *MsgCreateSellOffer) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_MsgSubmitCollectionProposal.Marshal(b, m, deterministic) + return xxx_messageInfo_MsgCreateSellOffer.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -2073,129 +1822,40 @@ func (m *MsgSubmitCollectionProposal) XXX_Marshal(b []byte, deterministic bool) return b[:n], nil } } -func (m *MsgSubmitCollectionProposal) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgSubmitCollectionProposal.Merge(m, src) +func (m *MsgCreateSellOffer) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgCreateSellOffer.Merge(m, src) } -func (m *MsgSubmitCollectionProposal) XXX_Size() int { +func (m *MsgCreateSellOffer) XXX_Size() int { return m.Size() } -func (m *MsgSubmitCollectionProposal) XXX_DiscardUnknown() { - xxx_messageInfo_MsgSubmitCollectionProposal.DiscardUnknown(m) +func (m *MsgCreateSellOffer) XXX_DiscardUnknown() { + xxx_messageInfo_MsgCreateSellOffer.DiscardUnknown(m) } -var xxx_messageInfo_MsgSubmitCollectionProposal proto.InternalMessageInfo +var xxx_messageInfo_MsgCreateSellOffer proto.InternalMessageInfo -func (m *MsgSubmitCollectionProposal) GetCreator() string { +func (m *MsgCreateSellOffer) GetCreator() string { if m != nil { return m.Creator } return "" } -func (m *MsgSubmitCollectionProposal) GetCollectionId() uint64 { +func (m *MsgCreateSellOffer) GetCard() uint64 { if m != nil { - return m.CollectionId + return m.Card } return 0 } -type MsgSubmitCollectionProposalResponse struct { -} - -func (m *MsgSubmitCollectionProposalResponse) Reset() { *m = MsgSubmitCollectionProposalResponse{} } -func (m *MsgSubmitCollectionProposalResponse) String() string { return proto.CompactTextString(m) } -func (*MsgSubmitCollectionProposalResponse) ProtoMessage() {} -func (*MsgSubmitCollectionProposalResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_3b4a3aba0ac94bc8, []int{41} -} -func (m *MsgSubmitCollectionProposalResponse) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *MsgSubmitCollectionProposalResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MsgSubmitCollectionProposalResponse.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 *MsgSubmitCollectionProposalResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgSubmitCollectionProposalResponse.Merge(m, src) -} -func (m *MsgSubmitCollectionProposalResponse) XXX_Size() int { - return m.Size() -} -func (m *MsgSubmitCollectionProposalResponse) XXX_DiscardUnknown() { - xxx_messageInfo_MsgSubmitCollectionProposalResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_MsgSubmitCollectionProposalResponse proto.InternalMessageInfo - -type MsgCreateSellOffer struct { - Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` - Card uint64 `protobuf:"varint,2,opt,name=card,proto3" json:"card,omitempty"` - Price github_com_cosmos_cosmos_sdk_types.Coin `protobuf:"bytes,3,opt,name=price,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Coin" json:"price"` -} - -func (m *MsgCreateSellOffer) Reset() { *m = MsgCreateSellOffer{} } -func (m *MsgCreateSellOffer) String() string { return proto.CompactTextString(m) } -func (*MsgCreateSellOffer) ProtoMessage() {} -func (*MsgCreateSellOffer) Descriptor() ([]byte, []int) { - return fileDescriptor_3b4a3aba0ac94bc8, []int{42} -} -func (m *MsgCreateSellOffer) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *MsgCreateSellOffer) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MsgCreateSellOffer.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 *MsgCreateSellOffer) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgCreateSellOffer.Merge(m, src) -} -func (m *MsgCreateSellOffer) XXX_Size() int { - return m.Size() -} -func (m *MsgCreateSellOffer) XXX_DiscardUnknown() { - xxx_messageInfo_MsgCreateSellOffer.DiscardUnknown(m) -} - -var xxx_messageInfo_MsgCreateSellOffer proto.InternalMessageInfo - -func (m *MsgCreateSellOffer) GetCreator() string { - if m != nil { - return m.Creator - } - return "" -} - -func (m *MsgCreateSellOffer) GetCard() uint64 { - if m != nil { - return m.Card - } - return 0 -} - -type MsgCreateSellOfferResponse struct { +type MsgCreateSellOfferResponse struct { } func (m *MsgCreateSellOfferResponse) Reset() { *m = MsgCreateSellOfferResponse{} } func (m *MsgCreateSellOfferResponse) String() string { return proto.CompactTextString(m) } func (*MsgCreateSellOfferResponse) ProtoMessage() {} func (*MsgCreateSellOfferResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_3b4a3aba0ac94bc8, []int{43} + return fileDescriptor_3b4a3aba0ac94bc8, []int{37} } func (m *MsgCreateSellOfferResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2233,7 +1893,7 @@ func (m *MsgBuyCard) Reset() { *m = MsgBuyCard{} } func (m *MsgBuyCard) String() string { return proto.CompactTextString(m) } func (*MsgBuyCard) ProtoMessage() {} func (*MsgBuyCard) Descriptor() ([]byte, []int) { - return fileDescriptor_3b4a3aba0ac94bc8, []int{44} + return fileDescriptor_3b4a3aba0ac94bc8, []int{38} } func (m *MsgBuyCard) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2283,7 +1943,7 @@ func (m *MsgBuyCardResponse) Reset() { *m = MsgBuyCardResponse{} } func (m *MsgBuyCardResponse) String() string { return proto.CompactTextString(m) } func (*MsgBuyCardResponse) ProtoMessage() {} func (*MsgBuyCardResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_3b4a3aba0ac94bc8, []int{45} + return fileDescriptor_3b4a3aba0ac94bc8, []int{39} } func (m *MsgBuyCardResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2321,7 +1981,7 @@ func (m *MsgRemoveSellOffer) Reset() { *m = MsgRemoveSellOffer{} } func (m *MsgRemoveSellOffer) String() string { return proto.CompactTextString(m) } func (*MsgRemoveSellOffer) ProtoMessage() {} func (*MsgRemoveSellOffer) Descriptor() ([]byte, []int) { - return fileDescriptor_3b4a3aba0ac94bc8, []int{46} + return fileDescriptor_3b4a3aba0ac94bc8, []int{40} } func (m *MsgRemoveSellOffer) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2371,7 +2031,7 @@ func (m *MsgRemoveSellOfferResponse) Reset() { *m = MsgRemoveSellOfferRe func (m *MsgRemoveSellOfferResponse) String() string { return proto.CompactTextString(m) } func (*MsgRemoveSellOfferResponse) ProtoMessage() {} func (*MsgRemoveSellOfferResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_3b4a3aba0ac94bc8, []int{47} + return fileDescriptor_3b4a3aba0ac94bc8, []int{41} } func (m *MsgRemoveSellOfferResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2400,24 +2060,24 @@ func (m *MsgRemoveSellOfferResponse) XXX_DiscardUnknown() { var xxx_messageInfo_MsgRemoveSellOfferResponse proto.InternalMessageInfo -type MsgAddArtworkToCollection struct { - Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` - CollectionId uint64 `protobuf:"varint,2,opt,name=collectionId,proto3" json:"collectionId,omitempty"` - Image []byte `protobuf:"bytes,3,opt,name=image,proto3" json:"image,omitempty"` +type MsgAddArtworkToSet struct { + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + SetId uint64 `protobuf:"varint,2,opt,name=setId,proto3" json:"setId,omitempty"` + Image []byte `protobuf:"bytes,3,opt,name=image,proto3" json:"image,omitempty"` } -func (m *MsgAddArtworkToCollection) Reset() { *m = MsgAddArtworkToCollection{} } -func (m *MsgAddArtworkToCollection) String() string { return proto.CompactTextString(m) } -func (*MsgAddArtworkToCollection) ProtoMessage() {} -func (*MsgAddArtworkToCollection) Descriptor() ([]byte, []int) { - return fileDescriptor_3b4a3aba0ac94bc8, []int{48} +func (m *MsgAddArtworkToSet) Reset() { *m = MsgAddArtworkToSet{} } +func (m *MsgAddArtworkToSet) String() string { return proto.CompactTextString(m) } +func (*MsgAddArtworkToSet) ProtoMessage() {} +func (*MsgAddArtworkToSet) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{42} } -func (m *MsgAddArtworkToCollection) XXX_Unmarshal(b []byte) error { +func (m *MsgAddArtworkToSet) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *MsgAddArtworkToCollection) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *MsgAddArtworkToSet) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_MsgAddArtworkToCollection.Marshal(b, m, deterministic) + return xxx_messageInfo_MsgAddArtworkToSet.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -2427,54 +2087,54 @@ func (m *MsgAddArtworkToCollection) XXX_Marshal(b []byte, deterministic bool) ([ return b[:n], nil } } -func (m *MsgAddArtworkToCollection) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgAddArtworkToCollection.Merge(m, src) +func (m *MsgAddArtworkToSet) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgAddArtworkToSet.Merge(m, src) } -func (m *MsgAddArtworkToCollection) XXX_Size() int { +func (m *MsgAddArtworkToSet) XXX_Size() int { return m.Size() } -func (m *MsgAddArtworkToCollection) XXX_DiscardUnknown() { - xxx_messageInfo_MsgAddArtworkToCollection.DiscardUnknown(m) +func (m *MsgAddArtworkToSet) XXX_DiscardUnknown() { + xxx_messageInfo_MsgAddArtworkToSet.DiscardUnknown(m) } -var xxx_messageInfo_MsgAddArtworkToCollection proto.InternalMessageInfo +var xxx_messageInfo_MsgAddArtworkToSet proto.InternalMessageInfo -func (m *MsgAddArtworkToCollection) GetCreator() string { +func (m *MsgAddArtworkToSet) GetCreator() string { if m != nil { return m.Creator } return "" } -func (m *MsgAddArtworkToCollection) GetCollectionId() uint64 { +func (m *MsgAddArtworkToSet) GetSetId() uint64 { if m != nil { - return m.CollectionId + return m.SetId } return 0 } -func (m *MsgAddArtworkToCollection) GetImage() []byte { +func (m *MsgAddArtworkToSet) GetImage() []byte { if m != nil { return m.Image } return nil } -type MsgAddArtworkToCollectionResponse struct { +type MsgAddArtworkToSetResponse struct { } -func (m *MsgAddArtworkToCollectionResponse) Reset() { *m = MsgAddArtworkToCollectionResponse{} } -func (m *MsgAddArtworkToCollectionResponse) String() string { return proto.CompactTextString(m) } -func (*MsgAddArtworkToCollectionResponse) ProtoMessage() {} -func (*MsgAddArtworkToCollectionResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_3b4a3aba0ac94bc8, []int{49} +func (m *MsgAddArtworkToSetResponse) Reset() { *m = MsgAddArtworkToSetResponse{} } +func (m *MsgAddArtworkToSetResponse) String() string { return proto.CompactTextString(m) } +func (*MsgAddArtworkToSetResponse) ProtoMessage() {} +func (*MsgAddArtworkToSetResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{43} } -func (m *MsgAddArtworkToCollectionResponse) XXX_Unmarshal(b []byte) error { +func (m *MsgAddArtworkToSetResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *MsgAddArtworkToCollectionResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *MsgAddArtworkToSetResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_MsgAddArtworkToCollectionResponse.Marshal(b, m, deterministic) + return xxx_messageInfo_MsgAddArtworkToSetResponse.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -2484,36 +2144,36 @@ func (m *MsgAddArtworkToCollectionResponse) XXX_Marshal(b []byte, deterministic return b[:n], nil } } -func (m *MsgAddArtworkToCollectionResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgAddArtworkToCollectionResponse.Merge(m, src) +func (m *MsgAddArtworkToSetResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgAddArtworkToSetResponse.Merge(m, src) } -func (m *MsgAddArtworkToCollectionResponse) XXX_Size() int { +func (m *MsgAddArtworkToSetResponse) XXX_Size() int { return m.Size() } -func (m *MsgAddArtworkToCollectionResponse) XXX_DiscardUnknown() { - xxx_messageInfo_MsgAddArtworkToCollectionResponse.DiscardUnknown(m) +func (m *MsgAddArtworkToSetResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgAddArtworkToSetResponse.DiscardUnknown(m) } -var xxx_messageInfo_MsgAddArtworkToCollectionResponse proto.InternalMessageInfo +var xxx_messageInfo_MsgAddArtworkToSetResponse proto.InternalMessageInfo -type MsgAddStoryToCollection struct { - Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` - CollectionId uint64 `protobuf:"varint,2,opt,name=collectionId,proto3" json:"collectionId,omitempty"` - Story string `protobuf:"bytes,3,opt,name=story,proto3" json:"story,omitempty"` +type MsgAddStoryToSet struct { + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + SetId uint64 `protobuf:"varint,2,opt,name=setId,proto3" json:"setId,omitempty"` + Story string `protobuf:"bytes,3,opt,name=story,proto3" json:"story,omitempty"` } -func (m *MsgAddStoryToCollection) Reset() { *m = MsgAddStoryToCollection{} } -func (m *MsgAddStoryToCollection) String() string { return proto.CompactTextString(m) } -func (*MsgAddStoryToCollection) ProtoMessage() {} -func (*MsgAddStoryToCollection) Descriptor() ([]byte, []int) { - return fileDescriptor_3b4a3aba0ac94bc8, []int{50} +func (m *MsgAddStoryToSet) Reset() { *m = MsgAddStoryToSet{} } +func (m *MsgAddStoryToSet) String() string { return proto.CompactTextString(m) } +func (*MsgAddStoryToSet) ProtoMessage() {} +func (*MsgAddStoryToSet) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{44} } -func (m *MsgAddStoryToCollection) XXX_Unmarshal(b []byte) error { +func (m *MsgAddStoryToSet) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *MsgAddStoryToCollection) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *MsgAddStoryToSet) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_MsgAddStoryToCollection.Marshal(b, m, deterministic) + return xxx_messageInfo_MsgAddStoryToSet.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -2523,54 +2183,54 @@ func (m *MsgAddStoryToCollection) XXX_Marshal(b []byte, deterministic bool) ([]b return b[:n], nil } } -func (m *MsgAddStoryToCollection) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgAddStoryToCollection.Merge(m, src) +func (m *MsgAddStoryToSet) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgAddStoryToSet.Merge(m, src) } -func (m *MsgAddStoryToCollection) XXX_Size() int { +func (m *MsgAddStoryToSet) XXX_Size() int { return m.Size() } -func (m *MsgAddStoryToCollection) XXX_DiscardUnknown() { - xxx_messageInfo_MsgAddStoryToCollection.DiscardUnknown(m) +func (m *MsgAddStoryToSet) XXX_DiscardUnknown() { + xxx_messageInfo_MsgAddStoryToSet.DiscardUnknown(m) } -var xxx_messageInfo_MsgAddStoryToCollection proto.InternalMessageInfo +var xxx_messageInfo_MsgAddStoryToSet proto.InternalMessageInfo -func (m *MsgAddStoryToCollection) GetCreator() string { +func (m *MsgAddStoryToSet) GetCreator() string { if m != nil { return m.Creator } return "" } -func (m *MsgAddStoryToCollection) GetCollectionId() uint64 { +func (m *MsgAddStoryToSet) GetSetId() uint64 { if m != nil { - return m.CollectionId + return m.SetId } return 0 } -func (m *MsgAddStoryToCollection) GetStory() string { +func (m *MsgAddStoryToSet) GetStory() string { if m != nil { return m.Story } return "" } -type MsgAddStoryToCollectionResponse struct { +type MsgAddStoryToSetResponse struct { } -func (m *MsgAddStoryToCollectionResponse) Reset() { *m = MsgAddStoryToCollectionResponse{} } -func (m *MsgAddStoryToCollectionResponse) String() string { return proto.CompactTextString(m) } -func (*MsgAddStoryToCollectionResponse) ProtoMessage() {} -func (*MsgAddStoryToCollectionResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_3b4a3aba0ac94bc8, []int{51} +func (m *MsgAddStoryToSetResponse) Reset() { *m = MsgAddStoryToSetResponse{} } +func (m *MsgAddStoryToSetResponse) String() string { return proto.CompactTextString(m) } +func (*MsgAddStoryToSetResponse) ProtoMessage() {} +func (*MsgAddStoryToSetResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{45} } -func (m *MsgAddStoryToCollectionResponse) XXX_Unmarshal(b []byte) error { +func (m *MsgAddStoryToSetResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *MsgAddStoryToCollectionResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *MsgAddStoryToSetResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_MsgAddStoryToCollectionResponse.Marshal(b, m, deterministic) + return xxx_messageInfo_MsgAddStoryToSetResponse.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -2580,30 +2240,30 @@ func (m *MsgAddStoryToCollectionResponse) XXX_Marshal(b []byte, deterministic bo return b[:n], nil } } -func (m *MsgAddStoryToCollectionResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgAddStoryToCollectionResponse.Merge(m, src) +func (m *MsgAddStoryToSetResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgAddStoryToSetResponse.Merge(m, src) } -func (m *MsgAddStoryToCollectionResponse) XXX_Size() int { +func (m *MsgAddStoryToSetResponse) XXX_Size() int { return m.Size() } -func (m *MsgAddStoryToCollectionResponse) XXX_DiscardUnknown() { - xxx_messageInfo_MsgAddStoryToCollectionResponse.DiscardUnknown(m) +func (m *MsgAddStoryToSetResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgAddStoryToSetResponse.DiscardUnknown(m) } -var xxx_messageInfo_MsgAddStoryToCollectionResponse proto.InternalMessageInfo +var xxx_messageInfo_MsgAddStoryToSetResponse proto.InternalMessageInfo type MsgSetCardRarity struct { - Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` - CardId uint64 `protobuf:"varint,2,opt,name=cardId,proto3" json:"cardId,omitempty"` - CollectionId uint64 `protobuf:"varint,3,opt,name=collectionId,proto3" json:"collectionId,omitempty"` - Rarity string `protobuf:"bytes,4,opt,name=rarity,proto3" json:"rarity,omitempty"` + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + CardId uint64 `protobuf:"varint,2,opt,name=cardId,proto3" json:"cardId,omitempty"` + SetId uint64 `protobuf:"varint,3,opt,name=setId,proto3" json:"setId,omitempty"` + Rarity CardRarity `protobuf:"varint,4,opt,name=rarity,proto3,enum=DecentralCardGame.cardchain.cardchain.CardRarity" json:"rarity,omitempty"` } func (m *MsgSetCardRarity) Reset() { *m = MsgSetCardRarity{} } func (m *MsgSetCardRarity) String() string { return proto.CompactTextString(m) } func (*MsgSetCardRarity) ProtoMessage() {} func (*MsgSetCardRarity) Descriptor() ([]byte, []int) { - return fileDescriptor_3b4a3aba0ac94bc8, []int{52} + return fileDescriptor_3b4a3aba0ac94bc8, []int{46} } func (m *MsgSetCardRarity) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2646,18 +2306,18 @@ func (m *MsgSetCardRarity) GetCardId() uint64 { return 0 } -func (m *MsgSetCardRarity) GetCollectionId() uint64 { +func (m *MsgSetCardRarity) GetSetId() uint64 { if m != nil { - return m.CollectionId + return m.SetId } return 0 } -func (m *MsgSetCardRarity) GetRarity() string { +func (m *MsgSetCardRarity) GetRarity() CardRarity { if m != nil { return m.Rarity } - return "" + return CardRarity_common } type MsgSetCardRarityResponse struct { @@ -2667,7 +2327,7 @@ func (m *MsgSetCardRarityResponse) Reset() { *m = MsgSetCardRarityRespon func (m *MsgSetCardRarityResponse) String() string { return proto.CompactTextString(m) } func (*MsgSetCardRarityResponse) ProtoMessage() {} func (*MsgSetCardRarityResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_3b4a3aba0ac94bc8, []int{53} + return fileDescriptor_3b4a3aba0ac94bc8, []int{47} } func (m *MsgSetCardRarityResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2705,7 +2365,7 @@ func (m *MsgCreateCouncil) Reset() { *m = MsgCreateCouncil{} } func (m *MsgCreateCouncil) String() string { return proto.CompactTextString(m) } func (*MsgCreateCouncil) ProtoMessage() {} func (*MsgCreateCouncil) Descriptor() ([]byte, []int) { - return fileDescriptor_3b4a3aba0ac94bc8, []int{54} + return fileDescriptor_3b4a3aba0ac94bc8, []int{48} } func (m *MsgCreateCouncil) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2755,7 +2415,7 @@ func (m *MsgCreateCouncilResponse) Reset() { *m = MsgCreateCouncilRespon func (m *MsgCreateCouncilResponse) String() string { return proto.CompactTextString(m) } func (*MsgCreateCouncilResponse) ProtoMessage() {} func (*MsgCreateCouncilResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_3b4a3aba0ac94bc8, []int{55} + return fileDescriptor_3b4a3aba0ac94bc8, []int{49} } func (m *MsgCreateCouncilResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2784,6 +2444,7 @@ func (m *MsgCreateCouncilResponse) XXX_DiscardUnknown() { var xxx_messageInfo_MsgCreateCouncilResponse proto.InternalMessageInfo +// Add revision type MsgCommitCouncilResponse struct { Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` Response string `protobuf:"bytes,2,opt,name=response,proto3" json:"response,omitempty"` @@ -2795,7 +2456,7 @@ func (m *MsgCommitCouncilResponse) Reset() { *m = MsgCommitCouncilRespon func (m *MsgCommitCouncilResponse) String() string { return proto.CompactTextString(m) } func (*MsgCommitCouncilResponse) ProtoMessage() {} func (*MsgCommitCouncilResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_3b4a3aba0ac94bc8, []int{56} + return fileDescriptor_3b4a3aba0ac94bc8, []int{50} } func (m *MsgCommitCouncilResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2859,7 +2520,7 @@ func (m *MsgCommitCouncilResponseResponse) Reset() { *m = MsgCommitCounc func (m *MsgCommitCouncilResponseResponse) String() string { return proto.CompactTextString(m) } func (*MsgCommitCouncilResponseResponse) ProtoMessage() {} func (*MsgCommitCouncilResponseResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_3b4a3aba0ac94bc8, []int{57} + return fileDescriptor_3b4a3aba0ac94bc8, []int{51} } func (m *MsgCommitCouncilResponseResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2899,7 +2560,7 @@ func (m *MsgRevealCouncilResponse) Reset() { *m = MsgRevealCouncilRespon func (m *MsgRevealCouncilResponse) String() string { return proto.CompactTextString(m) } func (*MsgRevealCouncilResponse) ProtoMessage() {} func (*MsgRevealCouncilResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_3b4a3aba0ac94bc8, []int{58} + return fileDescriptor_3b4a3aba0ac94bc8, []int{52} } func (m *MsgRevealCouncilResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -2963,7 +2624,7 @@ func (m *MsgRevealCouncilResponseResponse) Reset() { *m = MsgRevealCounc func (m *MsgRevealCouncilResponseResponse) String() string { return proto.CompactTextString(m) } func (*MsgRevealCouncilResponseResponse) ProtoMessage() {} func (*MsgRevealCouncilResponseResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_3b4a3aba0ac94bc8, []int{59} + return fileDescriptor_3b4a3aba0ac94bc8, []int{53} } func (m *MsgRevealCouncilResponseResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3001,7 +2662,7 @@ func (m *MsgRestartCouncil) Reset() { *m = MsgRestartCouncil{} } func (m *MsgRestartCouncil) String() string { return proto.CompactTextString(m) } func (*MsgRestartCouncil) ProtoMessage() {} func (*MsgRestartCouncil) Descriptor() ([]byte, []int) { - return fileDescriptor_3b4a3aba0ac94bc8, []int{60} + return fileDescriptor_3b4a3aba0ac94bc8, []int{54} } func (m *MsgRestartCouncil) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3051,7 +2712,7 @@ func (m *MsgRestartCouncilResponse) Reset() { *m = MsgRestartCouncilResp func (m *MsgRestartCouncilResponse) String() string { return proto.CompactTextString(m) } func (*MsgRestartCouncilResponse) ProtoMessage() {} func (*MsgRestartCouncilResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_3b4a3aba0ac94bc8, []int{61} + return fileDescriptor_3b4a3aba0ac94bc8, []int{55} } func (m *MsgRestartCouncilResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3088,7 +2749,7 @@ func (m *MsgRewokeCouncilRegistration) Reset() { *m = MsgRewokeCouncilRe func (m *MsgRewokeCouncilRegistration) String() string { return proto.CompactTextString(m) } func (*MsgRewokeCouncilRegistration) ProtoMessage() {} func (*MsgRewokeCouncilRegistration) Descriptor() ([]byte, []int) { - return fileDescriptor_3b4a3aba0ac94bc8, []int{62} + return fileDescriptor_3b4a3aba0ac94bc8, []int{56} } func (m *MsgRewokeCouncilRegistration) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3131,7 +2792,7 @@ func (m *MsgRewokeCouncilRegistrationResponse) Reset() { *m = MsgRewokeC func (m *MsgRewokeCouncilRegistrationResponse) String() string { return proto.CompactTextString(m) } func (*MsgRewokeCouncilRegistrationResponse) ProtoMessage() {} func (*MsgRewokeCouncilRegistrationResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_3b4a3aba0ac94bc8, []int{63} + return fileDescriptor_3b4a3aba0ac94bc8, []int{57} } func (m *MsgRewokeCouncilRegistrationResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3161,16 +2822,17 @@ func (m *MsgRewokeCouncilRegistrationResponse) XXX_DiscardUnknown() { var xxx_messageInfo_MsgRewokeCouncilRegistrationResponse proto.InternalMessageInfo type MsgConfirmMatch struct { - Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` - MatchId uint64 `protobuf:"varint,2,opt,name=matchId,proto3" json:"matchId,omitempty"` - Outcome Outcome `protobuf:"varint,3,opt,name=outcome,proto3,enum=DecentralCardGame.cardchain.cardchain.Outcome" json:"outcome,omitempty"` + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + MatchId uint64 `protobuf:"varint,2,opt,name=matchId,proto3" json:"matchId,omitempty"` + Outcome Outcome `protobuf:"varint,3,opt,name=outcome,proto3,enum=DecentralCardGame.cardchain.cardchain.Outcome" json:"outcome,omitempty"` + VotedCards []*SingleVote `protobuf:"bytes,4,rep,name=votedCards,proto3" json:"votedCards,omitempty"` } func (m *MsgConfirmMatch) Reset() { *m = MsgConfirmMatch{} } func (m *MsgConfirmMatch) String() string { return proto.CompactTextString(m) } func (*MsgConfirmMatch) ProtoMessage() {} func (*MsgConfirmMatch) Descriptor() ([]byte, []int) { - return fileDescriptor_3b4a3aba0ac94bc8, []int{64} + return fileDescriptor_3b4a3aba0ac94bc8, []int{58} } func (m *MsgConfirmMatch) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3220,6 +2882,13 @@ func (m *MsgConfirmMatch) GetOutcome() Outcome { return Outcome_AWon } +func (m *MsgConfirmMatch) GetVotedCards() []*SingleVote { + if m != nil { + return m.VotedCards + } + return nil +} + type MsgConfirmMatchResponse struct { } @@ -3227,7 +2896,7 @@ func (m *MsgConfirmMatchResponse) Reset() { *m = MsgConfirmMatchResponse func (m *MsgConfirmMatchResponse) String() string { return proto.CompactTextString(m) } func (*MsgConfirmMatchResponse) ProtoMessage() {} func (*MsgConfirmMatchResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_3b4a3aba0ac94bc8, []int{65} + return fileDescriptor_3b4a3aba0ac94bc8, []int{59} } func (m *MsgConfirmMatchResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3265,7 +2934,7 @@ func (m *MsgSetProfileCard) Reset() { *m = MsgSetProfileCard{} } func (m *MsgSetProfileCard) String() string { return proto.CompactTextString(m) } func (*MsgSetProfileCard) ProtoMessage() {} func (*MsgSetProfileCard) Descriptor() ([]byte, []int) { - return fileDescriptor_3b4a3aba0ac94bc8, []int{66} + return fileDescriptor_3b4a3aba0ac94bc8, []int{60} } func (m *MsgSetProfileCard) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3315,7 +2984,7 @@ func (m *MsgSetProfileCardResponse) Reset() { *m = MsgSetProfileCardResp func (m *MsgSetProfileCardResponse) String() string { return proto.CompactTextString(m) } func (*MsgSetProfileCardResponse) ProtoMessage() {} func (*MsgSetProfileCardResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_3b4a3aba0ac94bc8, []int{67} + return fileDescriptor_3b4a3aba0ac94bc8, []int{61} } func (m *MsgSetProfileCardResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3353,7 +3022,7 @@ func (m *MsgOpenBoosterPack) Reset() { *m = MsgOpenBoosterPack{} } func (m *MsgOpenBoosterPack) String() string { return proto.CompactTextString(m) } func (*MsgOpenBoosterPack) ProtoMessage() {} func (*MsgOpenBoosterPack) Descriptor() ([]byte, []int) { - return fileDescriptor_3b4a3aba0ac94bc8, []int{68} + return fileDescriptor_3b4a3aba0ac94bc8, []int{62} } func (m *MsgOpenBoosterPack) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3397,13 +3066,14 @@ func (m *MsgOpenBoosterPack) GetBoosterPackId() uint64 { } type MsgOpenBoosterPackResponse struct { + CardIds []uint64 `protobuf:"varint,1,rep,packed,name=cardIds,proto3" json:"cardIds,omitempty"` } func (m *MsgOpenBoosterPackResponse) Reset() { *m = MsgOpenBoosterPackResponse{} } func (m *MsgOpenBoosterPackResponse) String() string { return proto.CompactTextString(m) } func (*MsgOpenBoosterPackResponse) ProtoMessage() {} func (*MsgOpenBoosterPackResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_3b4a3aba0ac94bc8, []int{69} + return fileDescriptor_3b4a3aba0ac94bc8, []int{63} } func (m *MsgOpenBoosterPackResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3432,6 +3102,13 @@ func (m *MsgOpenBoosterPackResponse) XXX_DiscardUnknown() { var xxx_messageInfo_MsgOpenBoosterPackResponse proto.InternalMessageInfo +func (m *MsgOpenBoosterPackResponse) GetCardIds() []uint64 { + if m != nil { + return m.CardIds + } + return nil +} + type MsgTransferBoosterPack struct { Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` BoosterPackId uint64 `protobuf:"varint,2,opt,name=boosterPackId,proto3" json:"boosterPackId,omitempty"` @@ -3442,7 +3119,7 @@ func (m *MsgTransferBoosterPack) Reset() { *m = MsgTransferBoosterPack{} func (m *MsgTransferBoosterPack) String() string { return proto.CompactTextString(m) } func (*MsgTransferBoosterPack) ProtoMessage() {} func (*MsgTransferBoosterPack) Descriptor() ([]byte, []int) { - return fileDescriptor_3b4a3aba0ac94bc8, []int{70} + return fileDescriptor_3b4a3aba0ac94bc8, []int{64} } func (m *MsgTransferBoosterPack) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3499,7 +3176,7 @@ func (m *MsgTransferBoosterPackResponse) Reset() { *m = MsgTransferBoost func (m *MsgTransferBoosterPackResponse) String() string { return proto.CompactTextString(m) } func (*MsgTransferBoosterPackResponse) ProtoMessage() {} func (*MsgTransferBoosterPackResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_3b4a3aba0ac94bc8, []int{71} + return fileDescriptor_3b4a3aba0ac94bc8, []int{65} } func (m *MsgTransferBoosterPackResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3528,24 +3205,24 @@ func (m *MsgTransferBoosterPackResponse) XXX_DiscardUnknown() { var xxx_messageInfo_MsgTransferBoosterPackResponse proto.InternalMessageInfo -type MsgSetCollectionStoryWriter struct { - Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` - CollectionId uint64 `protobuf:"varint,2,opt,name=collectionId,proto3" json:"collectionId,omitempty"` - StoryWriter string `protobuf:"bytes,3,opt,name=storyWriter,proto3" json:"storyWriter,omitempty"` +type MsgSetSetStoryWriter struct { + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + SetId uint64 `protobuf:"varint,2,opt,name=setId,proto3" json:"setId,omitempty"` + StoryWriter string `protobuf:"bytes,3,opt,name=storyWriter,proto3" json:"storyWriter,omitempty"` } -func (m *MsgSetCollectionStoryWriter) Reset() { *m = MsgSetCollectionStoryWriter{} } -func (m *MsgSetCollectionStoryWriter) String() string { return proto.CompactTextString(m) } -func (*MsgSetCollectionStoryWriter) ProtoMessage() {} -func (*MsgSetCollectionStoryWriter) Descriptor() ([]byte, []int) { - return fileDescriptor_3b4a3aba0ac94bc8, []int{72} +func (m *MsgSetSetStoryWriter) Reset() { *m = MsgSetSetStoryWriter{} } +func (m *MsgSetSetStoryWriter) String() string { return proto.CompactTextString(m) } +func (*MsgSetSetStoryWriter) ProtoMessage() {} +func (*MsgSetSetStoryWriter) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{66} } -func (m *MsgSetCollectionStoryWriter) XXX_Unmarshal(b []byte) error { +func (m *MsgSetSetStoryWriter) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *MsgSetCollectionStoryWriter) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *MsgSetSetStoryWriter) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_MsgSetCollectionStoryWriter.Marshal(b, m, deterministic) + return xxx_messageInfo_MsgSetSetStoryWriter.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -3555,54 +3232,54 @@ func (m *MsgSetCollectionStoryWriter) XXX_Marshal(b []byte, deterministic bool) return b[:n], nil } } -func (m *MsgSetCollectionStoryWriter) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgSetCollectionStoryWriter.Merge(m, src) +func (m *MsgSetSetStoryWriter) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgSetSetStoryWriter.Merge(m, src) } -func (m *MsgSetCollectionStoryWriter) XXX_Size() int { +func (m *MsgSetSetStoryWriter) XXX_Size() int { return m.Size() } -func (m *MsgSetCollectionStoryWriter) XXX_DiscardUnknown() { - xxx_messageInfo_MsgSetCollectionStoryWriter.DiscardUnknown(m) +func (m *MsgSetSetStoryWriter) XXX_DiscardUnknown() { + xxx_messageInfo_MsgSetSetStoryWriter.DiscardUnknown(m) } -var xxx_messageInfo_MsgSetCollectionStoryWriter proto.InternalMessageInfo +var xxx_messageInfo_MsgSetSetStoryWriter proto.InternalMessageInfo -func (m *MsgSetCollectionStoryWriter) GetCreator() string { +func (m *MsgSetSetStoryWriter) GetCreator() string { if m != nil { return m.Creator } return "" } -func (m *MsgSetCollectionStoryWriter) GetCollectionId() uint64 { +func (m *MsgSetSetStoryWriter) GetSetId() uint64 { if m != nil { - return m.CollectionId + return m.SetId } return 0 } -func (m *MsgSetCollectionStoryWriter) GetStoryWriter() string { +func (m *MsgSetSetStoryWriter) GetStoryWriter() string { if m != nil { return m.StoryWriter } return "" } -type MsgSetCollectionStoryWriterResponse struct { +type MsgSetSetStoryWriterResponse struct { } -func (m *MsgSetCollectionStoryWriterResponse) Reset() { *m = MsgSetCollectionStoryWriterResponse{} } -func (m *MsgSetCollectionStoryWriterResponse) String() string { return proto.CompactTextString(m) } -func (*MsgSetCollectionStoryWriterResponse) ProtoMessage() {} -func (*MsgSetCollectionStoryWriterResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_3b4a3aba0ac94bc8, []int{73} +func (m *MsgSetSetStoryWriterResponse) Reset() { *m = MsgSetSetStoryWriterResponse{} } +func (m *MsgSetSetStoryWriterResponse) String() string { return proto.CompactTextString(m) } +func (*MsgSetSetStoryWriterResponse) ProtoMessage() {} +func (*MsgSetSetStoryWriterResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{67} } -func (m *MsgSetCollectionStoryWriterResponse) XXX_Unmarshal(b []byte) error { +func (m *MsgSetSetStoryWriterResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *MsgSetCollectionStoryWriterResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *MsgSetSetStoryWriterResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_MsgSetCollectionStoryWriterResponse.Marshal(b, m, deterministic) + return xxx_messageInfo_MsgSetSetStoryWriterResponse.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -3612,36 +3289,36 @@ func (m *MsgSetCollectionStoryWriterResponse) XXX_Marshal(b []byte, deterministi return b[:n], nil } } -func (m *MsgSetCollectionStoryWriterResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgSetCollectionStoryWriterResponse.Merge(m, src) +func (m *MsgSetSetStoryWriterResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgSetSetStoryWriterResponse.Merge(m, src) } -func (m *MsgSetCollectionStoryWriterResponse) XXX_Size() int { +func (m *MsgSetSetStoryWriterResponse) XXX_Size() int { return m.Size() } -func (m *MsgSetCollectionStoryWriterResponse) XXX_DiscardUnknown() { - xxx_messageInfo_MsgSetCollectionStoryWriterResponse.DiscardUnknown(m) +func (m *MsgSetSetStoryWriterResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgSetSetStoryWriterResponse.DiscardUnknown(m) } -var xxx_messageInfo_MsgSetCollectionStoryWriterResponse proto.InternalMessageInfo +var xxx_messageInfo_MsgSetSetStoryWriterResponse proto.InternalMessageInfo -type MsgSetCollectionArtist struct { - Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` - CollectionId uint64 `protobuf:"varint,2,opt,name=collectionId,proto3" json:"collectionId,omitempty"` - Artist string `protobuf:"bytes,3,opt,name=artist,proto3" json:"artist,omitempty"` +type MsgSetSetArtist struct { + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + SetId uint64 `protobuf:"varint,2,opt,name=setId,proto3" json:"setId,omitempty"` + Artist string `protobuf:"bytes,3,opt,name=artist,proto3" json:"artist,omitempty"` } -func (m *MsgSetCollectionArtist) Reset() { *m = MsgSetCollectionArtist{} } -func (m *MsgSetCollectionArtist) String() string { return proto.CompactTextString(m) } -func (*MsgSetCollectionArtist) ProtoMessage() {} -func (*MsgSetCollectionArtist) Descriptor() ([]byte, []int) { - return fileDescriptor_3b4a3aba0ac94bc8, []int{74} +func (m *MsgSetSetArtist) Reset() { *m = MsgSetSetArtist{} } +func (m *MsgSetSetArtist) String() string { return proto.CompactTextString(m) } +func (*MsgSetSetArtist) ProtoMessage() {} +func (*MsgSetSetArtist) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{68} } -func (m *MsgSetCollectionArtist) XXX_Unmarshal(b []byte) error { +func (m *MsgSetSetArtist) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *MsgSetCollectionArtist) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *MsgSetSetArtist) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_MsgSetCollectionArtist.Marshal(b, m, deterministic) + return xxx_messageInfo_MsgSetSetArtist.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -3651,54 +3328,54 @@ func (m *MsgSetCollectionArtist) XXX_Marshal(b []byte, deterministic bool) ([]by return b[:n], nil } } -func (m *MsgSetCollectionArtist) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgSetCollectionArtist.Merge(m, src) +func (m *MsgSetSetArtist) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgSetSetArtist.Merge(m, src) } -func (m *MsgSetCollectionArtist) XXX_Size() int { +func (m *MsgSetSetArtist) XXX_Size() int { return m.Size() } -func (m *MsgSetCollectionArtist) XXX_DiscardUnknown() { - xxx_messageInfo_MsgSetCollectionArtist.DiscardUnknown(m) +func (m *MsgSetSetArtist) XXX_DiscardUnknown() { + xxx_messageInfo_MsgSetSetArtist.DiscardUnknown(m) } -var xxx_messageInfo_MsgSetCollectionArtist proto.InternalMessageInfo +var xxx_messageInfo_MsgSetSetArtist proto.InternalMessageInfo -func (m *MsgSetCollectionArtist) GetCreator() string { +func (m *MsgSetSetArtist) GetCreator() string { if m != nil { return m.Creator } return "" } -func (m *MsgSetCollectionArtist) GetCollectionId() uint64 { +func (m *MsgSetSetArtist) GetSetId() uint64 { if m != nil { - return m.CollectionId + return m.SetId } return 0 } -func (m *MsgSetCollectionArtist) GetArtist() string { +func (m *MsgSetSetArtist) GetArtist() string { if m != nil { return m.Artist } return "" } -type MsgSetCollectionArtistResponse struct { +type MsgSetSetArtistResponse struct { } -func (m *MsgSetCollectionArtistResponse) Reset() { *m = MsgSetCollectionArtistResponse{} } -func (m *MsgSetCollectionArtistResponse) String() string { return proto.CompactTextString(m) } -func (*MsgSetCollectionArtistResponse) ProtoMessage() {} -func (*MsgSetCollectionArtistResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_3b4a3aba0ac94bc8, []int{75} +func (m *MsgSetSetArtistResponse) Reset() { *m = MsgSetSetArtistResponse{} } +func (m *MsgSetSetArtistResponse) String() string { return proto.CompactTextString(m) } +func (*MsgSetSetArtistResponse) ProtoMessage() {} +func (*MsgSetSetArtistResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{69} } -func (m *MsgSetCollectionArtistResponse) XXX_Unmarshal(b []byte) error { +func (m *MsgSetSetArtistResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *MsgSetCollectionArtistResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *MsgSetSetArtistResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_MsgSetCollectionArtistResponse.Marshal(b, m, deterministic) + return xxx_messageInfo_MsgSetSetArtistResponse.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -3708,17 +3385,17 @@ func (m *MsgSetCollectionArtistResponse) XXX_Marshal(b []byte, deterministic boo return b[:n], nil } } -func (m *MsgSetCollectionArtistResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgSetCollectionArtistResponse.Merge(m, src) +func (m *MsgSetSetArtistResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgSetSetArtistResponse.Merge(m, src) } -func (m *MsgSetCollectionArtistResponse) XXX_Size() int { +func (m *MsgSetSetArtistResponse) XXX_Size() int { return m.Size() } -func (m *MsgSetCollectionArtistResponse) XXX_DiscardUnknown() { - xxx_messageInfo_MsgSetCollectionArtistResponse.DiscardUnknown(m) +func (m *MsgSetSetArtistResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgSetSetArtistResponse.DiscardUnknown(m) } -var xxx_messageInfo_MsgSetCollectionArtistResponse proto.InternalMessageInfo +var xxx_messageInfo_MsgSetSetArtistResponse proto.InternalMessageInfo type MsgSetUserWebsite struct { Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` @@ -3729,7 +3406,7 @@ func (m *MsgSetUserWebsite) Reset() { *m = MsgSetUserWebsite{} } func (m *MsgSetUserWebsite) String() string { return proto.CompactTextString(m) } func (*MsgSetUserWebsite) ProtoMessage() {} func (*MsgSetUserWebsite) Descriptor() ([]byte, []int) { - return fileDescriptor_3b4a3aba0ac94bc8, []int{76} + return fileDescriptor_3b4a3aba0ac94bc8, []int{70} } func (m *MsgSetUserWebsite) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3779,7 +3456,7 @@ func (m *MsgSetUserWebsiteResponse) Reset() { *m = MsgSetUserWebsiteResp func (m *MsgSetUserWebsiteResponse) String() string { return proto.CompactTextString(m) } func (*MsgSetUserWebsiteResponse) ProtoMessage() {} func (*MsgSetUserWebsiteResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_3b4a3aba0ac94bc8, []int{77} + return fileDescriptor_3b4a3aba0ac94bc8, []int{71} } func (m *MsgSetUserWebsiteResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3817,7 +3494,7 @@ func (m *MsgSetUserBiography) Reset() { *m = MsgSetUserBiography{} } func (m *MsgSetUserBiography) String() string { return proto.CompactTextString(m) } func (*MsgSetUserBiography) ProtoMessage() {} func (*MsgSetUserBiography) Descriptor() ([]byte, []int) { - return fileDescriptor_3b4a3aba0ac94bc8, []int{78} + return fileDescriptor_3b4a3aba0ac94bc8, []int{72} } func (m *MsgSetUserBiography) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3867,7 +3544,7 @@ func (m *MsgSetUserBiographyResponse) Reset() { *m = MsgSetUserBiography func (m *MsgSetUserBiographyResponse) String() string { return proto.CompactTextString(m) } func (*MsgSetUserBiographyResponse) ProtoMessage() {} func (*MsgSetUserBiographyResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_3b4a3aba0ac94bc8, []int{79} + return fileDescriptor_3b4a3aba0ac94bc8, []int{73} } func (m *MsgSetUserBiographyResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3896,247 +3573,554 @@ func (m *MsgSetUserBiographyResponse) XXX_DiscardUnknown() { var xxx_messageInfo_MsgSetUserBiographyResponse proto.InternalMessageInfo -func init() { - proto.RegisterEnum("DecentralCardGame.cardchain.cardchain.Outcome", Outcome_name, Outcome_value) - proto.RegisterType((*MsgCreateuser)(nil), "DecentralCardGame.cardchain.cardchain.MsgCreateuser") - proto.RegisterType((*MsgCreateuserResponse)(nil), "DecentralCardGame.cardchain.cardchain.MsgCreateuserResponse") - proto.RegisterType((*MsgBuyCardScheme)(nil), "DecentralCardGame.cardchain.cardchain.MsgBuyCardScheme") - proto.RegisterType((*MsgBuyCardSchemeResponse)(nil), "DecentralCardGame.cardchain.cardchain.MsgBuyCardSchemeResponse") - proto.RegisterType((*MsgVoteCard)(nil), "DecentralCardGame.cardchain.cardchain.MsgVoteCard") - proto.RegisterType((*MsgVoteCardResponse)(nil), "DecentralCardGame.cardchain.cardchain.MsgVoteCardResponse") - proto.RegisterType((*MsgSaveCardContent)(nil), "DecentralCardGame.cardchain.cardchain.MsgSaveCardContent") - proto.RegisterType((*MsgSaveCardContentResponse)(nil), "DecentralCardGame.cardchain.cardchain.MsgSaveCardContentResponse") - proto.RegisterType((*MsgTransferCard)(nil), "DecentralCardGame.cardchain.cardchain.MsgTransferCard") - proto.RegisterType((*MsgTransferCardResponse)(nil), "DecentralCardGame.cardchain.cardchain.MsgTransferCardResponse") - proto.RegisterType((*MsgDonateToCard)(nil), "DecentralCardGame.cardchain.cardchain.MsgDonateToCard") - proto.RegisterType((*MsgDonateToCardResponse)(nil), "DecentralCardGame.cardchain.cardchain.MsgDonateToCardResponse") - proto.RegisterType((*MsgAddArtwork)(nil), "DecentralCardGame.cardchain.cardchain.MsgAddArtwork") - proto.RegisterType((*MsgAddArtworkResponse)(nil), "DecentralCardGame.cardchain.cardchain.MsgAddArtworkResponse") - proto.RegisterType((*MsgSubmitCopyrightProposal)(nil), "DecentralCardGame.cardchain.cardchain.MsgSubmitCopyrightProposal") - proto.RegisterType((*MsgSubmitCopyrightProposalResponse)(nil), "DecentralCardGame.cardchain.cardchain.MsgSubmitCopyrightProposalResponse") - proto.RegisterType((*MsgChangeArtist)(nil), "DecentralCardGame.cardchain.cardchain.MsgChangeArtist") - proto.RegisterType((*MsgChangeArtistResponse)(nil), "DecentralCardGame.cardchain.cardchain.MsgChangeArtistResponse") - proto.RegisterType((*MsgRegisterForCouncil)(nil), "DecentralCardGame.cardchain.cardchain.MsgRegisterForCouncil") - proto.RegisterType((*MsgRegisterForCouncilResponse)(nil), "DecentralCardGame.cardchain.cardchain.MsgRegisterForCouncilResponse") - proto.RegisterType((*MsgReportMatch)(nil), "DecentralCardGame.cardchain.cardchain.MsgReportMatch") - proto.RegisterType((*MsgReportMatchResponse)(nil), "DecentralCardGame.cardchain.cardchain.MsgReportMatchResponse") - proto.RegisterType((*MsgSubmitMatchReporterProposal)(nil), "DecentralCardGame.cardchain.cardchain.MsgSubmitMatchReporterProposal") - proto.RegisterType((*MsgSubmitMatchReporterProposalResponse)(nil), "DecentralCardGame.cardchain.cardchain.MsgSubmitMatchReporterProposalResponse") - proto.RegisterType((*MsgApointMatchReporter)(nil), "DecentralCardGame.cardchain.cardchain.MsgApointMatchReporter") - proto.RegisterType((*MsgApointMatchReporterResponse)(nil), "DecentralCardGame.cardchain.cardchain.MsgApointMatchReporterResponse") - proto.RegisterType((*MsgCreateCollection)(nil), "DecentralCardGame.cardchain.cardchain.MsgCreateCollection") - proto.RegisterType((*MsgCreateCollectionResponse)(nil), "DecentralCardGame.cardchain.cardchain.MsgCreateCollectionResponse") - proto.RegisterType((*MsgAddCardToCollection)(nil), "DecentralCardGame.cardchain.cardchain.MsgAddCardToCollection") - proto.RegisterType((*MsgAddCardToCollectionResponse)(nil), "DecentralCardGame.cardchain.cardchain.MsgAddCardToCollectionResponse") - proto.RegisterType((*MsgFinalizeCollection)(nil), "DecentralCardGame.cardchain.cardchain.MsgFinalizeCollection") - proto.RegisterType((*MsgFinalizeCollectionResponse)(nil), "DecentralCardGame.cardchain.cardchain.MsgFinalizeCollectionResponse") - proto.RegisterType((*MsgBuyCollection)(nil), "DecentralCardGame.cardchain.cardchain.MsgBuyCollection") - proto.RegisterType((*MsgBuyCollectionResponse)(nil), "DecentralCardGame.cardchain.cardchain.MsgBuyCollectionResponse") - proto.RegisterType((*MsgRemoveCardFromCollection)(nil), "DecentralCardGame.cardchain.cardchain.MsgRemoveCardFromCollection") - proto.RegisterType((*MsgRemoveCardFromCollectionResponse)(nil), "DecentralCardGame.cardchain.cardchain.MsgRemoveCardFromCollectionResponse") - proto.RegisterType((*MsgRemoveContributorFromCollection)(nil), "DecentralCardGame.cardchain.cardchain.MsgRemoveContributorFromCollection") - proto.RegisterType((*MsgRemoveContributorFromCollectionResponse)(nil), "DecentralCardGame.cardchain.cardchain.MsgRemoveContributorFromCollectionResponse") - proto.RegisterType((*MsgAddContributorToCollection)(nil), "DecentralCardGame.cardchain.cardchain.MsgAddContributorToCollection") - proto.RegisterType((*MsgAddContributorToCollectionResponse)(nil), "DecentralCardGame.cardchain.cardchain.MsgAddContributorToCollectionResponse") - proto.RegisterType((*MsgSubmitCollectionProposal)(nil), "DecentralCardGame.cardchain.cardchain.MsgSubmitCollectionProposal") - proto.RegisterType((*MsgSubmitCollectionProposalResponse)(nil), "DecentralCardGame.cardchain.cardchain.MsgSubmitCollectionProposalResponse") - proto.RegisterType((*MsgCreateSellOffer)(nil), "DecentralCardGame.cardchain.cardchain.MsgCreateSellOffer") - proto.RegisterType((*MsgCreateSellOfferResponse)(nil), "DecentralCardGame.cardchain.cardchain.MsgCreateSellOfferResponse") - proto.RegisterType((*MsgBuyCard)(nil), "DecentralCardGame.cardchain.cardchain.MsgBuyCard") - proto.RegisterType((*MsgBuyCardResponse)(nil), "DecentralCardGame.cardchain.cardchain.MsgBuyCardResponse") - proto.RegisterType((*MsgRemoveSellOffer)(nil), "DecentralCardGame.cardchain.cardchain.MsgRemoveSellOffer") - proto.RegisterType((*MsgRemoveSellOfferResponse)(nil), "DecentralCardGame.cardchain.cardchain.MsgRemoveSellOfferResponse") - proto.RegisterType((*MsgAddArtworkToCollection)(nil), "DecentralCardGame.cardchain.cardchain.MsgAddArtworkToCollection") - proto.RegisterType((*MsgAddArtworkToCollectionResponse)(nil), "DecentralCardGame.cardchain.cardchain.MsgAddArtworkToCollectionResponse") - proto.RegisterType((*MsgAddStoryToCollection)(nil), "DecentralCardGame.cardchain.cardchain.MsgAddStoryToCollection") - proto.RegisterType((*MsgAddStoryToCollectionResponse)(nil), "DecentralCardGame.cardchain.cardchain.MsgAddStoryToCollectionResponse") - proto.RegisterType((*MsgSetCardRarity)(nil), "DecentralCardGame.cardchain.cardchain.MsgSetCardRarity") - proto.RegisterType((*MsgSetCardRarityResponse)(nil), "DecentralCardGame.cardchain.cardchain.MsgSetCardRarityResponse") - proto.RegisterType((*MsgCreateCouncil)(nil), "DecentralCardGame.cardchain.cardchain.MsgCreateCouncil") - proto.RegisterType((*MsgCreateCouncilResponse)(nil), "DecentralCardGame.cardchain.cardchain.MsgCreateCouncilResponse") - proto.RegisterType((*MsgCommitCouncilResponse)(nil), "DecentralCardGame.cardchain.cardchain.MsgCommitCouncilResponse") - proto.RegisterType((*MsgCommitCouncilResponseResponse)(nil), "DecentralCardGame.cardchain.cardchain.MsgCommitCouncilResponseResponse") - proto.RegisterType((*MsgRevealCouncilResponse)(nil), "DecentralCardGame.cardchain.cardchain.MsgRevealCouncilResponse") - proto.RegisterType((*MsgRevealCouncilResponseResponse)(nil), "DecentralCardGame.cardchain.cardchain.MsgRevealCouncilResponseResponse") - proto.RegisterType((*MsgRestartCouncil)(nil), "DecentralCardGame.cardchain.cardchain.MsgRestartCouncil") - proto.RegisterType((*MsgRestartCouncilResponse)(nil), "DecentralCardGame.cardchain.cardchain.MsgRestartCouncilResponse") - proto.RegisterType((*MsgRewokeCouncilRegistration)(nil), "DecentralCardGame.cardchain.cardchain.MsgRewokeCouncilRegistration") - proto.RegisterType((*MsgRewokeCouncilRegistrationResponse)(nil), "DecentralCardGame.cardchain.cardchain.MsgRewokeCouncilRegistrationResponse") - proto.RegisterType((*MsgConfirmMatch)(nil), "DecentralCardGame.cardchain.cardchain.MsgConfirmMatch") - proto.RegisterType((*MsgConfirmMatchResponse)(nil), "DecentralCardGame.cardchain.cardchain.MsgConfirmMatchResponse") - proto.RegisterType((*MsgSetProfileCard)(nil), "DecentralCardGame.cardchain.cardchain.MsgSetProfileCard") - proto.RegisterType((*MsgSetProfileCardResponse)(nil), "DecentralCardGame.cardchain.cardchain.MsgSetProfileCardResponse") - proto.RegisterType((*MsgOpenBoosterPack)(nil), "DecentralCardGame.cardchain.cardchain.MsgOpenBoosterPack") - proto.RegisterType((*MsgOpenBoosterPackResponse)(nil), "DecentralCardGame.cardchain.cardchain.MsgOpenBoosterPackResponse") - proto.RegisterType((*MsgTransferBoosterPack)(nil), "DecentralCardGame.cardchain.cardchain.MsgTransferBoosterPack") - proto.RegisterType((*MsgTransferBoosterPackResponse)(nil), "DecentralCardGame.cardchain.cardchain.MsgTransferBoosterPackResponse") - proto.RegisterType((*MsgSetCollectionStoryWriter)(nil), "DecentralCardGame.cardchain.cardchain.MsgSetCollectionStoryWriter") - proto.RegisterType((*MsgSetCollectionStoryWriterResponse)(nil), "DecentralCardGame.cardchain.cardchain.MsgSetCollectionStoryWriterResponse") - proto.RegisterType((*MsgSetCollectionArtist)(nil), "DecentralCardGame.cardchain.cardchain.MsgSetCollectionArtist") - proto.RegisterType((*MsgSetCollectionArtistResponse)(nil), "DecentralCardGame.cardchain.cardchain.MsgSetCollectionArtistResponse") - proto.RegisterType((*MsgSetUserWebsite)(nil), "DecentralCardGame.cardchain.cardchain.MsgSetUserWebsite") - proto.RegisterType((*MsgSetUserWebsiteResponse)(nil), "DecentralCardGame.cardchain.cardchain.MsgSetUserWebsiteResponse") - proto.RegisterType((*MsgSetUserBiography)(nil), "DecentralCardGame.cardchain.cardchain.MsgSetUserBiography") - proto.RegisterType((*MsgSetUserBiographyResponse)(nil), "DecentralCardGame.cardchain.cardchain.MsgSetUserBiographyResponse") +// this line is used by starport scaffolding # proto/tx/message +type MsgMultiVoteCard struct { + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + Votes []*SingleVote `protobuf:"bytes,2,rep,name=votes,proto3" json:"votes,omitempty"` } -func init() { proto.RegisterFile("cardchain/cardchain/tx.proto", fileDescriptor_3b4a3aba0ac94bc8) } +func (m *MsgMultiVoteCard) Reset() { *m = MsgMultiVoteCard{} } +func (m *MsgMultiVoteCard) String() string { return proto.CompactTextString(m) } +func (*MsgMultiVoteCard) ProtoMessage() {} +func (*MsgMultiVoteCard) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{74} +} +func (m *MsgMultiVoteCard) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgMultiVoteCard) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgMultiVoteCard.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 *MsgMultiVoteCard) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgMultiVoteCard.Merge(m, src) +} +func (m *MsgMultiVoteCard) XXX_Size() int { + return m.Size() +} +func (m *MsgMultiVoteCard) XXX_DiscardUnknown() { + xxx_messageInfo_MsgMultiVoteCard.DiscardUnknown(m) +} -var fileDescriptor_3b4a3aba0ac94bc8 = []byte{ - // 2294 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x5a, 0xcd, 0x8b, 0x1b, 0xc9, - 0x15, 0x9f, 0xb6, 0x34, 0x1f, 0x7e, 0xb6, 0x27, 0x93, 0xde, 0x59, 0x5b, 0x6e, 0xdb, 0x33, 0xe3, - 0x5e, 0xdb, 0x6b, 0x96, 0x64, 0x84, 0x27, 0x9b, 0xac, 0x6d, 0x32, 0xf6, 0xea, 0x63, 0xfc, 0x11, - 0x47, 0xb1, 0xa3, 0x19, 0xc7, 0x24, 0x39, 0x84, 0x56, 0xab, 0x46, 0xd3, 0x58, 0xea, 0x52, 0xaa, - 0x5b, 0x33, 0xab, 0x85, 0xc0, 0x42, 0x42, 0x60, 0x61, 0xd9, 0x84, 0x3d, 0x05, 0x02, 0x81, 0x85, - 0x40, 0x20, 0x10, 0x08, 0xe4, 0x90, 0x63, 0x0e, 0xb9, 0xec, 0x71, 0x8f, 0x4b, 0x0e, 0x4b, 0xb0, - 0xff, 0x91, 0xd0, 0xd5, 0xd5, 0xd5, 0x55, 0xad, 0x6e, 0x49, 0xd5, 0x52, 0x4e, 0xea, 0xaa, 0xee, - 0xdf, 0x7b, 0xbf, 0xfa, 0x7a, 0xf5, 0xde, 0x0f, 0xc1, 0x65, 0xdb, 0x22, 0x6d, 0xfb, 0xc8, 0x72, - 0xdc, 0x72, 0xfc, 0xe4, 0x7f, 0xb0, 0xdd, 0x27, 0xd8, 0xc7, 0xfa, 0xf5, 0x3a, 0xb2, 0x91, 0xeb, - 0x13, 0xab, 0x5b, 0xb3, 0x48, 0xfb, 0xa1, 0xd5, 0x43, 0xdb, 0xfc, 0xab, 0xf8, 0xc9, 0x58, 0xef, - 0xe0, 0x0e, 0xa6, 0x88, 0x72, 0xf0, 0x14, 0x82, 0x8d, 0xab, 0x69, 0xa6, 0x6d, 0x3c, 0x70, 0x6d, - 0xa7, 0xcb, 0x3e, 0xd9, 0xb0, 0xb1, 0xd7, 0xc3, 0x5e, 0xb9, 0x65, 0x79, 0xa8, 0x7c, 0x7c, 0xab, - 0x85, 0x7c, 0xeb, 0x56, 0xd9, 0xc6, 0x8e, 0x1b, 0xbe, 0x37, 0x7f, 0x0a, 0xe7, 0x1a, 0x5e, 0xa7, - 0x46, 0x90, 0xe5, 0xa3, 0x81, 0x87, 0x88, 0x5e, 0x82, 0x65, 0x3b, 0x68, 0x61, 0x52, 0xd2, 0xb6, - 0xb4, 0x9b, 0xa7, 0x9b, 0x51, 0x33, 0x78, 0xe3, 0xa2, 0x93, 0xe7, 0x1e, 0x22, 0xa5, 0x53, 0xe1, - 0x1b, 0xd6, 0xd4, 0xd7, 0x61, 0xd1, 0xea, 0x3a, 0x96, 0x57, 0x2a, 0xd0, 0xfe, 0xb0, 0x61, 0x5e, - 0x80, 0x37, 0x25, 0xd3, 0x4d, 0xe4, 0xf5, 0xb1, 0xeb, 0x21, 0xf3, 0x1e, 0xac, 0x35, 0xbc, 0x4e, - 0x75, 0x30, 0x0c, 0x86, 0xbc, 0x6f, 0x1f, 0xa1, 0x1e, 0x1a, 0xe3, 0x76, 0x0d, 0x0a, 0x2d, 0xa7, - 0xcd, 0x5c, 0x06, 0x8f, 0xa6, 0x01, 0xa5, 0x24, 0x9e, 0xdb, 0xfe, 0x39, 0x9c, 0x69, 0x78, 0x9d, - 0x9f, 0x60, 0x1f, 0x05, 0x2f, 0xc7, 0x98, 0x3d, 0x0f, 0x4b, 0xc1, 0x9c, 0x3d, 0x0e, 0x2d, 0x17, - 0x9b, 0xac, 0xa5, 0x1b, 0xb0, 0x72, 0x8c, 0x7d, 0x74, 0x30, 0xec, 0x23, 0x36, 0x1c, 0xde, 0x36, - 0x77, 0xe1, 0x0d, 0xc1, 0x78, 0xe4, 0x53, 0xbf, 0x01, 0xab, 0x96, 0x43, 0xda, 0x04, 0xf7, 0x6b, - 0x5d, 0xcb, 0xe9, 0xa1, 0x36, 0xf5, 0xb5, 0xd2, 0x4c, 0xf4, 0x9a, 0x9f, 0x6a, 0xa0, 0x37, 0xbc, - 0xce, 0xbe, 0x75, 0x4c, 0xf1, 0x35, 0xec, 0xfa, 0xc8, 0xf5, 0x73, 0x70, 0x0c, 0x10, 0x21, 0x98, - 0x52, 0x3c, 0xdb, 0x8c, 0x9a, 0xc1, 0x4a, 0xb8, 0xd8, 0x47, 0x5e, 0xa9, 0x18, 0xae, 0x04, 0x6d, - 0x04, 0x76, 0x2c, 0xe2, 0x3b, 0x9e, 0x5f, 0x5a, 0xa4, 0xdd, 0xac, 0x65, 0xd6, 0xc1, 0x18, 0xe5, - 0xa3, 0x3c, 0xac, 0x5f, 0xc0, 0x37, 0x1a, 0x5e, 0xe7, 0x80, 0x58, 0xae, 0x77, 0x88, 0x48, 0xfe, - 0x69, 0x27, 0xc8, 0x46, 0xce, 0x31, 0x22, 0x8c, 0x3b, 0x6f, 0x9b, 0x17, 0xe1, 0x42, 0xc2, 0x01, - 0x5f, 0xee, 0x4f, 0x34, 0xea, 0xbc, 0x8e, 0x5d, 0xcb, 0x47, 0x07, 0x38, 0xa7, 0xf3, 0x87, 0xb0, - 0x64, 0xf5, 0xf0, 0x80, 0x4d, 0xe7, 0xe9, 0x6a, 0xf9, 0x8b, 0xaf, 0x37, 0x17, 0xfe, 0xf3, 0xf5, - 0xe6, 0xdb, 0x1d, 0xc7, 0x3f, 0x1a, 0xb4, 0xb6, 0x6d, 0xdc, 0x2b, 0xb3, 0x73, 0x14, 0xfe, 0x7c, - 0xdb, 0x6b, 0xbf, 0x2c, 0xfb, 0xc3, 0x3e, 0xf2, 0xb6, 0x6b, 0xd8, 0x71, 0x9b, 0x0c, 0xce, 0x98, - 0x8a, 0x6c, 0x38, 0xd3, 0x5f, 0xd2, 0x83, 0x56, 0x69, 0xb7, 0x2b, 0xc4, 0x3f, 0xc1, 0xe4, 0x65, - 0x0e, 0x9a, 0xeb, 0xb0, 0xe8, 0xf4, 0xac, 0x0e, 0x62, 0x8b, 0x1e, 0x36, 0x02, 0x3b, 0x87, 0x83, - 0x6e, 0xb7, 0x42, 0x7c, 0x3a, 0x71, 0x2b, 0xcd, 0xa8, 0xc9, 0x0e, 0x60, 0xec, 0x92, 0x73, 0xf9, - 0x8d, 0x16, 0x2e, 0xfc, 0xa0, 0xd5, 0x73, 0xfc, 0x1a, 0xee, 0x0f, 0x89, 0xd3, 0x39, 0xf2, 0x9f, - 0x11, 0xdc, 0xc7, 0x9e, 0xd5, 0xcd, 0xc1, 0x6c, 0x0b, 0xce, 0xb4, 0x91, 0x67, 0x13, 0xa7, 0xef, - 0x3b, 0xd8, 0x65, 0xe7, 0x46, 0xec, 0xd2, 0x75, 0x28, 0x76, 0x1d, 0xf7, 0x25, 0x5b, 0x5b, 0xfa, - 0x6c, 0x5e, 0x03, 0x33, 0x9b, 0x85, 0x70, 0xa2, 0x83, 0x15, 0xae, 0x1d, 0x59, 0x6e, 0x07, 0x55, - 0xe8, 0xbe, 0x9d, 0x82, 0x60, 0x5d, 0x22, 0x58, 0x17, 0x4e, 0x40, 0x41, 0x3a, 0x01, 0xe1, 0x82, - 0x89, 0xc6, 0xb9, 0xdf, 0x5b, 0x74, 0xf6, 0x9a, 0xa8, 0xe3, 0x78, 0x3e, 0x22, 0x0f, 0x30, 0xa9, - 0x85, 0x81, 0x35, 0xdb, 0xbb, 0xb9, 0x09, 0x57, 0x52, 0x21, 0xdc, 0xe6, 0x57, 0x1a, 0xac, 0xd2, - 0x2f, 0xfa, 0x98, 0xf8, 0x0d, 0xcb, 0xb7, 0x8f, 0xc6, 0xc7, 0xdb, 0x7e, 0xd7, 0x1a, 0x22, 0x52, - 0x89, 0xe2, 0x2d, 0x6b, 0xc6, 0x6f, 0xaa, 0x6c, 0x38, 0x51, 0x33, 0x1a, 0xbf, 0x57, 0x29, 0x2d, - 0x6e, 0x15, 0xa2, 0xf1, 0x7b, 0x15, 0xde, 0x5f, 0x2d, 0x2d, 0x09, 0xfd, 0x55, 0xfd, 0x11, 0x2c, - 0xe3, 0x81, 0x6f, 0xe3, 0x1e, 0x2a, 0x2d, 0x6f, 0x69, 0x37, 0x57, 0x77, 0xb6, 0xb7, 0xa7, 0xba, - 0x90, 0xb6, 0x9f, 0x86, 0xa8, 0x66, 0x04, 0x37, 0x77, 0xe0, 0xbc, 0x3c, 0x32, 0x1e, 0x47, 0x4a, - 0xb0, 0xdc, 0x0b, 0x3a, 0x1e, 0x87, 0x01, 0xa4, 0xd8, 0x8c, 0x9a, 0xe6, 0x67, 0x1a, 0x6c, 0xf0, - 0x1d, 0xc0, 0x40, 0x01, 0x1e, 0x91, 0x29, 0xf6, 0x22, 0x8d, 0x18, 0xe1, 0xd7, 0x6c, 0x7e, 0x78, - 0x3b, 0x40, 0xb5, 0x51, 0x1f, 0x7b, 0x4e, 0xb4, 0xde, 0x51, 0x33, 0xb9, 0x53, 0x8b, 0x23, 0x3b, - 0xd5, 0xbc, 0x09, 0x37, 0xc6, 0x73, 0xe2, 0xab, 0xf9, 0x23, 0x3a, 0xe4, 0x4a, 0x1f, 0x3b, 0xae, - 0xfc, 0x65, 0x3e, 0xd6, 0xe6, 0x16, 0x9d, 0x8d, 0x14, 0x7b, 0xdc, 0xe3, 0xe7, 0x1a, 0xbd, 0x81, - 0xc2, 0x3b, 0xb5, 0x86, 0xbb, 0x5d, 0x64, 0xd3, 0xd3, 0x95, 0xed, 0x4f, 0x87, 0xa2, 0x6b, 0xf5, - 0x10, 0xf3, 0x45, 0x9f, 0xb3, 0x0e, 0x43, 0x30, 0x37, 0x9e, 0x8f, 0xc9, 0xf0, 0x05, 0x71, 0x7c, - 0x1e, 0x86, 0xc5, 0x2e, 0xdd, 0x84, 0xb3, 0xc1, 0x4d, 0x43, 0x9c, 0xd6, 0xc0, 0xc7, 0xc4, 0xa3, - 0x9b, 0xec, 0x74, 0x53, 0xea, 0x33, 0xaf, 0xc0, 0xa5, 0x14, 0x8a, 0x7c, 0x08, 0x6e, 0x38, 0x69, - 0xed, 0x76, 0xb0, 0xbd, 0x0e, 0xf0, 0x54, 0x83, 0xa0, 0x6e, 0xa3, 0xef, 0x78, 0xf0, 0x91, 0xfa, - 0x84, 0xd0, 0x54, 0x10, 0x43, 0x53, 0x34, 0xa9, 0xa3, 0xfe, 0x38, 0xa3, 0xe7, 0xf4, 0xa0, 0x3f, - 0x70, 0x5c, 0xab, 0xeb, 0x7c, 0x88, 0xe6, 0x45, 0x88, 0x05, 0x83, 0x51, 0xb3, 0xdc, 0xef, 0x33, - 0x9e, 0x06, 0xcd, 0xcb, 0x65, 0x95, 0x27, 0x46, 0x23, 0xde, 0xa6, 0xbe, 0xcd, 0x3d, 0xba, 0x7c, - 0x4d, 0xd4, 0xc3, 0x61, 0x56, 0xf0, 0x80, 0xe0, 0xde, 0xff, 0x7d, 0x91, 0xae, 0xc3, 0x5b, 0x63, - 0x9c, 0xf2, 0x19, 0x3b, 0xa6, 0x17, 0x06, 0xfb, 0x2c, 0xde, 0x73, 0x73, 0xa5, 0xa8, 0x43, 0x31, - 0x48, 0x56, 0xd9, 0xd1, 0xa0, 0xcf, 0xe6, 0xb7, 0xe0, 0x9d, 0xc9, 0x7e, 0x85, 0x9b, 0xfe, 0x0a, - 0xdb, 0x71, 0xf1, 0xa7, 0x73, 0xdc, 0xe8, 0x69, 0x04, 0xdf, 0x86, 0xeb, 0x63, 0x5d, 0x0a, 0x97, - 0xe9, 0x25, 0xe1, 0xca, 0x8d, 0x5e, 0x4f, 0x11, 0x6d, 0xa7, 0xd9, 0x7e, 0xe1, 0x2a, 0x66, 0x19, - 0xe7, 0x1c, 0x3e, 0x0e, 0xd3, 0xe0, 0x30, 0x42, 0xec, 0xa3, 0x6e, 0xf7, 0xe9, 0xe1, 0xe1, 0xd8, - 0x98, 0xa9, 0x43, 0x31, 0xd8, 0x27, 0xcc, 0x27, 0x7d, 0xd6, 0xf7, 0x60, 0xb1, 0x4f, 0x1c, 0x1b, - 0xe5, 0xcd, 0xd8, 0x42, 0xb4, 0x79, 0x99, 0x26, 0x42, 0x09, 0x2a, 0x9c, 0xe9, 0x23, 0x80, 0xb8, - 0xd0, 0x18, 0x43, 0x30, 0x08, 0x9c, 0x11, 0x98, 0xcf, 0x8d, 0xd8, 0x65, 0xae, 0xd3, 0x21, 0x33, - 0x4b, 0x42, 0x04, 0xd0, 0xf9, 0xbe, 0x9a, 0x66, 0x22, 0x26, 0xfb, 0x09, 0xc7, 0x93, 0xb0, 0xc8, - 0xfd, 0x61, 0xb8, 0x28, 0x25, 0x84, 0x73, 0xdc, 0x95, 0xa9, 0xb9, 0xa9, 0xf9, 0x16, 0x5c, 0xcd, - 0x74, 0xc8, 0x59, 0xf5, 0x68, 0x0e, 0x56, 0x69, 0xb7, 0xf7, 0x83, 0x9b, 0x66, 0xbe, 0x9c, 0xe8, - 0xe5, 0x15, 0x95, 0xa5, 0xb4, 0x61, 0x5e, 0x85, 0xcd, 0x0c, 0x77, 0x9c, 0xd1, 0x47, 0x1a, 0x0d, - 0xcd, 0xfb, 0xc8, 0xa7, 0xcb, 0x65, 0x11, 0xc7, 0x1f, 0xe6, 0xc8, 0x8a, 0x93, 0x1c, 0x0b, 0xe9, - 0x11, 0x91, 0x50, 0xfb, 0xec, 0xba, 0x65, 0x2d, 0x56, 0xe3, 0x4a, 0x0c, 0x38, 0xbd, 0x3a, 0x65, - 0x17, 0xdd, 0xb0, 0x13, 0x92, 0xd2, 0x2c, 0x76, 0xcc, 0x83, 0x64, 0x85, 0x7b, 0xf8, 0x54, 0x0b, - 0x5f, 0xe2, 0x1e, 0x3d, 0xca, 0xd2, 0xcb, 0x49, 0xc9, 0x4d, 0xf8, 0x55, 0x9c, 0xdc, 0x30, 0xd4, - 0x65, 0x38, 0xcd, 0x94, 0x09, 0x3e, 0x13, 0x71, 0x87, 0xbe, 0x01, 0xe0, 0x0d, 0x3a, 0x1d, 0xe4, - 0x09, 0x59, 0x99, 0xd0, 0x63, 0x9a, 0xb0, 0x95, 0xc5, 0x87, 0x93, 0xfe, 0x67, 0x48, 0xba, 0x89, - 0x8e, 0x91, 0xd5, 0x9d, 0x9e, 0xf4, 0x93, 0x04, 0xe9, 0xd5, 0x9d, 0xf2, 0x94, 0x39, 0x30, 0x67, - 0x10, 0x8f, 0xf2, 0x3c, 0x2c, 0x79, 0xc8, 0x26, 0x88, 0xa7, 0x56, 0x61, 0x4b, 0x1e, 0x7d, 0x31, - 0x31, 0x7a, 0x36, 0xba, 0x54, 0xe2, 0x7c, 0x74, 0x4f, 0xe0, 0x9b, 0xf4, 0x1b, 0xcf, 0xb7, 0x88, - 0x3f, 0x79, 0xd5, 0x25, 0x87, 0xa7, 0x92, 0x0e, 0x2f, 0xd1, 0x40, 0x20, 0x1b, 0xe3, 0x9e, 0x6e, - 0xc3, 0x65, 0xfa, 0xf2, 0x04, 0xbf, 0x8c, 0x37, 0x46, 0x50, 0xd2, 0x10, 0x6b, 0xfc, 0xa1, 0x34, - 0x6f, 0xc0, 0xb5, 0x71, 0x48, 0xee, 0xe1, 0x77, 0x61, 0xd5, 0x5e, 0xc3, 0xee, 0xa1, 0x43, 0x7a, - 0x53, 0xd4, 0x41, 0x51, 0xfd, 0x70, 0x4a, 0xaa, 0x1f, 0xc4, 0xea, 0xa5, 0x30, 0x5b, 0xf5, 0xc2, - 0xea, 0x40, 0x81, 0x10, 0x27, 0xbb, 0x47, 0x27, 0x7e, 0x1f, 0x05, 0x95, 0xe9, 0xa1, 0xd3, 0xcd, - 0xa9, 0x2b, 0xb1, 0x29, 0x97, 0xcd, 0x70, 0x1f, 0x07, 0xf4, 0x22, 0x78, 0xda, 0x47, 0x6e, 0x15, - 0xe3, 0xa0, 0x76, 0x7c, 0x66, 0xd9, 0xe3, 0x14, 0x82, 0x6b, 0x70, 0xae, 0x15, 0x7f, 0xc8, 0x7d, - 0xc9, 0x9d, 0xec, 0x32, 0x48, 0x58, 0xe5, 0x3e, 0x7d, 0x9a, 0x88, 0x47, 0xaa, 0xca, 0x1c, 0xfd, - 0x4a, 0x5a, 0x4e, 0x21, 0xa1, 0xe5, 0x84, 0xe9, 0x78, 0x8a, 0x57, 0xce, 0xeb, 0x57, 0x61, 0x8a, - 0x82, 0x84, 0x14, 0x62, 0x5f, 0x28, 0x41, 0x66, 0xbb, 0x12, 0x12, 0x25, 0x4e, 0x61, 0xa4, 0xc4, - 0x89, 0x92, 0x98, 0x0c, 0xf7, 0x89, 0x32, 0x46, 0xfa, 0x6c, 0xa2, 0x38, 0x31, 0x65, 0x86, 0x9c, - 0x2a, 0x54, 0x84, 0xf3, 0x96, 0xe2, 0x8f, 0x33, 0x7a, 0x18, 0xed, 0xd3, 0xe7, 0x1e, 0x22, 0x2f, - 0x50, 0xcb, 0x73, 0x7c, 0x34, 0xfe, 0x54, 0x9d, 0x84, 0x1f, 0x45, 0xea, 0x02, 0x6b, 0xc6, 0x3b, - 0x55, 0x30, 0xc4, 0xbd, 0x34, 0x68, 0x01, 0xca, 0x5e, 0x56, 0x1d, 0xdc, 0x21, 0x56, 0xff, 0x68, - 0x38, 0x3e, 0x10, 0xb5, 0xa2, 0xcf, 0x98, 0xa7, 0xb8, 0x83, 0x15, 0x8b, 0x49, 0x73, 0x91, 0xb7, - 0x77, 0xde, 0x85, 0x65, 0x76, 0x54, 0xf5, 0x15, 0x28, 0x56, 0x5e, 0x60, 0x77, 0x6d, 0x21, 0x78, - 0xaa, 0x06, 0x4f, 0x5a, 0xf0, 0x54, 0x27, 0xd6, 0xc9, 0xda, 0x29, 0xfd, 0x0c, 0x2c, 0x57, 0x5a, - 0x41, 0xad, 0xdc, 0x5e, 0x2b, 0xec, 0xfc, 0xbb, 0x0c, 0x85, 0x86, 0xd7, 0xd1, 0x3f, 0xd2, 0x00, - 0x04, 0x65, 0xfb, 0xdd, 0x29, 0x83, 0x83, 0x24, 0x5a, 0x1b, 0xdf, 0xcf, 0x83, 0xe2, 0xd7, 0xce, - 0xc7, 0x1a, 0x9c, 0x93, 0x85, 0xee, 0xf7, 0xa6, 0xb7, 0x27, 0x01, 0x8d, 0xfb, 0x39, 0x81, 0x9c, - 0xcb, 0x87, 0xb0, 0xc2, 0x75, 0xf1, 0x9d, 0xe9, 0x8d, 0x45, 0x18, 0xe3, 0xae, 0x3a, 0x86, 0xfb, - 0x0e, 0x22, 0x7e, 0x52, 0xf7, 0xbe, 0x33, 0xbd, 0xbd, 0x04, 0xd4, 0xa8, 0xe4, 0x86, 0x72, 0x46, - 0xbf, 0xd5, 0xe0, 0xac, 0xa4, 0x59, 0x7f, 0x6f, 0x7a, 0x9b, 0x22, 0xce, 0xb8, 0x97, 0x0f, 0x27, - 0x11, 0x91, 0xf4, 0x6b, 0x05, 0x22, 0x22, 0x4e, 0x85, 0x48, 0x9a, 0x42, 0x4d, 0x8f, 0x8b, 0xa0, - 0x4f, 0x2b, 0x1c, 0x97, 0x18, 0xa5, 0x72, 0x5c, 0x46, 0x85, 0x69, 0xfd, 0x2f, 0x1a, 0x5c, 0xc8, - 0x52, 0xa5, 0x55, 0xd6, 0x3c, 0xdd, 0x84, 0xf1, 0x78, 0x66, 0x13, 0xd2, 0xaa, 0x49, 0x9a, 0xb4, - 0xc2, 0xaa, 0x89, 0x38, 0x95, 0x55, 0x4b, 0x93, 0xa9, 0xf5, 0x3f, 0x68, 0xa0, 0xa7, 0x88, 0xd4, - 0x0a, 0xeb, 0x30, 0x8a, 0x36, 0xea, 0xb3, 0xa0, 0x39, 0xb5, 0x5f, 0x6b, 0x70, 0x46, 0x94, 0xba, - 0xbf, 0xab, 0x62, 0x95, 0xc3, 0x8c, 0xdd, 0x5c, 0x30, 0xce, 0xe2, 0x1f, 0x1a, 0x5c, 0x1a, 0xa7, - 0x30, 0xef, 0xa9, 0x6e, 0x8a, 0x54, 0x33, 0x46, 0x63, 0x2e, 0x66, 0x38, 0xeb, 0x3f, 0x6a, 0xf0, - 0x46, 0x9a, 0xb2, 0xac, 0x30, 0x19, 0x29, 0x70, 0x63, 0x6f, 0x26, 0x38, 0x67, 0xf7, 0x99, 0x06, - 0x6b, 0x23, 0x22, 0xf4, 0x5d, 0xd5, 0x9b, 0x32, 0xc6, 0x1a, 0xd5, 0xfc, 0x58, 0x79, 0xca, 0x52, - 0x74, 0xe5, 0x5d, 0xa5, 0x90, 0x94, 0x84, 0x2b, 0x4d, 0x59, 0xb6, 0xca, 0x4c, 0xcf, 0x69, 0x8a, - 0xc6, 0xac, 0x70, 0x4e, 0x47, 0xd1, 0x2a, 0xe7, 0x34, 0x5b, 0x88, 0xe6, 0x49, 0x4a, 0xcc, 0x4a, - 0x31, 0x49, 0x89, 0x09, 0xdd, 0xcf, 0x09, 0xe4, 0x5c, 0xfe, 0xaa, 0x41, 0x29, 0x53, 0x7c, 0xae, - 0xaa, 0x44, 0x82, 0x74, 0x1b, 0xc6, 0x0f, 0x66, 0xb7, 0xc1, 0xc9, 0xfe, 0x4b, 0x83, 0xcd, 0x49, - 0x6a, 0xf4, 0x63, 0x65, 0x7f, 0x59, 0xa6, 0x8c, 0x1f, 0xcf, 0xcd, 0x14, 0x1f, 0xc1, 0xdf, 0x35, - 0x30, 0xc6, 0x28, 0xd5, 0x75, 0xb5, 0xbd, 0x9f, 0x6e, 0xc5, 0xf8, 0xe1, 0x3c, 0xac, 0x48, 0x3b, - 0x24, 0x53, 0xc0, 0xae, 0xaa, 0xdf, 0xf0, 0x49, 0x1b, 0x2a, 0x3b, 0x64, 0x92, 0xd6, 0x4d, 0xf3, - 0xde, 0xa4, 0xd0, 0x7d, 0x47, 0x35, 0xd6, 0x71, 0xa8, 0x4a, 0xde, 0x9b, 0xa1, 0x69, 0xeb, 0x27, - 0xb0, 0x1c, 0x09, 0xda, 0xb7, 0x94, 0x2b, 0x0a, 0xe3, 0x8e, 0x32, 0x44, 0x9a, 0x8a, 0xa4, 0xd4, - 0x7d, 0x47, 0x75, 0x47, 0xe7, 0x9a, 0x8a, 0x0c, 0x39, 0x5c, 0xff, 0xb3, 0x06, 0xe7, 0x33, 0xc4, - 0xf0, 0xf7, 0xf3, 0xa4, 0xb1, 0xd2, 0xa6, 0x7f, 0x34, 0xab, 0x05, 0x4e, 0xf3, 0x4f, 0x1a, 0xac, - 0xa7, 0xaa, 0xe3, 0xf7, 0x94, 0x5c, 0x8c, 0xe0, 0x8d, 0x07, 0xb3, 0xe1, 0xa5, 0xfb, 0x43, 0xd6, - 0xca, 0x15, 0xee, 0x0f, 0x09, 0xa8, 0x72, 0x7f, 0xa4, 0x6a, 0xe3, 0x94, 0x8b, 0xac, 0x8c, 0xbf, - 0xa7, 0x9e, 0x5a, 0x84, 0x49, 0xf0, 0xfd, 0x9c, 0x40, 0xce, 0xe5, 0x73, 0x0d, 0xde, 0x4c, 0x97, - 0xd0, 0x55, 0x4c, 0xa7, 0x19, 0x30, 0x1e, 0xce, 0x68, 0x40, 0xe2, 0x98, 0xae, 0x98, 0xdf, 0x57, - 0x39, 0x60, 0x29, 0x06, 0x54, 0x38, 0x8e, 0x95, 0xbe, 0xf5, 0x4f, 0x34, 0x58, 0x4d, 0x08, 0xdf, - 0xb7, 0x55, 0x6c, 0x8b, 0x48, 0xe3, 0xfd, 0xbc, 0x48, 0x4e, 0xe7, 0x6f, 0x1a, 0x5c, 0xcc, 0x56, - 0xc7, 0x6b, 0x2a, 0xf6, 0x33, 0x8c, 0x18, 0x4f, 0xe6, 0x60, 0x44, 0x2e, 0x55, 0x45, 0xa9, 0x5d, - 0xa5, 0x54, 0x15, 0x70, 0x4a, 0xa5, 0x6a, 0x8a, 0x92, 0x4e, 0xd7, 0x31, 0xa1, 0xa3, 0xdf, 0x56, - 0x3a, 0xef, 0x02, 0x52, 0x65, 0x1d, 0xd3, 0x45, 0x77, 0x7a, 0x21, 0x25, 0x25, 0x77, 0x85, 0x0b, - 0x29, 0x01, 0x55, 0xb9, 0x90, 0x32, 0x24, 0x79, 0x5a, 0xc1, 0xa4, 0x09, 0xf2, 0xbb, 0xea, 0x12, - 0x93, 0xc8, 0x6c, 0x6f, 0x26, 0xb8, 0x9c, 0x78, 0x65, 0xc9, 0xf2, 0x55, 0xb5, 0xc0, 0x9d, 0x66, - 0x43, 0x29, 0xf1, 0x9a, 0xa0, 0xcf, 0xd3, 0xa9, 0x4c, 0x53, 0xe7, 0x77, 0x73, 0xfa, 0x60, 0x6a, - 0xcd, 0xde, 0x4c, 0xf0, 0xe4, 0x49, 0x10, 0x95, 0x7a, 0xb5, 0x93, 0x20, 0x20, 0x15, 0x4f, 0x42, - 0x8a, 0xa8, 0x4f, 0xcb, 0xf9, 0x11, 0x49, 0xff, 0xae, 0xb2, 0x59, 0x8e, 0x35, 0xaa, 0xf9, 0xb1, - 0x11, 0xa9, 0x6a, 0xf3, 0x8b, 0x57, 0x1b, 0xda, 0x97, 0xaf, 0x36, 0xb4, 0xff, 0xbe, 0xda, 0xd0, - 0x7e, 0xff, 0x7a, 0x63, 0xe1, 0xcb, 0xd7, 0x1b, 0x0b, 0x5f, 0xbd, 0xde, 0x58, 0xf8, 0xd9, 0x6d, - 0xe1, 0x4f, 0x1e, 0x23, 0x7e, 0xca, 0x35, 0xfe, 0x4f, 0xf8, 0x0f, 0xc4, 0x3f, 0xdc, 0x0f, 0xfb, - 0xc8, 0x6b, 0x2d, 0xd1, 0x3f, 0xbd, 0x7f, 0xe7, 0x7f, 0x01, 0x00, 0x00, 0xff, 0xff, 0x36, 0x0d, - 0x9c, 0xe2, 0x94, 0x2f, 0x00, 0x00, +var xxx_messageInfo_MsgMultiVoteCard proto.InternalMessageInfo + +func (m *MsgMultiVoteCard) GetCreator() string { + if m != nil { + return m.Creator + } + return "" } -// Reference imports to suppress errors if they are not otherwise used. -var _ context.Context -var _ grpc.ClientConn +func (m *MsgMultiVoteCard) GetVotes() []*SingleVote { + if m != nil { + return m.Votes + } + return nil +} -// This is a compile-time assertion to ensure that this generated file -// is compatible with the grpc package it is being compiled against. -const _ = grpc.SupportPackageIsVersion4 +type MsgMultiVoteCardResponse struct { +} + +func (m *MsgMultiVoteCardResponse) Reset() { *m = MsgMultiVoteCardResponse{} } +func (m *MsgMultiVoteCardResponse) String() string { return proto.CompactTextString(m) } +func (*MsgMultiVoteCardResponse) ProtoMessage() {} +func (*MsgMultiVoteCardResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{75} +} +func (m *MsgMultiVoteCardResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgMultiVoteCardResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgMultiVoteCardResponse.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 *MsgMultiVoteCardResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgMultiVoteCardResponse.Merge(m, src) +} +func (m *MsgMultiVoteCardResponse) XXX_Size() int { + return m.Size() +} +func (m *MsgMultiVoteCardResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgMultiVoteCardResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgMultiVoteCardResponse proto.InternalMessageInfo + +type MsgOpenMatch struct { + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + PlayerA string `protobuf:"bytes,2,opt,name=playerA,proto3" json:"playerA,omitempty"` + PlayerB string `protobuf:"bytes,3,opt,name=playerB,proto3" json:"playerB,omitempty"` + PlayerADeck []uint64 `protobuf:"varint,4,rep,packed,name=playerADeck,proto3" json:"playerADeck,omitempty"` + PlayerBDeck []uint64 `protobuf:"varint,5,rep,packed,name=playerBDeck,proto3" json:"playerBDeck,omitempty"` +} + +func (m *MsgOpenMatch) Reset() { *m = MsgOpenMatch{} } +func (m *MsgOpenMatch) String() string { return proto.CompactTextString(m) } +func (*MsgOpenMatch) ProtoMessage() {} +func (*MsgOpenMatch) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{76} +} +func (m *MsgOpenMatch) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgOpenMatch) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgOpenMatch.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 *MsgOpenMatch) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgOpenMatch.Merge(m, src) +} +func (m *MsgOpenMatch) XXX_Size() int { + return m.Size() +} +func (m *MsgOpenMatch) XXX_DiscardUnknown() { + xxx_messageInfo_MsgOpenMatch.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgOpenMatch proto.InternalMessageInfo + +func (m *MsgOpenMatch) GetCreator() string { + if m != nil { + return m.Creator + } + return "" +} + +func (m *MsgOpenMatch) GetPlayerA() string { + if m != nil { + return m.PlayerA + } + return "" +} + +func (m *MsgOpenMatch) GetPlayerB() string { + if m != nil { + return m.PlayerB + } + return "" +} + +func (m *MsgOpenMatch) GetPlayerADeck() []uint64 { + if m != nil { + return m.PlayerADeck + } + return nil +} + +func (m *MsgOpenMatch) GetPlayerBDeck() []uint64 { + if m != nil { + return m.PlayerBDeck + } + return nil +} + +type MsgOpenMatchResponse struct { + MatchId uint64 `protobuf:"varint,1,opt,name=matchId,proto3" json:"matchId,omitempty"` +} + +func (m *MsgOpenMatchResponse) Reset() { *m = MsgOpenMatchResponse{} } +func (m *MsgOpenMatchResponse) String() string { return proto.CompactTextString(m) } +func (*MsgOpenMatchResponse) ProtoMessage() {} +func (*MsgOpenMatchResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{77} +} +func (m *MsgOpenMatchResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgOpenMatchResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgOpenMatchResponse.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 *MsgOpenMatchResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgOpenMatchResponse.Merge(m, src) +} +func (m *MsgOpenMatchResponse) XXX_Size() int { + return m.Size() +} +func (m *MsgOpenMatchResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgOpenMatchResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgOpenMatchResponse proto.InternalMessageInfo + +func (m *MsgOpenMatchResponse) GetMatchId() uint64 { + if m != nil { + return m.MatchId + } + return 0 +} + +type MsgSetSetName struct { + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + SetId uint64 `protobuf:"varint,2,opt,name=setId,proto3" json:"setId,omitempty"` + Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` +} + +func (m *MsgSetSetName) Reset() { *m = MsgSetSetName{} } +func (m *MsgSetSetName) String() string { return proto.CompactTextString(m) } +func (*MsgSetSetName) ProtoMessage() {} +func (*MsgSetSetName) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{78} +} +func (m *MsgSetSetName) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgSetSetName) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgSetSetName.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 *MsgSetSetName) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgSetSetName.Merge(m, src) +} +func (m *MsgSetSetName) XXX_Size() int { + return m.Size() +} +func (m *MsgSetSetName) XXX_DiscardUnknown() { + xxx_messageInfo_MsgSetSetName.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgSetSetName proto.InternalMessageInfo + +func (m *MsgSetSetName) GetCreator() string { + if m != nil { + return m.Creator + } + return "" +} + +func (m *MsgSetSetName) GetSetId() uint64 { + if m != nil { + return m.SetId + } + return 0 +} + +func (m *MsgSetSetName) GetName() string { + if m != nil { + return m.Name + } + return "" +} + +type MsgSetSetNameResponse struct { +} + +func (m *MsgSetSetNameResponse) Reset() { *m = MsgSetSetNameResponse{} } +func (m *MsgSetSetNameResponse) String() string { return proto.CompactTextString(m) } +func (*MsgSetSetNameResponse) ProtoMessage() {} +func (*MsgSetSetNameResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_3b4a3aba0ac94bc8, []int{79} +} +func (m *MsgSetSetNameResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgSetSetNameResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgSetSetNameResponse.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 *MsgSetSetNameResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgSetSetNameResponse.Merge(m, src) +} +func (m *MsgSetSetNameResponse) XXX_Size() int { + return m.Size() +} +func (m *MsgSetSetNameResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgSetSetNameResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgSetSetNameResponse proto.InternalMessageInfo + +func init() { + proto.RegisterType((*MsgCreateuser)(nil), "DecentralCardGame.cardchain.cardchain.MsgCreateuser") + proto.RegisterType((*MsgCreateuserResponse)(nil), "DecentralCardGame.cardchain.cardchain.MsgCreateuserResponse") + proto.RegisterType((*MsgBuyCardScheme)(nil), "DecentralCardGame.cardchain.cardchain.MsgBuyCardScheme") + proto.RegisterType((*MsgBuyCardSchemeResponse)(nil), "DecentralCardGame.cardchain.cardchain.MsgBuyCardSchemeResponse") + proto.RegisterType((*MsgVoteCard)(nil), "DecentralCardGame.cardchain.cardchain.MsgVoteCard") + proto.RegisterType((*MsgVoteCardResponse)(nil), "DecentralCardGame.cardchain.cardchain.MsgVoteCardResponse") + proto.RegisterType((*MsgSaveCardContent)(nil), "DecentralCardGame.cardchain.cardchain.MsgSaveCardContent") + proto.RegisterType((*MsgSaveCardContentResponse)(nil), "DecentralCardGame.cardchain.cardchain.MsgSaveCardContentResponse") + proto.RegisterType((*MsgTransferCard)(nil), "DecentralCardGame.cardchain.cardchain.MsgTransferCard") + proto.RegisterType((*MsgTransferCardResponse)(nil), "DecentralCardGame.cardchain.cardchain.MsgTransferCardResponse") + proto.RegisterType((*MsgDonateToCard)(nil), "DecentralCardGame.cardchain.cardchain.MsgDonateToCard") + proto.RegisterType((*MsgDonateToCardResponse)(nil), "DecentralCardGame.cardchain.cardchain.MsgDonateToCardResponse") + proto.RegisterType((*MsgAddArtwork)(nil), "DecentralCardGame.cardchain.cardchain.MsgAddArtwork") + proto.RegisterType((*MsgAddArtworkResponse)(nil), "DecentralCardGame.cardchain.cardchain.MsgAddArtworkResponse") + proto.RegisterType((*MsgChangeArtist)(nil), "DecentralCardGame.cardchain.cardchain.MsgChangeArtist") + proto.RegisterType((*MsgChangeArtistResponse)(nil), "DecentralCardGame.cardchain.cardchain.MsgChangeArtistResponse") + proto.RegisterType((*MsgRegisterForCouncil)(nil), "DecentralCardGame.cardchain.cardchain.MsgRegisterForCouncil") + proto.RegisterType((*MsgRegisterForCouncilResponse)(nil), "DecentralCardGame.cardchain.cardchain.MsgRegisterForCouncilResponse") + proto.RegisterType((*MsgReportMatch)(nil), "DecentralCardGame.cardchain.cardchain.MsgReportMatch") + proto.RegisterType((*MsgReportMatchResponse)(nil), "DecentralCardGame.cardchain.cardchain.MsgReportMatchResponse") + proto.RegisterType((*MsgApointMatchReporter)(nil), "DecentralCardGame.cardchain.cardchain.MsgApointMatchReporter") + proto.RegisterType((*MsgApointMatchReporterResponse)(nil), "DecentralCardGame.cardchain.cardchain.MsgApointMatchReporterResponse") + proto.RegisterType((*MsgCreateSet)(nil), "DecentralCardGame.cardchain.cardchain.MsgCreateSet") + proto.RegisterType((*MsgCreateSetResponse)(nil), "DecentralCardGame.cardchain.cardchain.MsgCreateSetResponse") + proto.RegisterType((*MsgAddCardToSet)(nil), "DecentralCardGame.cardchain.cardchain.MsgAddCardToSet") + proto.RegisterType((*MsgAddCardToSetResponse)(nil), "DecentralCardGame.cardchain.cardchain.MsgAddCardToSetResponse") + proto.RegisterType((*MsgFinalizeSet)(nil), "DecentralCardGame.cardchain.cardchain.MsgFinalizeSet") + proto.RegisterType((*MsgFinalizeSetResponse)(nil), "DecentralCardGame.cardchain.cardchain.MsgFinalizeSetResponse") + proto.RegisterType((*MsgBuyBoosterPack)(nil), "DecentralCardGame.cardchain.cardchain.MsgBuyBoosterPack") + proto.RegisterType((*MsgBuyBoosterPackResponse)(nil), "DecentralCardGame.cardchain.cardchain.MsgBuyBoosterPackResponse") + proto.RegisterType((*MsgRemoveCardFromSet)(nil), "DecentralCardGame.cardchain.cardchain.MsgRemoveCardFromSet") + proto.RegisterType((*MsgRemoveCardFromSetResponse)(nil), "DecentralCardGame.cardchain.cardchain.MsgRemoveCardFromSetResponse") + proto.RegisterType((*MsgRemoveContributorFromSet)(nil), "DecentralCardGame.cardchain.cardchain.MsgRemoveContributorFromSet") + proto.RegisterType((*MsgRemoveContributorFromSetResponse)(nil), "DecentralCardGame.cardchain.cardchain.MsgRemoveContributorFromSetResponse") + proto.RegisterType((*MsgAddContributorToSet)(nil), "DecentralCardGame.cardchain.cardchain.MsgAddContributorToSet") + proto.RegisterType((*MsgAddContributorToSetResponse)(nil), "DecentralCardGame.cardchain.cardchain.MsgAddContributorToSetResponse") + proto.RegisterType((*MsgCreateSellOffer)(nil), "DecentralCardGame.cardchain.cardchain.MsgCreateSellOffer") + proto.RegisterType((*MsgCreateSellOfferResponse)(nil), "DecentralCardGame.cardchain.cardchain.MsgCreateSellOfferResponse") + proto.RegisterType((*MsgBuyCard)(nil), "DecentralCardGame.cardchain.cardchain.MsgBuyCard") + proto.RegisterType((*MsgBuyCardResponse)(nil), "DecentralCardGame.cardchain.cardchain.MsgBuyCardResponse") + proto.RegisterType((*MsgRemoveSellOffer)(nil), "DecentralCardGame.cardchain.cardchain.MsgRemoveSellOffer") + proto.RegisterType((*MsgRemoveSellOfferResponse)(nil), "DecentralCardGame.cardchain.cardchain.MsgRemoveSellOfferResponse") + proto.RegisterType((*MsgAddArtworkToSet)(nil), "DecentralCardGame.cardchain.cardchain.MsgAddArtworkToSet") + proto.RegisterType((*MsgAddArtworkToSetResponse)(nil), "DecentralCardGame.cardchain.cardchain.MsgAddArtworkToSetResponse") + proto.RegisterType((*MsgAddStoryToSet)(nil), "DecentralCardGame.cardchain.cardchain.MsgAddStoryToSet") + proto.RegisterType((*MsgAddStoryToSetResponse)(nil), "DecentralCardGame.cardchain.cardchain.MsgAddStoryToSetResponse") + proto.RegisterType((*MsgSetCardRarity)(nil), "DecentralCardGame.cardchain.cardchain.MsgSetCardRarity") + proto.RegisterType((*MsgSetCardRarityResponse)(nil), "DecentralCardGame.cardchain.cardchain.MsgSetCardRarityResponse") + proto.RegisterType((*MsgCreateCouncil)(nil), "DecentralCardGame.cardchain.cardchain.MsgCreateCouncil") + proto.RegisterType((*MsgCreateCouncilResponse)(nil), "DecentralCardGame.cardchain.cardchain.MsgCreateCouncilResponse") + proto.RegisterType((*MsgCommitCouncilResponse)(nil), "DecentralCardGame.cardchain.cardchain.MsgCommitCouncilResponse") + proto.RegisterType((*MsgCommitCouncilResponseResponse)(nil), "DecentralCardGame.cardchain.cardchain.MsgCommitCouncilResponseResponse") + proto.RegisterType((*MsgRevealCouncilResponse)(nil), "DecentralCardGame.cardchain.cardchain.MsgRevealCouncilResponse") + proto.RegisterType((*MsgRevealCouncilResponseResponse)(nil), "DecentralCardGame.cardchain.cardchain.MsgRevealCouncilResponseResponse") + proto.RegisterType((*MsgRestartCouncil)(nil), "DecentralCardGame.cardchain.cardchain.MsgRestartCouncil") + proto.RegisterType((*MsgRestartCouncilResponse)(nil), "DecentralCardGame.cardchain.cardchain.MsgRestartCouncilResponse") + proto.RegisterType((*MsgRewokeCouncilRegistration)(nil), "DecentralCardGame.cardchain.cardchain.MsgRewokeCouncilRegistration") + proto.RegisterType((*MsgRewokeCouncilRegistrationResponse)(nil), "DecentralCardGame.cardchain.cardchain.MsgRewokeCouncilRegistrationResponse") + proto.RegisterType((*MsgConfirmMatch)(nil), "DecentralCardGame.cardchain.cardchain.MsgConfirmMatch") + proto.RegisterType((*MsgConfirmMatchResponse)(nil), "DecentralCardGame.cardchain.cardchain.MsgConfirmMatchResponse") + proto.RegisterType((*MsgSetProfileCard)(nil), "DecentralCardGame.cardchain.cardchain.MsgSetProfileCard") + proto.RegisterType((*MsgSetProfileCardResponse)(nil), "DecentralCardGame.cardchain.cardchain.MsgSetProfileCardResponse") + proto.RegisterType((*MsgOpenBoosterPack)(nil), "DecentralCardGame.cardchain.cardchain.MsgOpenBoosterPack") + proto.RegisterType((*MsgOpenBoosterPackResponse)(nil), "DecentralCardGame.cardchain.cardchain.MsgOpenBoosterPackResponse") + proto.RegisterType((*MsgTransferBoosterPack)(nil), "DecentralCardGame.cardchain.cardchain.MsgTransferBoosterPack") + proto.RegisterType((*MsgTransferBoosterPackResponse)(nil), "DecentralCardGame.cardchain.cardchain.MsgTransferBoosterPackResponse") + proto.RegisterType((*MsgSetSetStoryWriter)(nil), "DecentralCardGame.cardchain.cardchain.MsgSetSetStoryWriter") + proto.RegisterType((*MsgSetSetStoryWriterResponse)(nil), "DecentralCardGame.cardchain.cardchain.MsgSetSetStoryWriterResponse") + proto.RegisterType((*MsgSetSetArtist)(nil), "DecentralCardGame.cardchain.cardchain.MsgSetSetArtist") + proto.RegisterType((*MsgSetSetArtistResponse)(nil), "DecentralCardGame.cardchain.cardchain.MsgSetSetArtistResponse") + proto.RegisterType((*MsgSetUserWebsite)(nil), "DecentralCardGame.cardchain.cardchain.MsgSetUserWebsite") + proto.RegisterType((*MsgSetUserWebsiteResponse)(nil), "DecentralCardGame.cardchain.cardchain.MsgSetUserWebsiteResponse") + proto.RegisterType((*MsgSetUserBiography)(nil), "DecentralCardGame.cardchain.cardchain.MsgSetUserBiography") + proto.RegisterType((*MsgSetUserBiographyResponse)(nil), "DecentralCardGame.cardchain.cardchain.MsgSetUserBiographyResponse") + proto.RegisterType((*MsgMultiVoteCard)(nil), "DecentralCardGame.cardchain.cardchain.MsgMultiVoteCard") + proto.RegisterType((*MsgMultiVoteCardResponse)(nil), "DecentralCardGame.cardchain.cardchain.MsgMultiVoteCardResponse") + proto.RegisterType((*MsgOpenMatch)(nil), "DecentralCardGame.cardchain.cardchain.MsgOpenMatch") + proto.RegisterType((*MsgOpenMatchResponse)(nil), "DecentralCardGame.cardchain.cardchain.MsgOpenMatchResponse") + proto.RegisterType((*MsgSetSetName)(nil), "DecentralCardGame.cardchain.cardchain.MsgSetSetName") + proto.RegisterType((*MsgSetSetNameResponse)(nil), "DecentralCardGame.cardchain.cardchain.MsgSetSetNameResponse") +} + +func init() { proto.RegisterFile("cardchain/cardchain/tx.proto", fileDescriptor_3b4a3aba0ac94bc8) } + +var fileDescriptor_3b4a3aba0ac94bc8 = []byte{ + // 2348 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x5a, 0x4f, 0x6f, 0x1b, 0xc7, + 0x15, 0xd7, 0x9a, 0x92, 0x2c, 0x8d, 0x6c, 0x25, 0xd9, 0x28, 0x0e, 0xbd, 0x71, 0x28, 0x75, 0x9b, + 0xa4, 0x3e, 0xb4, 0x64, 0x25, 0xa7, 0xb6, 0x64, 0xd7, 0x75, 0x48, 0xca, 0x56, 0x52, 0x43, 0xb1, + 0x4b, 0x2a, 0x4d, 0xf3, 0x07, 0x2d, 0x96, 0xe4, 0x88, 0x5a, 0x88, 0xdc, 0x61, 0x67, 0x87, 0x52, + 0x14, 0xa0, 0x40, 0x81, 0x02, 0x45, 0x03, 0x04, 0x6d, 0x51, 0xb4, 0x40, 0xd1, 0x5e, 0xdc, 0x43, + 0x2f, 0x01, 0x7a, 0x2b, 0xd0, 0xaf, 0x90, 0x63, 0x4e, 0x45, 0xd1, 0x43, 0x5a, 0xd8, 0x97, 0x7e, + 0x80, 0x7e, 0x80, 0x60, 0xdf, 0xcc, 0xce, 0xce, 0x2c, 0x97, 0x14, 0x67, 0x65, 0xc0, 0x80, 0x39, + 0xb3, 0xf3, 0x7b, 0xef, 0x37, 0x33, 0x6f, 0x66, 0xde, 0xfb, 0x41, 0xe8, 0x4a, 0xdb, 0xa3, 0x9d, + 0xf6, 0x81, 0xe7, 0x07, 0x95, 0xe4, 0x17, 0xfb, 0xa8, 0x3c, 0xa0, 0x84, 0x11, 0xfb, 0xd5, 0x6d, + 0xdc, 0xc6, 0x01, 0xa3, 0x5e, 0xaf, 0xee, 0xd1, 0xce, 0x8e, 0xd7, 0xc7, 0x65, 0x39, 0x2a, 0xf9, + 0xe5, 0xac, 0x74, 0x49, 0x97, 0x00, 0xa2, 0x12, 0xfd, 0xe2, 0x60, 0xe7, 0x6b, 0x59, 0xa6, 0xdb, + 0x64, 0x18, 0xb4, 0xfd, 0x9e, 0x18, 0xb2, 0x9a, 0x35, 0xa4, 0xef, 0xb1, 0xf6, 0x81, 0x18, 0xb0, + 0x96, 0x35, 0xe0, 0x88, 0x30, 0x3f, 0xe8, 0x8a, 0x11, 0xa5, 0x4c, 0x2f, 0x1e, 0xed, 0xc8, 0xef, + 0x24, 0xec, 0x93, 0xb0, 0xd2, 0xf2, 0x42, 0x5c, 0x39, 0x5a, 0x6f, 0x61, 0xe6, 0xad, 0x57, 0xda, + 0xc4, 0x0f, 0xf8, 0x77, 0xf7, 0x3d, 0x74, 0x71, 0x37, 0xec, 0xd6, 0x29, 0xf6, 0x18, 0x1e, 0x86, + 0x98, 0xda, 0x45, 0x74, 0xbe, 0x1d, 0xb5, 0x08, 0x2d, 0x5a, 0x6b, 0xd6, 0xd5, 0xc5, 0x46, 0xdc, + 0x8c, 0xbe, 0x04, 0xf8, 0xf8, 0x9d, 0x10, 0xd3, 0xe2, 0x39, 0xfe, 0x45, 0x34, 0xed, 0x15, 0x34, + 0xe7, 0xf5, 0x7c, 0x2f, 0x2c, 0x16, 0xa0, 0x9f, 0x37, 0xdc, 0x17, 0xd1, 0x0b, 0x9a, 0xe9, 0x06, + 0x0e, 0x07, 0x24, 0x08, 0xb1, 0xfb, 0x7b, 0x0b, 0x3d, 0xbb, 0x1b, 0x76, 0x6b, 0xc3, 0x93, 0x68, + 0x59, 0x9b, 0xed, 0x03, 0xdc, 0xc7, 0x13, 0xfc, 0x7e, 0x88, 0x0a, 0x2d, 0xbf, 0x03, 0x3e, 0x97, + 0x36, 0x2e, 0x97, 0xf9, 0x84, 0xca, 0xd1, 0x84, 0xca, 0x62, 0x42, 0xe5, 0x3a, 0xf1, 0x83, 0x5a, + 0xe5, 0xf3, 0x2f, 0x57, 0x67, 0x3e, 0xfb, 0xcf, 0xea, 0x37, 0xba, 0x3e, 0x3b, 0x18, 0xb6, 0xca, + 0x6d, 0xd2, 0xaf, 0x88, 0xd9, 0xf3, 0xff, 0xbe, 0x15, 0x76, 0x0e, 0x2b, 0xec, 0x64, 0x80, 0x43, + 0x00, 0x34, 0x22, 0xb3, 0x37, 0x17, 0x7e, 0xf5, 0x68, 0x75, 0xe6, 0x7f, 0x8f, 0x56, 0x67, 0xdc, + 0x0d, 0x54, 0x4c, 0xb3, 0x8a, 0x29, 0xdb, 0x97, 0xd0, 0x7c, 0xb4, 0xa8, 0x6f, 0x75, 0x80, 0xdc, + 0x6c, 0x43, 0xb4, 0xdc, 0x0f, 0xd0, 0xd2, 0x6e, 0xd8, 0xfd, 0x21, 0x61, 0x38, 0x02, 0x4d, 0x98, + 0x44, 0x62, 0xe0, 0x9c, 0x6a, 0xc0, 0x76, 0xd0, 0xc2, 0x11, 0x61, 0x78, 0xef, 0x64, 0x80, 0xc5, + 0xea, 0xc9, 0xb6, 0x7b, 0x1b, 0x3d, 0xaf, 0x18, 0x97, 0x5c, 0x5e, 0x43, 0xcb, 0x9e, 0x4f, 0x3b, + 0x94, 0x0c, 0xea, 0x3d, 0xcf, 0xef, 0x63, 0xce, 0x69, 0xa1, 0x91, 0xea, 0x75, 0xff, 0x6e, 0x21, + 0x7b, 0x37, 0xec, 0x36, 0xbd, 0x23, 0xc0, 0xd7, 0x49, 0xc0, 0x70, 0xc0, 0x72, 0x70, 0x8c, 0x10, + 0x1c, 0x0c, 0x14, 0x2f, 0x34, 0xe2, 0x66, 0xb4, 0xf1, 0x01, 0x61, 0x38, 0x2c, 0xce, 0xf2, 0x8d, + 0x87, 0x46, 0x64, 0xc7, 0xa3, 0xcc, 0x0f, 0x59, 0x71, 0x0e, 0xba, 0x45, 0xcb, 0x7e, 0x05, 0x5d, + 0x6c, 0x79, 0x3d, 0x2f, 0x68, 0xe3, 0x6a, 0xd0, 0x3e, 0x20, 0xb4, 0x38, 0x0f, 0xbc, 0xf5, 0x4e, + 0x77, 0x1b, 0x39, 0xa3, 0xac, 0x8d, 0x27, 0xff, 0x13, 0xf4, 0xcc, 0x6e, 0xd8, 0xdd, 0xa3, 0x5e, + 0x10, 0xee, 0x63, 0x9a, 0x7f, 0x73, 0x28, 0x6e, 0x63, 0xff, 0x08, 0x53, 0x31, 0x43, 0xd9, 0x76, + 0x2f, 0xa3, 0x17, 0x53, 0x0e, 0x64, 0x7c, 0x7f, 0x6a, 0x81, 0xf3, 0x6d, 0x12, 0x78, 0x0c, 0xef, + 0x91, 0x9c, 0xce, 0x77, 0xd0, 0xbc, 0xd7, 0x27, 0x43, 0xb1, 0xe8, 0x8b, 0x3c, 0xbc, 0xff, 0xfd, + 0xe5, 0xf4, 0xe1, 0x2d, 0xe0, 0x82, 0xa9, 0xca, 0x46, 0x32, 0xfd, 0x29, 0x9c, 0xfe, 0x6a, 0xa7, + 0x53, 0xa5, 0xec, 0x98, 0xd0, 0xc3, 0x1c, 0x34, 0x57, 0xd0, 0x9c, 0xdf, 0xf7, 0xba, 0x58, 0x84, + 0x06, 0x6f, 0x44, 0x76, 0xf6, 0x87, 0xbd, 0x5e, 0x95, 0x32, 0x58, 0xb8, 0x85, 0x46, 0xdc, 0x14, + 0xb7, 0x42, 0xe2, 0x52, 0x72, 0xf9, 0x00, 0x16, 0xad, 0x7e, 0xe0, 0x05, 0x5d, 0x5c, 0xe5, 0x01, + 0x73, 0x3a, 0x9b, 0x6d, 0x8d, 0xcd, 0xb6, 0x12, 0x7a, 0x05, 0x35, 0xf4, 0xc4, 0x1a, 0xa8, 0xc6, + 0xa5, 0xdf, 0x75, 0x20, 0xd4, 0xc0, 0x5d, 0x3f, 0x64, 0x98, 0xde, 0x23, 0xb4, 0xce, 0xef, 0xe8, + 0xf1, 0xde, 0xdd, 0x55, 0xf4, 0x72, 0x26, 0x44, 0xda, 0xfc, 0xa7, 0x85, 0x96, 0x61, 0xc4, 0x80, + 0x50, 0xb6, 0x1b, 0x5d, 0xe8, 0x93, 0xef, 0x55, 0xb8, 0xf3, 0xe5, 0xd2, 0xc6, 0x4d, 0xdb, 0x45, + 0x17, 0x06, 0x3d, 0xef, 0x04, 0x77, 0xa2, 0x4d, 0x0b, 0xab, 0xc5, 0xc2, 0x5a, 0xe1, 0xea, 0x6c, + 0x43, 0xeb, 0x4b, 0x8d, 0xa9, 0x15, 0x67, 0x47, 0xc6, 0xd4, 0xec, 0x37, 0xd1, 0x79, 0x32, 0x64, + 0x6d, 0xd2, 0xc7, 0x70, 0x22, 0x97, 0x37, 0xca, 0xe5, 0xa9, 0x5e, 0xb6, 0xf2, 0x03, 0x8e, 0x6a, + 0xc4, 0x70, 0x77, 0x03, 0x5d, 0xd2, 0xe7, 0x25, 0x0f, 0xa6, 0x32, 0x0b, 0x4b, 0x9b, 0x85, 0xfb, + 0x36, 0x60, 0xaa, 0x03, 0xe2, 0x07, 0x31, 0x26, 0x82, 0x4f, 0x7c, 0x6b, 0xe0, 0xe4, 0xf1, 0x51, + 0xe2, 0xb1, 0x91, 0x6d, 0x77, 0x0d, 0x95, 0xb2, 0xed, 0xc9, 0xe5, 0xff, 0x93, 0x85, 0x2e, 0xc8, + 0xa7, 0xa7, 0x89, 0x27, 0x05, 0x92, 0x8d, 0x66, 0x03, 0xaf, 0x8f, 0x85, 0x13, 0xf8, 0x3d, 0x2e, + 0x88, 0xec, 0x35, 0xb4, 0x14, 0x32, 0x42, 0x4f, 0xde, 0xa5, 0x3e, 0x93, 0x37, 0x82, 0xda, 0x15, + 0x6d, 0x46, 0x74, 0x35, 0x52, 0xbf, 0x35, 0x64, 0x84, 0x86, 0xc5, 0xb9, 0xb5, 0xc2, 0xd5, 0xc5, + 0x86, 0xd6, 0xe7, 0x5e, 0x42, 0x2b, 0x2a, 0x37, 0x49, 0xfa, 0x3d, 0x88, 0xff, 0x6a, 0x07, 0x36, + 0x6d, 0x8f, 0x4c, 0xa6, 0xbd, 0x82, 0xe6, 0x42, 0xcc, 0x64, 0xc4, 0xf0, 0x86, 0x72, 0x46, 0x0b, + 0xda, 0x2b, 0xc5, 0xa3, 0x5f, 0x35, 0x2d, 0xbd, 0xbe, 0x01, 0x81, 0x7a, 0xcf, 0x0f, 0xbc, 0x9e, + 0xff, 0x31, 0xce, 0xe1, 0xd4, 0x2d, 0xc2, 0xf6, 0x2a, 0x16, 0xa4, 0xed, 0x3a, 0x7a, 0x8e, 0x3f, + 0xa8, 0x35, 0x42, 0xa2, 0x83, 0xf2, 0xd0, 0x6b, 0x1f, 0x1a, 0x9b, 0xaf, 0xa3, 0xcb, 0x23, 0x46, + 0x8c, 0x5f, 0x83, 0x1f, 0xc3, 0x9a, 0x37, 0x70, 0x9f, 0xf0, 0x57, 0xe5, 0x1e, 0x25, 0xfd, 0xa7, + 0xb9, 0xc0, 0x25, 0x74, 0x25, 0xcb, 0xbe, 0x5c, 0x09, 0x0f, 0xbd, 0x94, 0x7c, 0x4f, 0x82, 0x21, + 0x2f, 0x0d, 0x1b, 0xcd, 0x46, 0x09, 0x95, 0x08, 0x4f, 0xf8, 0xed, 0xbe, 0x8a, 0xbe, 0x3e, 0xc1, + 0x85, 0x64, 0xf2, 0x21, 0x3f, 0x8c, 0x9d, 0x8e, 0x32, 0x26, 0x5f, 0xb0, 0x65, 0x91, 0x10, 0x47, + 0x73, 0xd4, 0xba, 0xf4, 0xff, 0x09, 0x4f, 0x4a, 0xe2, 0xf0, 0xef, 0xf5, 0x1e, 0xec, 0xef, 0x4f, + 0xbc, 0x09, 0x6c, 0x34, 0x1b, 0x2d, 0xb2, 0xf0, 0x0d, 0xbf, 0xed, 0xbb, 0x68, 0x6e, 0x40, 0xfd, + 0x36, 0xce, 0xfb, 0x32, 0x72, 0xb4, 0x7b, 0x05, 0x32, 0x8d, 0x14, 0x15, 0xc9, 0xf4, 0x4d, 0x84, + 0x92, 0x74, 0x70, 0x02, 0xc1, 0xe8, 0x56, 0x88, 0xc1, 0x72, 0x8d, 0xd4, 0x2e, 0x77, 0x05, 0xa6, + 0x2c, 0x2c, 0x49, 0xfb, 0x0f, 0xa1, 0x97, 0x6f, 0xd8, 0x34, 0x0b, 0x71, 0xba, 0x1f, 0x3e, 0x9f, + 0x94, 0x45, 0xe9, 0xef, 0x7d, 0xf0, 0x97, 0x3c, 0xbc, 0xf9, 0x76, 0x3d, 0xf3, 0xb9, 0x17, 0x9e, + 0x53, 0xb6, 0xa5, 0xe7, 0x1f, 0x41, 0xba, 0x5f, 0xed, 0x74, 0x9a, 0xd1, 0x55, 0x99, 0xdb, 0x2f, + 0x5c, 0xb4, 0x71, 0x89, 0x01, 0x0d, 0xd7, 0x81, 0x94, 0x5d, 0xb3, 0x2c, 0xbd, 0xfe, 0x95, 0x57, + 0x19, 0x4d, 0xcc, 0x60, 0xd9, 0x3d, 0xea, 0xb3, 0x93, 0x7c, 0xf9, 0x0d, 0xa7, 0x53, 0x50, 0xe9, + 0xbc, 0x85, 0xe6, 0x29, 0x58, 0x84, 0x57, 0x60, 0x79, 0x63, 0x7d, 0xca, 0x07, 0x35, 0xa1, 0xd2, + 0x10, 0x06, 0xc4, 0x1c, 0x34, 0x9a, 0x72, 0x0e, 0xdb, 0x30, 0x05, 0x1e, 0xa1, 0xa7, 0xa6, 0x25, + 0xe3, 0xa6, 0x20, 0x3c, 0x68, 0x56, 0xa4, 0x87, 0x5f, 0x5b, 0xfc, 0x23, 0xe9, 0xf7, 0x7d, 0x96, + 0xfa, 0x78, 0xda, 0xfb, 0xcc, 0x47, 0x25, 0xef, 0xb3, 0x40, 0x5d, 0x41, 0x8b, 0xa2, 0xcc, 0x95, + 0xab, 0x96, 0x74, 0xd8, 0x25, 0x84, 0xc2, 0x61, 0xb7, 0x8b, 0x43, 0xe6, 0x93, 0x40, 0xbc, 0xa1, + 0x4a, 0x8f, 0xeb, 0xa2, 0xb5, 0x71, 0x7c, 0x24, 0xe9, 0x7f, 0x70, 0xd2, 0x0d, 0x7c, 0x84, 0xbd, + 0xde, 0xf4, 0xa4, 0xef, 0xa7, 0x48, 0x2f, 0x6f, 0x54, 0xa6, 0xdc, 0x36, 0xc9, 0x20, 0x99, 0xe5, + 0x25, 0x34, 0x1f, 0xe2, 0x36, 0xc5, 0x32, 0x49, 0xe0, 0x2d, 0x7d, 0xf6, 0xb3, 0xa9, 0xd9, 0x8b, + 0xd9, 0x65, 0x12, 0x97, 0xb3, 0xbb, 0x0f, 0xcf, 0x66, 0x03, 0x87, 0xcc, 0xa3, 0xec, 0xf4, 0x5d, + 0xd7, 0x1c, 0x9e, 0x4b, 0x3b, 0x7c, 0x09, 0x9e, 0x4f, 0xdd, 0x98, 0xf4, 0xb4, 0x29, 0x9e, 0xad, + 0x63, 0x72, 0x98, 0x04, 0x46, 0x94, 0xd4, 0x52, 0x2f, 0xda, 0x8b, 0x09, 0x19, 0xf0, 0x6b, 0xe8, + 0x95, 0x49, 0x48, 0xe9, 0xe1, 0x31, 0x2f, 0x85, 0xea, 0x24, 0xd8, 0xf7, 0x69, 0x3f, 0x7f, 0x26, + 0xac, 0x64, 0xb0, 0x85, 0x33, 0x65, 0xb0, 0xf6, 0x0f, 0x10, 0x8a, 0x0a, 0x6c, 0x9e, 0x1a, 0x43, + 0xb6, 0xbc, 0x34, 0xf5, 0xe9, 0x6d, 0xfa, 0x41, 0xb7, 0x87, 0xa3, 0x82, 0xbc, 0xa1, 0x18, 0x89, + 0x8b, 0x0b, 0x65, 0x8e, 0x72, 0xfe, 0x77, 0x61, 0x2f, 0x9b, 0x98, 0x3d, 0xa4, 0x64, 0xdf, 0xef, + 0xe5, 0x54, 0x09, 0xc4, 0x2e, 0xea, 0x66, 0xa4, 0x8f, 0x3d, 0xb8, 0xd8, 0x1f, 0x0c, 0x70, 0x30, + 0x5d, 0x9e, 0x15, 0x95, 0xe1, 0xc9, 0x40, 0xe9, 0x4b, 0xef, 0x74, 0xaf, 0xc3, 0x95, 0x9e, 0xb2, + 0xaa, 0x1d, 0x32, 0xa0, 0x16, 0x16, 0x2d, 0x28, 0x38, 0xe2, 0xa6, 0xcb, 0x20, 0xc1, 0x88, 0xeb, + 0xe2, 0xa7, 0xc8, 0x48, 0xab, 0xc6, 0x0b, 0xa9, 0x6a, 0x9c, 0x27, 0x1e, 0x19, 0x5e, 0xe5, 0x2a, + 0x1d, 0x40, 0x0a, 0xd8, 0xc4, 0x2c, 0xfa, 0xa7, 0xa4, 0xec, 0xa6, 0x0f, 0x51, 0xaa, 0x08, 0x28, + 0x8c, 0x14, 0x01, 0x22, 0x19, 0x1c, 0xf1, 0x94, 0x4a, 0xf4, 0xf9, 0xf7, 0x53, 0x0b, 0xdd, 0xb1, + 0x79, 0xe8, 0x84, 0x32, 0x57, 0x35, 0x2d, 0xbd, 0xee, 0xc4, 0x91, 0xf8, 0x4e, 0x88, 0xe9, 0xbb, + 0xb8, 0x15, 0xfa, 0x0c, 0x4f, 0x3e, 0x8a, 0xc7, 0x7c, 0x50, 0x2c, 0xf6, 0x89, 0x66, 0x12, 0x8b, + 0x8a, 0x21, 0xe9, 0x65, 0x17, 0x24, 0x2b, 0xf1, 0xb1, 0xe6, 0x93, 0x2e, 0xf5, 0x06, 0x07, 0x27, + 0x93, 0x6f, 0xaf, 0x56, 0x3c, 0x4c, 0x78, 0x4a, 0x3a, 0xdc, 0x97, 0x21, 0x6f, 0x4e, 0x9b, 0x93, + 0xde, 0x86, 0xf0, 0x3c, 0xee, 0x0e, 0x7b, 0xcc, 0x9f, 0x42, 0x82, 0xdb, 0x41, 0x73, 0x47, 0x20, + 0x56, 0x9d, 0xcb, 0x7b, 0xe8, 0x39, 0x5e, 0xbc, 0xa7, 0x9a, 0x5b, 0x49, 0xe9, 0x11, 0x2f, 0x3d, + 0xa3, 0x73, 0x33, 0xc5, 0x6d, 0x07, 0x55, 0x3a, 0xad, 0xc6, 0x4b, 0x2c, 0x9a, 0xc9, 0x97, 0x9a, + 0xd8, 0xdf, 0xb8, 0x19, 0x45, 0x9f, 0x18, 0xb4, 0x8d, 0xdb, 0x87, 0xa2, 0xd8, 0x57, 0xbb, 0x92, + 0x11, 0x35, 0x18, 0x31, 0xa7, 0x8e, 0x80, 0x2e, 0xf7, 0xdb, 0x70, 0x12, 0x24, 0xc3, 0x29, 0x2a, + 0xf8, 0x26, 0xc8, 0x44, 0x3c, 0xac, 0xde, 0xf6, 0x26, 0x8a, 0xb5, 0x63, 0x6b, 0x05, 0xa8, 0xb2, + 0x0b, 0x49, 0x95, 0x2d, 0x84, 0xa0, 0xc4, 0x68, 0xcc, 0x63, 0xe3, 0xff, 0xdf, 0x44, 0x85, 0xdd, + 0xb0, 0x6b, 0xff, 0xdc, 0x42, 0x48, 0x11, 0xa6, 0x5f, 0x9f, 0x72, 0xbf, 0x34, 0xcd, 0xd9, 0xf9, + 0x6e, 0x1e, 0x94, 0x5c, 0x92, 0x4f, 0x2c, 0x74, 0x51, 0x97, 0xa9, 0x6f, 0x4c, 0x6f, 0x4f, 0x03, + 0x3a, 0x77, 0x72, 0x02, 0x25, 0x97, 0x8f, 0xd1, 0x82, 0x0c, 0xf2, 0x8d, 0xe9, 0x8d, 0xc5, 0x18, + 0xe7, 0xa6, 0x39, 0x46, 0xfa, 0xfe, 0x8d, 0x85, 0x9e, 0x49, 0xeb, 0xc8, 0x5b, 0xd3, 0xdb, 0x4b, + 0x41, 0x9d, 0x6a, 0x6e, 0xa8, 0x64, 0xf4, 0x4b, 0x0b, 0x5d, 0xd0, 0xd4, 0xdd, 0xeb, 0xd3, 0xdb, + 0x54, 0x71, 0xce, 0xf7, 0xf2, 0xe1, 0x34, 0x22, 0x9a, 0xd2, 0x6b, 0x40, 0x44, 0xc5, 0x99, 0x10, + 0xc9, 0xd2, 0x72, 0xe1, 0xb8, 0x28, 0x4a, 0xae, 0xc1, 0x71, 0x49, 0x50, 0x26, 0xc7, 0x65, 0x54, + 0xc2, 0x85, 0xb5, 0xd0, 0x04, 0x5c, 0x83, 0xb5, 0x50, 0x71, 0x26, 0x6b, 0x91, 0xa5, 0xe9, 0xda, + 0x7f, 0xb4, 0x90, 0x9d, 0xa1, 0xe8, 0x1a, 0xcc, 0x6e, 0x14, 0xed, 0x6c, 0x9f, 0x05, 0x2d, 0xa9, + 0xfd, 0xc2, 0x42, 0x4b, 0xaa, 0x2e, 0xfc, 0x1d, 0x13, 0xab, 0x12, 0xe6, 0xdc, 0xce, 0x05, 0x93, + 0x2c, 0xfe, 0x6c, 0xa1, 0xe7, 0xb3, 0x14, 0x59, 0x03, 0xb3, 0x19, 0x70, 0xe7, 0xee, 0x99, 0xe0, + 0x92, 0xdd, 0xcf, 0xd0, 0x62, 0xa2, 0xdd, 0x5e, 0x33, 0xbd, 0xc1, 0x9b, 0x98, 0x39, 0xb7, 0x72, + 0x80, 0xb4, 0x30, 0xd6, 0x74, 0xd8, 0xeb, 0x46, 0xa7, 0x42, 0xe2, 0x4c, 0xc2, 0x38, 0x4b, 0x9c, + 0x85, 0x58, 0x51, 0xa5, 0x59, 0x83, 0x58, 0x51, 0x60, 0x26, 0xb1, 0x92, 0x21, 0xe3, 0xda, 0x9f, + 0x5a, 0x68, 0x39, 0x25, 0xe2, 0x6e, 0x1a, 0x3d, 0x66, 0x0a, 0xd2, 0x79, 0x23, 0x2f, 0x52, 0xd2, + 0xf9, 0x83, 0x85, 0x9e, 0x1b, 0x55, 0x72, 0x6f, 0x99, 0x9c, 0x87, 0x14, 0xd8, 0xa9, 0x9f, 0x01, + 0x2c, 0x79, 0x7d, 0x66, 0xa1, 0xe2, 0x58, 0x85, 0xb7, 0x66, 0xec, 0x61, 0xc4, 0x86, 0xf3, 0xfd, + 0xb3, 0xdb, 0xd0, 0xcf, 0x7f, 0x86, 0x08, 0x7c, 0xdb, 0x2c, 0x62, 0x53, 0x70, 0xa3, 0xf3, 0x3f, + 0x5e, 0x24, 0x86, 0x74, 0x23, 0xad, 0x10, 0x6f, 0x99, 0x9f, 0x68, 0x01, 0x35, 0x49, 0x37, 0xc6, + 0x88, 0xc1, 0xf6, 0x31, 0x3a, 0x1f, 0x2b, 0xc1, 0xeb, 0xc6, 0x89, 0x9c, 0xb3, 0x65, 0x0c, 0xd1, + 0x96, 0x22, 0xad, 0x11, 0x6f, 0x99, 0x06, 0x42, 0xae, 0xa5, 0x18, 0xa3, 0x23, 0x03, 0xa3, 0xb4, + 0x8a, 0xbc, 0x95, 0x27, 0x6d, 0xe0, 0x21, 0x53, 0xcd, 0x0d, 0xd5, 0xb2, 0x74, 0x5d, 0x5d, 0xbe, + 0x61, 0x64, 0x34, 0x01, 0x9a, 0x64, 0xe9, 0x99, 0xaa, 0x33, 0x70, 0xd1, 0x25, 0x67, 0x03, 0x2e, + 0x1a, 0xd0, 0x84, 0x4b, 0xa6, 0x7a, 0x0c, 0x5c, 0x74, 0xed, 0xf8, 0x86, 0xe9, 0x49, 0x88, 0x73, + 0x9f, 0x3b, 0x39, 0x81, 0x92, 0xcb, 0x5f, 0x2c, 0xf4, 0x42, 0xb6, 0xc8, 0x6c, 0x62, 0x3a, 0xcb, + 0x80, 0xb3, 0x73, 0x46, 0x03, 0x1a, 0xc7, 0x6c, 0x4d, 0xf9, 0x8e, 0xc9, 0xb1, 0xc9, 0x30, 0x60, + 0xc2, 0x71, 0xa2, 0x38, 0x0c, 0x8f, 0x71, 0x4a, 0x1a, 0xde, 0x34, 0xb1, 0xad, 0x22, 0x4d, 0x1e, + 0xe3, 0x6c, 0x05, 0xd9, 0xfe, 0x9b, 0x85, 0x2e, 0x8f, 0xd7, 0x8f, 0x8d, 0xde, 0xd5, 0x31, 0x46, + 0x9c, 0xfb, 0x4f, 0xc1, 0x88, 0x5e, 0xa1, 0xa8, 0x62, 0xb4, 0x49, 0x85, 0xa2, 0xe0, 0x8c, 0x2a, + 0x94, 0x0c, 0x61, 0x18, 0xf6, 0x31, 0x25, 0x0b, 0x6f, 0x1a, 0x9d, 0x77, 0x05, 0x69, 0xb2, 0x8f, + 0xd9, 0x1a, 0x32, 0x5c, 0xea, 0x69, 0x05, 0xd9, 0xe0, 0x52, 0x4f, 0x41, 0x4d, 0x2e, 0xf5, 0x71, + 0x0a, 0x73, 0x94, 0xa1, 0x64, 0xa9, 0xc8, 0xb7, 0xcd, 0xeb, 0x75, 0x95, 0xd9, 0xdd, 0x33, 0xc1, + 0xb5, 0x24, 0x74, 0x54, 0x4b, 0xbe, 0x65, 0xb4, 0x0f, 0x3a, 0xd8, 0x24, 0x09, 0x1d, 0xab, 0x2d, + 0x43, 0x7c, 0x6b, 0xca, 0xf2, 0x75, 0x53, 0xab, 0xe6, 0x15, 0x78, 0x96, 0xdc, 0x1c, 0xc7, 0xb7, + 0x2a, 0x36, 0x9b, 0xc5, 0xb7, 0x82, 0x34, 0x8c, 0xef, 0x0c, 0x5d, 0xda, 0xfe, 0x9d, 0x85, 0x9e, + 0x1d, 0x51, 0xa5, 0x6f, 0x1a, 0x9b, 0x95, 0x58, 0xa7, 0x96, 0x1f, 0xab, 0xbd, 0xcf, 0xba, 0x78, + 0x6d, 0xf0, 0x3e, 0x6b, 0x40, 0x93, 0xf7, 0x39, 0x53, 0xb7, 0x8e, 0x4a, 0xee, 0x44, 0xb3, 0xbe, + 0x66, 0x76, 0x7c, 0xf9, 0x8d, 0x78, 0x2b, 0x07, 0x48, 0x13, 0xaf, 0x14, 0x7d, 0xf9, 0x75, 0xd3, + 0xe8, 0x8b, 0x50, 0x26, 0xe2, 0xd5, 0xa8, 0xec, 0x5c, 0x6b, 0x7c, 0xfe, 0xb8, 0x64, 0x7d, 0xf1, + 0xb8, 0x64, 0xfd, 0xf7, 0x71, 0xc9, 0xfa, 0xed, 0x93, 0xd2, 0xcc, 0x17, 0x4f, 0x4a, 0x33, 0xff, + 0x7a, 0x52, 0x9a, 0x79, 0x7f, 0x53, 0xf9, 0xbb, 0x92, 0x11, 0x0f, 0x95, 0xba, 0xfc, 0xb3, 0xeb, + 0x8f, 0xd4, 0xbf, 0x21, 0x3f, 0x19, 0xe0, 0xb0, 0x35, 0x0f, 0x7f, 0x64, 0x7d, 0xed, 0xab, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xa7, 0x6b, 0xff, 0xa6, 0x67, 0x2e, 0x00, 0x00, +} + +// Reference imports to suppress errors if they are not otherwise used. +var _ context.Context +var _ grpc.ClientConn + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +const _ = grpc.SupportPackageIsVersion4 // MsgClient is the client API for Msg service. // @@ -4149,25 +4133,22 @@ type MsgClient interface { TransferCard(ctx context.Context, in *MsgTransferCard, opts ...grpc.CallOption) (*MsgTransferCardResponse, error) DonateToCard(ctx context.Context, in *MsgDonateToCard, opts ...grpc.CallOption) (*MsgDonateToCardResponse, error) AddArtwork(ctx context.Context, in *MsgAddArtwork, opts ...grpc.CallOption) (*MsgAddArtworkResponse, error) - SubmitCopyrightProposal(ctx context.Context, in *MsgSubmitCopyrightProposal, opts ...grpc.CallOption) (*MsgSubmitCopyrightProposalResponse, error) ChangeArtist(ctx context.Context, in *MsgChangeArtist, opts ...grpc.CallOption) (*MsgChangeArtistResponse, error) RegisterForCouncil(ctx context.Context, in *MsgRegisterForCouncil, opts ...grpc.CallOption) (*MsgRegisterForCouncilResponse, error) ReportMatch(ctx context.Context, in *MsgReportMatch, opts ...grpc.CallOption) (*MsgReportMatchResponse, error) - SubmitMatchReporterProposal(ctx context.Context, in *MsgSubmitMatchReporterProposal, opts ...grpc.CallOption) (*MsgSubmitMatchReporterProposalResponse, error) ApointMatchReporter(ctx context.Context, in *MsgApointMatchReporter, opts ...grpc.CallOption) (*MsgApointMatchReporterResponse, error) - CreateCollection(ctx context.Context, in *MsgCreateCollection, opts ...grpc.CallOption) (*MsgCreateCollectionResponse, error) - AddCardToCollection(ctx context.Context, in *MsgAddCardToCollection, opts ...grpc.CallOption) (*MsgAddCardToCollectionResponse, error) - FinalizeCollection(ctx context.Context, in *MsgFinalizeCollection, opts ...grpc.CallOption) (*MsgFinalizeCollectionResponse, error) - BuyCollection(ctx context.Context, in *MsgBuyCollection, opts ...grpc.CallOption) (*MsgBuyCollectionResponse, error) - RemoveCardFromCollection(ctx context.Context, in *MsgRemoveCardFromCollection, opts ...grpc.CallOption) (*MsgRemoveCardFromCollectionResponse, error) - RemoveContributorFromCollection(ctx context.Context, in *MsgRemoveContributorFromCollection, opts ...grpc.CallOption) (*MsgRemoveContributorFromCollectionResponse, error) - AddContributorToCollection(ctx context.Context, in *MsgAddContributorToCollection, opts ...grpc.CallOption) (*MsgAddContributorToCollectionResponse, error) - SubmitCollectionProposal(ctx context.Context, in *MsgSubmitCollectionProposal, opts ...grpc.CallOption) (*MsgSubmitCollectionProposalResponse, error) + CreateSet(ctx context.Context, in *MsgCreateSet, opts ...grpc.CallOption) (*MsgCreateSetResponse, error) + AddCardToSet(ctx context.Context, in *MsgAddCardToSet, opts ...grpc.CallOption) (*MsgAddCardToSetResponse, error) + FinalizeSet(ctx context.Context, in *MsgFinalizeSet, opts ...grpc.CallOption) (*MsgFinalizeSetResponse, error) + BuyBoosterPack(ctx context.Context, in *MsgBuyBoosterPack, opts ...grpc.CallOption) (*MsgBuyBoosterPackResponse, error) + RemoveCardFromSet(ctx context.Context, in *MsgRemoveCardFromSet, opts ...grpc.CallOption) (*MsgRemoveCardFromSetResponse, error) + RemoveContributorFromSet(ctx context.Context, in *MsgRemoveContributorFromSet, opts ...grpc.CallOption) (*MsgRemoveContributorFromSetResponse, error) + AddContributorToSet(ctx context.Context, in *MsgAddContributorToSet, opts ...grpc.CallOption) (*MsgAddContributorToSetResponse, error) CreateSellOffer(ctx context.Context, in *MsgCreateSellOffer, opts ...grpc.CallOption) (*MsgCreateSellOfferResponse, error) BuyCard(ctx context.Context, in *MsgBuyCard, opts ...grpc.CallOption) (*MsgBuyCardResponse, error) RemoveSellOffer(ctx context.Context, in *MsgRemoveSellOffer, opts ...grpc.CallOption) (*MsgRemoveSellOfferResponse, error) - AddArtworkToCollection(ctx context.Context, in *MsgAddArtworkToCollection, opts ...grpc.CallOption) (*MsgAddArtworkToCollectionResponse, error) - AddStoryToCollection(ctx context.Context, in *MsgAddStoryToCollection, opts ...grpc.CallOption) (*MsgAddStoryToCollectionResponse, error) + AddArtworkToSet(ctx context.Context, in *MsgAddArtworkToSet, opts ...grpc.CallOption) (*MsgAddArtworkToSetResponse, error) + AddStoryToSet(ctx context.Context, in *MsgAddStoryToSet, opts ...grpc.CallOption) (*MsgAddStoryToSetResponse, error) SetCardRarity(ctx context.Context, in *MsgSetCardRarity, opts ...grpc.CallOption) (*MsgSetCardRarityResponse, error) CreateCouncil(ctx context.Context, in *MsgCreateCouncil, opts ...grpc.CallOption) (*MsgCreateCouncilResponse, error) CommitCouncilResponse(ctx context.Context, in *MsgCommitCouncilResponse, opts ...grpc.CallOption) (*MsgCommitCouncilResponseResponse, error) @@ -4178,10 +4159,14 @@ type MsgClient interface { SetProfileCard(ctx context.Context, in *MsgSetProfileCard, opts ...grpc.CallOption) (*MsgSetProfileCardResponse, error) OpenBoosterPack(ctx context.Context, in *MsgOpenBoosterPack, opts ...grpc.CallOption) (*MsgOpenBoosterPackResponse, error) TransferBoosterPack(ctx context.Context, in *MsgTransferBoosterPack, opts ...grpc.CallOption) (*MsgTransferBoosterPackResponse, error) - SetCollectionStoryWriter(ctx context.Context, in *MsgSetCollectionStoryWriter, opts ...grpc.CallOption) (*MsgSetCollectionStoryWriterResponse, error) - SetCollectionArtist(ctx context.Context, in *MsgSetCollectionArtist, opts ...grpc.CallOption) (*MsgSetCollectionArtistResponse, error) + SetSetStoryWriter(ctx context.Context, in *MsgSetSetStoryWriter, opts ...grpc.CallOption) (*MsgSetSetStoryWriterResponse, error) + SetSetArtist(ctx context.Context, in *MsgSetSetArtist, opts ...grpc.CallOption) (*MsgSetSetArtistResponse, error) SetUserWebsite(ctx context.Context, in *MsgSetUserWebsite, opts ...grpc.CallOption) (*MsgSetUserWebsiteResponse, error) SetUserBiography(ctx context.Context, in *MsgSetUserBiography, opts ...grpc.CallOption) (*MsgSetUserBiographyResponse, error) + // this line is used by starport scaffolding # proto/tx/rpc + MultiVoteCard(ctx context.Context, in *MsgMultiVoteCard, opts ...grpc.CallOption) (*MsgMultiVoteCardResponse, error) + OpenMatch(ctx context.Context, in *MsgOpenMatch, opts ...grpc.CallOption) (*MsgOpenMatchResponse, error) + SetSetName(ctx context.Context, in *MsgSetSetName, opts ...grpc.CallOption) (*MsgSetSetNameResponse, error) } type msgClient struct { @@ -4255,15 +4240,6 @@ func (c *msgClient) AddArtwork(ctx context.Context, in *MsgAddArtwork, opts ...g return out, nil } -func (c *msgClient) SubmitCopyrightProposal(ctx context.Context, in *MsgSubmitCopyrightProposal, opts ...grpc.CallOption) (*MsgSubmitCopyrightProposalResponse, error) { - out := new(MsgSubmitCopyrightProposalResponse) - err := c.cc.Invoke(ctx, "/DecentralCardGame.cardchain.cardchain.Msg/SubmitCopyrightProposal", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - func (c *msgClient) ChangeArtist(ctx context.Context, in *MsgChangeArtist, opts ...grpc.CallOption) (*MsgChangeArtistResponse, error) { out := new(MsgChangeArtistResponse) err := c.cc.Invoke(ctx, "/DecentralCardGame.cardchain.cardchain.Msg/ChangeArtist", in, out, opts...) @@ -4291,15 +4267,6 @@ func (c *msgClient) ReportMatch(ctx context.Context, in *MsgReportMatch, opts .. return out, nil } -func (c *msgClient) SubmitMatchReporterProposal(ctx context.Context, in *MsgSubmitMatchReporterProposal, opts ...grpc.CallOption) (*MsgSubmitMatchReporterProposalResponse, error) { - out := new(MsgSubmitMatchReporterProposalResponse) - err := c.cc.Invoke(ctx, "/DecentralCardGame.cardchain.cardchain.Msg/SubmitMatchReporterProposal", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - func (c *msgClient) ApointMatchReporter(ctx context.Context, in *MsgApointMatchReporter, opts ...grpc.CallOption) (*MsgApointMatchReporterResponse, error) { out := new(MsgApointMatchReporterResponse) err := c.cc.Invoke(ctx, "/DecentralCardGame.cardchain.cardchain.Msg/ApointMatchReporter", in, out, opts...) @@ -4309,72 +4276,63 @@ func (c *msgClient) ApointMatchReporter(ctx context.Context, in *MsgApointMatchR return out, nil } -func (c *msgClient) CreateCollection(ctx context.Context, in *MsgCreateCollection, opts ...grpc.CallOption) (*MsgCreateCollectionResponse, error) { - out := new(MsgCreateCollectionResponse) - err := c.cc.Invoke(ctx, "/DecentralCardGame.cardchain.cardchain.Msg/CreateCollection", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *msgClient) AddCardToCollection(ctx context.Context, in *MsgAddCardToCollection, opts ...grpc.CallOption) (*MsgAddCardToCollectionResponse, error) { - out := new(MsgAddCardToCollectionResponse) - err := c.cc.Invoke(ctx, "/DecentralCardGame.cardchain.cardchain.Msg/AddCardToCollection", in, out, opts...) +func (c *msgClient) CreateSet(ctx context.Context, in *MsgCreateSet, opts ...grpc.CallOption) (*MsgCreateSetResponse, error) { + out := new(MsgCreateSetResponse) + err := c.cc.Invoke(ctx, "/DecentralCardGame.cardchain.cardchain.Msg/CreateSet", in, out, opts...) if err != nil { return nil, err } return out, nil } -func (c *msgClient) FinalizeCollection(ctx context.Context, in *MsgFinalizeCollection, opts ...grpc.CallOption) (*MsgFinalizeCollectionResponse, error) { - out := new(MsgFinalizeCollectionResponse) - err := c.cc.Invoke(ctx, "/DecentralCardGame.cardchain.cardchain.Msg/FinalizeCollection", in, out, opts...) +func (c *msgClient) AddCardToSet(ctx context.Context, in *MsgAddCardToSet, opts ...grpc.CallOption) (*MsgAddCardToSetResponse, error) { + out := new(MsgAddCardToSetResponse) + err := c.cc.Invoke(ctx, "/DecentralCardGame.cardchain.cardchain.Msg/AddCardToSet", in, out, opts...) if err != nil { return nil, err } return out, nil } -func (c *msgClient) BuyCollection(ctx context.Context, in *MsgBuyCollection, opts ...grpc.CallOption) (*MsgBuyCollectionResponse, error) { - out := new(MsgBuyCollectionResponse) - err := c.cc.Invoke(ctx, "/DecentralCardGame.cardchain.cardchain.Msg/BuyCollection", in, out, opts...) +func (c *msgClient) FinalizeSet(ctx context.Context, in *MsgFinalizeSet, opts ...grpc.CallOption) (*MsgFinalizeSetResponse, error) { + out := new(MsgFinalizeSetResponse) + err := c.cc.Invoke(ctx, "/DecentralCardGame.cardchain.cardchain.Msg/FinalizeSet", in, out, opts...) if err != nil { return nil, err } return out, nil } -func (c *msgClient) RemoveCardFromCollection(ctx context.Context, in *MsgRemoveCardFromCollection, opts ...grpc.CallOption) (*MsgRemoveCardFromCollectionResponse, error) { - out := new(MsgRemoveCardFromCollectionResponse) - err := c.cc.Invoke(ctx, "/DecentralCardGame.cardchain.cardchain.Msg/RemoveCardFromCollection", in, out, opts...) +func (c *msgClient) BuyBoosterPack(ctx context.Context, in *MsgBuyBoosterPack, opts ...grpc.CallOption) (*MsgBuyBoosterPackResponse, error) { + out := new(MsgBuyBoosterPackResponse) + err := c.cc.Invoke(ctx, "/DecentralCardGame.cardchain.cardchain.Msg/BuyBoosterPack", in, out, opts...) if err != nil { return nil, err } return out, nil } -func (c *msgClient) RemoveContributorFromCollection(ctx context.Context, in *MsgRemoveContributorFromCollection, opts ...grpc.CallOption) (*MsgRemoveContributorFromCollectionResponse, error) { - out := new(MsgRemoveContributorFromCollectionResponse) - err := c.cc.Invoke(ctx, "/DecentralCardGame.cardchain.cardchain.Msg/RemoveContributorFromCollection", in, out, opts...) +func (c *msgClient) RemoveCardFromSet(ctx context.Context, in *MsgRemoveCardFromSet, opts ...grpc.CallOption) (*MsgRemoveCardFromSetResponse, error) { + out := new(MsgRemoveCardFromSetResponse) + err := c.cc.Invoke(ctx, "/DecentralCardGame.cardchain.cardchain.Msg/RemoveCardFromSet", in, out, opts...) if err != nil { return nil, err } return out, nil } -func (c *msgClient) AddContributorToCollection(ctx context.Context, in *MsgAddContributorToCollection, opts ...grpc.CallOption) (*MsgAddContributorToCollectionResponse, error) { - out := new(MsgAddContributorToCollectionResponse) - err := c.cc.Invoke(ctx, "/DecentralCardGame.cardchain.cardchain.Msg/AddContributorToCollection", in, out, opts...) +func (c *msgClient) RemoveContributorFromSet(ctx context.Context, in *MsgRemoveContributorFromSet, opts ...grpc.CallOption) (*MsgRemoveContributorFromSetResponse, error) { + out := new(MsgRemoveContributorFromSetResponse) + err := c.cc.Invoke(ctx, "/DecentralCardGame.cardchain.cardchain.Msg/RemoveContributorFromSet", in, out, opts...) if err != nil { return nil, err } return out, nil } -func (c *msgClient) SubmitCollectionProposal(ctx context.Context, in *MsgSubmitCollectionProposal, opts ...grpc.CallOption) (*MsgSubmitCollectionProposalResponse, error) { - out := new(MsgSubmitCollectionProposalResponse) - err := c.cc.Invoke(ctx, "/DecentralCardGame.cardchain.cardchain.Msg/SubmitCollectionProposal", in, out, opts...) +func (c *msgClient) AddContributorToSet(ctx context.Context, in *MsgAddContributorToSet, opts ...grpc.CallOption) (*MsgAddContributorToSetResponse, error) { + out := new(MsgAddContributorToSetResponse) + err := c.cc.Invoke(ctx, "/DecentralCardGame.cardchain.cardchain.Msg/AddContributorToSet", in, out, opts...) if err != nil { return nil, err } @@ -4408,18 +4366,18 @@ func (c *msgClient) RemoveSellOffer(ctx context.Context, in *MsgRemoveSellOffer, return out, nil } -func (c *msgClient) AddArtworkToCollection(ctx context.Context, in *MsgAddArtworkToCollection, opts ...grpc.CallOption) (*MsgAddArtworkToCollectionResponse, error) { - out := new(MsgAddArtworkToCollectionResponse) - err := c.cc.Invoke(ctx, "/DecentralCardGame.cardchain.cardchain.Msg/AddArtworkToCollection", in, out, opts...) +func (c *msgClient) AddArtworkToSet(ctx context.Context, in *MsgAddArtworkToSet, opts ...grpc.CallOption) (*MsgAddArtworkToSetResponse, error) { + out := new(MsgAddArtworkToSetResponse) + err := c.cc.Invoke(ctx, "/DecentralCardGame.cardchain.cardchain.Msg/AddArtworkToSet", in, out, opts...) if err != nil { return nil, err } return out, nil } -func (c *msgClient) AddStoryToCollection(ctx context.Context, in *MsgAddStoryToCollection, opts ...grpc.CallOption) (*MsgAddStoryToCollectionResponse, error) { - out := new(MsgAddStoryToCollectionResponse) - err := c.cc.Invoke(ctx, "/DecentralCardGame.cardchain.cardchain.Msg/AddStoryToCollection", in, out, opts...) +func (c *msgClient) AddStoryToSet(ctx context.Context, in *MsgAddStoryToSet, opts ...grpc.CallOption) (*MsgAddStoryToSetResponse, error) { + out := new(MsgAddStoryToSetResponse) + err := c.cc.Invoke(ctx, "/DecentralCardGame.cardchain.cardchain.Msg/AddStoryToSet", in, out, opts...) if err != nil { return nil, err } @@ -4516,18 +4474,18 @@ func (c *msgClient) TransferBoosterPack(ctx context.Context, in *MsgTransferBoos return out, nil } -func (c *msgClient) SetCollectionStoryWriter(ctx context.Context, in *MsgSetCollectionStoryWriter, opts ...grpc.CallOption) (*MsgSetCollectionStoryWriterResponse, error) { - out := new(MsgSetCollectionStoryWriterResponse) - err := c.cc.Invoke(ctx, "/DecentralCardGame.cardchain.cardchain.Msg/SetCollectionStoryWriter", in, out, opts...) +func (c *msgClient) SetSetStoryWriter(ctx context.Context, in *MsgSetSetStoryWriter, opts ...grpc.CallOption) (*MsgSetSetStoryWriterResponse, error) { + out := new(MsgSetSetStoryWriterResponse) + err := c.cc.Invoke(ctx, "/DecentralCardGame.cardchain.cardchain.Msg/SetSetStoryWriter", in, out, opts...) if err != nil { return nil, err } return out, nil } -func (c *msgClient) SetCollectionArtist(ctx context.Context, in *MsgSetCollectionArtist, opts ...grpc.CallOption) (*MsgSetCollectionArtistResponse, error) { - out := new(MsgSetCollectionArtistResponse) - err := c.cc.Invoke(ctx, "/DecentralCardGame.cardchain.cardchain.Msg/SetCollectionArtist", in, out, opts...) +func (c *msgClient) SetSetArtist(ctx context.Context, in *MsgSetSetArtist, opts ...grpc.CallOption) (*MsgSetSetArtistResponse, error) { + out := new(MsgSetSetArtistResponse) + err := c.cc.Invoke(ctx, "/DecentralCardGame.cardchain.cardchain.Msg/SetSetArtist", in, out, opts...) if err != nil { return nil, err } @@ -4552,6 +4510,33 @@ func (c *msgClient) SetUserBiography(ctx context.Context, in *MsgSetUserBiograph return out, nil } +func (c *msgClient) MultiVoteCard(ctx context.Context, in *MsgMultiVoteCard, opts ...grpc.CallOption) (*MsgMultiVoteCardResponse, error) { + out := new(MsgMultiVoteCardResponse) + err := c.cc.Invoke(ctx, "/DecentralCardGame.cardchain.cardchain.Msg/MultiVoteCard", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *msgClient) OpenMatch(ctx context.Context, in *MsgOpenMatch, opts ...grpc.CallOption) (*MsgOpenMatchResponse, error) { + out := new(MsgOpenMatchResponse) + err := c.cc.Invoke(ctx, "/DecentralCardGame.cardchain.cardchain.Msg/OpenMatch", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *msgClient) SetSetName(ctx context.Context, in *MsgSetSetName, opts ...grpc.CallOption) (*MsgSetSetNameResponse, error) { + out := new(MsgSetSetNameResponse) + err := c.cc.Invoke(ctx, "/DecentralCardGame.cardchain.cardchain.Msg/SetSetName", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // MsgServer is the server API for Msg service. type MsgServer interface { Createuser(context.Context, *MsgCreateuser) (*MsgCreateuserResponse, error) @@ -4561,25 +4546,22 @@ type MsgServer interface { TransferCard(context.Context, *MsgTransferCard) (*MsgTransferCardResponse, error) DonateToCard(context.Context, *MsgDonateToCard) (*MsgDonateToCardResponse, error) AddArtwork(context.Context, *MsgAddArtwork) (*MsgAddArtworkResponse, error) - SubmitCopyrightProposal(context.Context, *MsgSubmitCopyrightProposal) (*MsgSubmitCopyrightProposalResponse, error) ChangeArtist(context.Context, *MsgChangeArtist) (*MsgChangeArtistResponse, error) RegisterForCouncil(context.Context, *MsgRegisterForCouncil) (*MsgRegisterForCouncilResponse, error) ReportMatch(context.Context, *MsgReportMatch) (*MsgReportMatchResponse, error) - SubmitMatchReporterProposal(context.Context, *MsgSubmitMatchReporterProposal) (*MsgSubmitMatchReporterProposalResponse, error) ApointMatchReporter(context.Context, *MsgApointMatchReporter) (*MsgApointMatchReporterResponse, error) - CreateCollection(context.Context, *MsgCreateCollection) (*MsgCreateCollectionResponse, error) - AddCardToCollection(context.Context, *MsgAddCardToCollection) (*MsgAddCardToCollectionResponse, error) - FinalizeCollection(context.Context, *MsgFinalizeCollection) (*MsgFinalizeCollectionResponse, error) - BuyCollection(context.Context, *MsgBuyCollection) (*MsgBuyCollectionResponse, error) - RemoveCardFromCollection(context.Context, *MsgRemoveCardFromCollection) (*MsgRemoveCardFromCollectionResponse, error) - RemoveContributorFromCollection(context.Context, *MsgRemoveContributorFromCollection) (*MsgRemoveContributorFromCollectionResponse, error) - AddContributorToCollection(context.Context, *MsgAddContributorToCollection) (*MsgAddContributorToCollectionResponse, error) - SubmitCollectionProposal(context.Context, *MsgSubmitCollectionProposal) (*MsgSubmitCollectionProposalResponse, error) + CreateSet(context.Context, *MsgCreateSet) (*MsgCreateSetResponse, error) + AddCardToSet(context.Context, *MsgAddCardToSet) (*MsgAddCardToSetResponse, error) + FinalizeSet(context.Context, *MsgFinalizeSet) (*MsgFinalizeSetResponse, error) + BuyBoosterPack(context.Context, *MsgBuyBoosterPack) (*MsgBuyBoosterPackResponse, error) + RemoveCardFromSet(context.Context, *MsgRemoveCardFromSet) (*MsgRemoveCardFromSetResponse, error) + RemoveContributorFromSet(context.Context, *MsgRemoveContributorFromSet) (*MsgRemoveContributorFromSetResponse, error) + AddContributorToSet(context.Context, *MsgAddContributorToSet) (*MsgAddContributorToSetResponse, error) CreateSellOffer(context.Context, *MsgCreateSellOffer) (*MsgCreateSellOfferResponse, error) BuyCard(context.Context, *MsgBuyCard) (*MsgBuyCardResponse, error) RemoveSellOffer(context.Context, *MsgRemoveSellOffer) (*MsgRemoveSellOfferResponse, error) - AddArtworkToCollection(context.Context, *MsgAddArtworkToCollection) (*MsgAddArtworkToCollectionResponse, error) - AddStoryToCollection(context.Context, *MsgAddStoryToCollection) (*MsgAddStoryToCollectionResponse, error) + AddArtworkToSet(context.Context, *MsgAddArtworkToSet) (*MsgAddArtworkToSetResponse, error) + AddStoryToSet(context.Context, *MsgAddStoryToSet) (*MsgAddStoryToSetResponse, error) SetCardRarity(context.Context, *MsgSetCardRarity) (*MsgSetCardRarityResponse, error) CreateCouncil(context.Context, *MsgCreateCouncil) (*MsgCreateCouncilResponse, error) CommitCouncilResponse(context.Context, *MsgCommitCouncilResponse) (*MsgCommitCouncilResponseResponse, error) @@ -4590,10 +4572,14 @@ type MsgServer interface { SetProfileCard(context.Context, *MsgSetProfileCard) (*MsgSetProfileCardResponse, error) OpenBoosterPack(context.Context, *MsgOpenBoosterPack) (*MsgOpenBoosterPackResponse, error) TransferBoosterPack(context.Context, *MsgTransferBoosterPack) (*MsgTransferBoosterPackResponse, error) - SetCollectionStoryWriter(context.Context, *MsgSetCollectionStoryWriter) (*MsgSetCollectionStoryWriterResponse, error) - SetCollectionArtist(context.Context, *MsgSetCollectionArtist) (*MsgSetCollectionArtistResponse, error) + SetSetStoryWriter(context.Context, *MsgSetSetStoryWriter) (*MsgSetSetStoryWriterResponse, error) + SetSetArtist(context.Context, *MsgSetSetArtist) (*MsgSetSetArtistResponse, error) SetUserWebsite(context.Context, *MsgSetUserWebsite) (*MsgSetUserWebsiteResponse, error) SetUserBiography(context.Context, *MsgSetUserBiography) (*MsgSetUserBiographyResponse, error) + // this line is used by starport scaffolding # proto/tx/rpc + MultiVoteCard(context.Context, *MsgMultiVoteCard) (*MsgMultiVoteCardResponse, error) + OpenMatch(context.Context, *MsgOpenMatch) (*MsgOpenMatchResponse, error) + SetSetName(context.Context, *MsgSetSetName) (*MsgSetSetNameResponse, error) } // UnimplementedMsgServer can be embedded to have forward compatible implementations. @@ -4621,9 +4607,6 @@ func (*UnimplementedMsgServer) DonateToCard(ctx context.Context, req *MsgDonateT func (*UnimplementedMsgServer) AddArtwork(ctx context.Context, req *MsgAddArtwork) (*MsgAddArtworkResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method AddArtwork not implemented") } -func (*UnimplementedMsgServer) SubmitCopyrightProposal(ctx context.Context, req *MsgSubmitCopyrightProposal) (*MsgSubmitCopyrightProposalResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method SubmitCopyrightProposal not implemented") -} func (*UnimplementedMsgServer) ChangeArtist(ctx context.Context, req *MsgChangeArtist) (*MsgChangeArtistResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method ChangeArtist not implemented") } @@ -4633,35 +4616,29 @@ func (*UnimplementedMsgServer) RegisterForCouncil(ctx context.Context, req *MsgR func (*UnimplementedMsgServer) ReportMatch(ctx context.Context, req *MsgReportMatch) (*MsgReportMatchResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method ReportMatch not implemented") } -func (*UnimplementedMsgServer) SubmitMatchReporterProposal(ctx context.Context, req *MsgSubmitMatchReporterProposal) (*MsgSubmitMatchReporterProposalResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method SubmitMatchReporterProposal not implemented") -} func (*UnimplementedMsgServer) ApointMatchReporter(ctx context.Context, req *MsgApointMatchReporter) (*MsgApointMatchReporterResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method ApointMatchReporter not implemented") } -func (*UnimplementedMsgServer) CreateCollection(ctx context.Context, req *MsgCreateCollection) (*MsgCreateCollectionResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method CreateCollection not implemented") +func (*UnimplementedMsgServer) CreateSet(ctx context.Context, req *MsgCreateSet) (*MsgCreateSetResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateSet not implemented") } -func (*UnimplementedMsgServer) AddCardToCollection(ctx context.Context, req *MsgAddCardToCollection) (*MsgAddCardToCollectionResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method AddCardToCollection not implemented") +func (*UnimplementedMsgServer) AddCardToSet(ctx context.Context, req *MsgAddCardToSet) (*MsgAddCardToSetResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method AddCardToSet not implemented") } -func (*UnimplementedMsgServer) FinalizeCollection(ctx context.Context, req *MsgFinalizeCollection) (*MsgFinalizeCollectionResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method FinalizeCollection not implemented") +func (*UnimplementedMsgServer) FinalizeSet(ctx context.Context, req *MsgFinalizeSet) (*MsgFinalizeSetResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method FinalizeSet not implemented") } -func (*UnimplementedMsgServer) BuyCollection(ctx context.Context, req *MsgBuyCollection) (*MsgBuyCollectionResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method BuyCollection not implemented") +func (*UnimplementedMsgServer) BuyBoosterPack(ctx context.Context, req *MsgBuyBoosterPack) (*MsgBuyBoosterPackResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method BuyBoosterPack not implemented") } -func (*UnimplementedMsgServer) RemoveCardFromCollection(ctx context.Context, req *MsgRemoveCardFromCollection) (*MsgRemoveCardFromCollectionResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method RemoveCardFromCollection not implemented") +func (*UnimplementedMsgServer) RemoveCardFromSet(ctx context.Context, req *MsgRemoveCardFromSet) (*MsgRemoveCardFromSetResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method RemoveCardFromSet not implemented") } -func (*UnimplementedMsgServer) RemoveContributorFromCollection(ctx context.Context, req *MsgRemoveContributorFromCollection) (*MsgRemoveContributorFromCollectionResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method RemoveContributorFromCollection not implemented") +func (*UnimplementedMsgServer) RemoveContributorFromSet(ctx context.Context, req *MsgRemoveContributorFromSet) (*MsgRemoveContributorFromSetResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method RemoveContributorFromSet not implemented") } -func (*UnimplementedMsgServer) AddContributorToCollection(ctx context.Context, req *MsgAddContributorToCollection) (*MsgAddContributorToCollectionResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method AddContributorToCollection not implemented") -} -func (*UnimplementedMsgServer) SubmitCollectionProposal(ctx context.Context, req *MsgSubmitCollectionProposal) (*MsgSubmitCollectionProposalResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method SubmitCollectionProposal not implemented") +func (*UnimplementedMsgServer) AddContributorToSet(ctx context.Context, req *MsgAddContributorToSet) (*MsgAddContributorToSetResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method AddContributorToSet not implemented") } func (*UnimplementedMsgServer) CreateSellOffer(ctx context.Context, req *MsgCreateSellOffer) (*MsgCreateSellOfferResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method CreateSellOffer not implemented") @@ -4672,11 +4649,11 @@ func (*UnimplementedMsgServer) BuyCard(ctx context.Context, req *MsgBuyCard) (*M func (*UnimplementedMsgServer) RemoveSellOffer(ctx context.Context, req *MsgRemoveSellOffer) (*MsgRemoveSellOfferResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method RemoveSellOffer not implemented") } -func (*UnimplementedMsgServer) AddArtworkToCollection(ctx context.Context, req *MsgAddArtworkToCollection) (*MsgAddArtworkToCollectionResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method AddArtworkToCollection not implemented") +func (*UnimplementedMsgServer) AddArtworkToSet(ctx context.Context, req *MsgAddArtworkToSet) (*MsgAddArtworkToSetResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method AddArtworkToSet not implemented") } -func (*UnimplementedMsgServer) AddStoryToCollection(ctx context.Context, req *MsgAddStoryToCollection) (*MsgAddStoryToCollectionResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method AddStoryToCollection not implemented") +func (*UnimplementedMsgServer) AddStoryToSet(ctx context.Context, req *MsgAddStoryToSet) (*MsgAddStoryToSetResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method AddStoryToSet not implemented") } func (*UnimplementedMsgServer) SetCardRarity(ctx context.Context, req *MsgSetCardRarity) (*MsgSetCardRarityResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method SetCardRarity not implemented") @@ -4708,11 +4685,11 @@ func (*UnimplementedMsgServer) OpenBoosterPack(ctx context.Context, req *MsgOpen func (*UnimplementedMsgServer) TransferBoosterPack(ctx context.Context, req *MsgTransferBoosterPack) (*MsgTransferBoosterPackResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method TransferBoosterPack not implemented") } -func (*UnimplementedMsgServer) SetCollectionStoryWriter(ctx context.Context, req *MsgSetCollectionStoryWriter) (*MsgSetCollectionStoryWriterResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method SetCollectionStoryWriter not implemented") +func (*UnimplementedMsgServer) SetSetStoryWriter(ctx context.Context, req *MsgSetSetStoryWriter) (*MsgSetSetStoryWriterResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SetSetStoryWriter not implemented") } -func (*UnimplementedMsgServer) SetCollectionArtist(ctx context.Context, req *MsgSetCollectionArtist) (*MsgSetCollectionArtistResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method SetCollectionArtist not implemented") +func (*UnimplementedMsgServer) SetSetArtist(ctx context.Context, req *MsgSetSetArtist) (*MsgSetSetArtistResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SetSetArtist not implemented") } func (*UnimplementedMsgServer) SetUserWebsite(ctx context.Context, req *MsgSetUserWebsite) (*MsgSetUserWebsiteResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method SetUserWebsite not implemented") @@ -4720,6 +4697,15 @@ func (*UnimplementedMsgServer) SetUserWebsite(ctx context.Context, req *MsgSetUs func (*UnimplementedMsgServer) SetUserBiography(ctx context.Context, req *MsgSetUserBiography) (*MsgSetUserBiographyResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method SetUserBiography not implemented") } +func (*UnimplementedMsgServer) MultiVoteCard(ctx context.Context, req *MsgMultiVoteCard) (*MsgMultiVoteCardResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method MultiVoteCard not implemented") +} +func (*UnimplementedMsgServer) OpenMatch(ctx context.Context, req *MsgOpenMatch) (*MsgOpenMatchResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method OpenMatch not implemented") +} +func (*UnimplementedMsgServer) SetSetName(ctx context.Context, req *MsgSetSetName) (*MsgSetSetNameResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SetSetName not implemented") +} func RegisterMsgServer(s grpc1.Server, srv MsgServer) { s.RegisterService(&_Msg_serviceDesc, srv) @@ -4851,24 +4837,6 @@ func _Msg_AddArtwork_Handler(srv interface{}, ctx context.Context, dec func(inte return interceptor(ctx, in, info, handler) } -func _Msg_SubmitCopyrightProposal_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgSubmitCopyrightProposal) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(MsgServer).SubmitCopyrightProposal(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/DecentralCardGame.cardchain.cardchain.Msg/SubmitCopyrightProposal", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).SubmitCopyrightProposal(ctx, req.(*MsgSubmitCopyrightProposal)) - } - return interceptor(ctx, in, info, handler) -} - func _Msg_ChangeArtist_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(MsgChangeArtist) if err := dec(in); err != nil { @@ -4923,24 +4891,6 @@ func _Msg_ReportMatch_Handler(srv interface{}, ctx context.Context, dec func(int return interceptor(ctx, in, info, handler) } -func _Msg_SubmitMatchReporterProposal_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgSubmitMatchReporterProposal) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(MsgServer).SubmitMatchReporterProposal(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/DecentralCardGame.cardchain.cardchain.Msg/SubmitMatchReporterProposal", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).SubmitMatchReporterProposal(ctx, req.(*MsgSubmitMatchReporterProposal)) - } - return interceptor(ctx, in, info, handler) -} - func _Msg_ApointMatchReporter_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(MsgApointMatchReporter) if err := dec(in); err != nil { @@ -4959,146 +4909,128 @@ func _Msg_ApointMatchReporter_Handler(srv interface{}, ctx context.Context, dec return interceptor(ctx, in, info, handler) } -func _Msg_CreateCollection_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgCreateCollection) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(MsgServer).CreateCollection(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/DecentralCardGame.cardchain.cardchain.Msg/CreateCollection", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).CreateCollection(ctx, req.(*MsgCreateCollection)) - } - return interceptor(ctx, in, info, handler) -} - -func _Msg_AddCardToCollection_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgAddCardToCollection) +func _Msg_CreateSet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgCreateSet) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(MsgServer).AddCardToCollection(ctx, in) + return srv.(MsgServer).CreateSet(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/DecentralCardGame.cardchain.cardchain.Msg/AddCardToCollection", + FullMethod: "/DecentralCardGame.cardchain.cardchain.Msg/CreateSet", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).AddCardToCollection(ctx, req.(*MsgAddCardToCollection)) + return srv.(MsgServer).CreateSet(ctx, req.(*MsgCreateSet)) } return interceptor(ctx, in, info, handler) } -func _Msg_FinalizeCollection_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgFinalizeCollection) +func _Msg_AddCardToSet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgAddCardToSet) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(MsgServer).FinalizeCollection(ctx, in) + return srv.(MsgServer).AddCardToSet(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/DecentralCardGame.cardchain.cardchain.Msg/FinalizeCollection", + FullMethod: "/DecentralCardGame.cardchain.cardchain.Msg/AddCardToSet", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).FinalizeCollection(ctx, req.(*MsgFinalizeCollection)) + return srv.(MsgServer).AddCardToSet(ctx, req.(*MsgAddCardToSet)) } return interceptor(ctx, in, info, handler) } -func _Msg_BuyCollection_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgBuyCollection) +func _Msg_FinalizeSet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgFinalizeSet) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(MsgServer).BuyCollection(ctx, in) + return srv.(MsgServer).FinalizeSet(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/DecentralCardGame.cardchain.cardchain.Msg/BuyCollection", + FullMethod: "/DecentralCardGame.cardchain.cardchain.Msg/FinalizeSet", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).BuyCollection(ctx, req.(*MsgBuyCollection)) + return srv.(MsgServer).FinalizeSet(ctx, req.(*MsgFinalizeSet)) } return interceptor(ctx, in, info, handler) } -func _Msg_RemoveCardFromCollection_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgRemoveCardFromCollection) +func _Msg_BuyBoosterPack_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgBuyBoosterPack) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(MsgServer).RemoveCardFromCollection(ctx, in) + return srv.(MsgServer).BuyBoosterPack(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/DecentralCardGame.cardchain.cardchain.Msg/RemoveCardFromCollection", + FullMethod: "/DecentralCardGame.cardchain.cardchain.Msg/BuyBoosterPack", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).RemoveCardFromCollection(ctx, req.(*MsgRemoveCardFromCollection)) + return srv.(MsgServer).BuyBoosterPack(ctx, req.(*MsgBuyBoosterPack)) } return interceptor(ctx, in, info, handler) } -func _Msg_RemoveContributorFromCollection_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgRemoveContributorFromCollection) +func _Msg_RemoveCardFromSet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgRemoveCardFromSet) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(MsgServer).RemoveContributorFromCollection(ctx, in) + return srv.(MsgServer).RemoveCardFromSet(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/DecentralCardGame.cardchain.cardchain.Msg/RemoveContributorFromCollection", + FullMethod: "/DecentralCardGame.cardchain.cardchain.Msg/RemoveCardFromSet", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).RemoveContributorFromCollection(ctx, req.(*MsgRemoveContributorFromCollection)) + return srv.(MsgServer).RemoveCardFromSet(ctx, req.(*MsgRemoveCardFromSet)) } return interceptor(ctx, in, info, handler) } -func _Msg_AddContributorToCollection_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgAddContributorToCollection) +func _Msg_RemoveContributorFromSet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgRemoveContributorFromSet) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(MsgServer).AddContributorToCollection(ctx, in) + return srv.(MsgServer).RemoveContributorFromSet(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/DecentralCardGame.cardchain.cardchain.Msg/AddContributorToCollection", + FullMethod: "/DecentralCardGame.cardchain.cardchain.Msg/RemoveContributorFromSet", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).AddContributorToCollection(ctx, req.(*MsgAddContributorToCollection)) + return srv.(MsgServer).RemoveContributorFromSet(ctx, req.(*MsgRemoveContributorFromSet)) } return interceptor(ctx, in, info, handler) } -func _Msg_SubmitCollectionProposal_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgSubmitCollectionProposal) +func _Msg_AddContributorToSet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgAddContributorToSet) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(MsgServer).SubmitCollectionProposal(ctx, in) + return srv.(MsgServer).AddContributorToSet(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/DecentralCardGame.cardchain.cardchain.Msg/SubmitCollectionProposal", + FullMethod: "/DecentralCardGame.cardchain.cardchain.Msg/AddContributorToSet", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).SubmitCollectionProposal(ctx, req.(*MsgSubmitCollectionProposal)) + return srv.(MsgServer).AddContributorToSet(ctx, req.(*MsgAddContributorToSet)) } return interceptor(ctx, in, info, handler) } @@ -5157,38 +5089,38 @@ func _Msg_RemoveSellOffer_Handler(srv interface{}, ctx context.Context, dec func return interceptor(ctx, in, info, handler) } -func _Msg_AddArtworkToCollection_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgAddArtworkToCollection) +func _Msg_AddArtworkToSet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgAddArtworkToSet) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(MsgServer).AddArtworkToCollection(ctx, in) + return srv.(MsgServer).AddArtworkToSet(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/DecentralCardGame.cardchain.cardchain.Msg/AddArtworkToCollection", + FullMethod: "/DecentralCardGame.cardchain.cardchain.Msg/AddArtworkToSet", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).AddArtworkToCollection(ctx, req.(*MsgAddArtworkToCollection)) + return srv.(MsgServer).AddArtworkToSet(ctx, req.(*MsgAddArtworkToSet)) } return interceptor(ctx, in, info, handler) } -func _Msg_AddStoryToCollection_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgAddStoryToCollection) +func _Msg_AddStoryToSet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgAddStoryToSet) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(MsgServer).AddStoryToCollection(ctx, in) + return srv.(MsgServer).AddStoryToSet(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/DecentralCardGame.cardchain.cardchain.Msg/AddStoryToCollection", + FullMethod: "/DecentralCardGame.cardchain.cardchain.Msg/AddStoryToSet", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).AddStoryToCollection(ctx, req.(*MsgAddStoryToCollection)) + return srv.(MsgServer).AddStoryToSet(ctx, req.(*MsgAddStoryToSet)) } return interceptor(ctx, in, info, handler) } @@ -5373,38 +5305,38 @@ func _Msg_TransferBoosterPack_Handler(srv interface{}, ctx context.Context, dec return interceptor(ctx, in, info, handler) } -func _Msg_SetCollectionStoryWriter_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgSetCollectionStoryWriter) +func _Msg_SetSetStoryWriter_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgSetSetStoryWriter) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(MsgServer).SetCollectionStoryWriter(ctx, in) + return srv.(MsgServer).SetSetStoryWriter(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/DecentralCardGame.cardchain.cardchain.Msg/SetCollectionStoryWriter", + FullMethod: "/DecentralCardGame.cardchain.cardchain.Msg/SetSetStoryWriter", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).SetCollectionStoryWriter(ctx, req.(*MsgSetCollectionStoryWriter)) + return srv.(MsgServer).SetSetStoryWriter(ctx, req.(*MsgSetSetStoryWriter)) } return interceptor(ctx, in, info, handler) } -func _Msg_SetCollectionArtist_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgSetCollectionArtist) +func _Msg_SetSetArtist_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgSetSetArtist) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(MsgServer).SetCollectionArtist(ctx, in) + return srv.(MsgServer).SetSetArtist(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/DecentralCardGame.cardchain.cardchain.Msg/SetCollectionArtist", + FullMethod: "/DecentralCardGame.cardchain.cardchain.Msg/SetSetArtist", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).SetCollectionArtist(ctx, req.(*MsgSetCollectionArtist)) + return srv.(MsgServer).SetSetArtist(ctx, req.(*MsgSetSetArtist)) } return interceptor(ctx, in, info, handler) } @@ -5445,6 +5377,60 @@ func _Msg_SetUserBiography_Handler(srv interface{}, ctx context.Context, dec fun return interceptor(ctx, in, info, handler) } +func _Msg_MultiVoteCard_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgMultiVoteCard) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).MultiVoteCard(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/DecentralCardGame.cardchain.cardchain.Msg/MultiVoteCard", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).MultiVoteCard(ctx, req.(*MsgMultiVoteCard)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_OpenMatch_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgOpenMatch) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).OpenMatch(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/DecentralCardGame.cardchain.cardchain.Msg/OpenMatch", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).OpenMatch(ctx, req.(*MsgOpenMatch)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_SetSetName_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgSetSetName) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).SetSetName(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/DecentralCardGame.cardchain.cardchain.Msg/SetSetName", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).SetSetName(ctx, req.(*MsgSetSetName)) + } + return interceptor(ctx, in, info, handler) +} + var _Msg_serviceDesc = grpc.ServiceDesc{ ServiceName: "DecentralCardGame.cardchain.cardchain.Msg", HandlerType: (*MsgServer)(nil), @@ -5477,10 +5463,6 @@ var _Msg_serviceDesc = grpc.ServiceDesc{ MethodName: "AddArtwork", Handler: _Msg_AddArtwork_Handler, }, - { - MethodName: "SubmitCopyrightProposal", - Handler: _Msg_SubmitCopyrightProposal_Handler, - }, { MethodName: "ChangeArtist", Handler: _Msg_ChangeArtist_Handler, @@ -5493,45 +5475,37 @@ var _Msg_serviceDesc = grpc.ServiceDesc{ MethodName: "ReportMatch", Handler: _Msg_ReportMatch_Handler, }, - { - MethodName: "SubmitMatchReporterProposal", - Handler: _Msg_SubmitMatchReporterProposal_Handler, - }, { MethodName: "ApointMatchReporter", Handler: _Msg_ApointMatchReporter_Handler, }, { - MethodName: "CreateCollection", - Handler: _Msg_CreateCollection_Handler, - }, - { - MethodName: "AddCardToCollection", - Handler: _Msg_AddCardToCollection_Handler, + MethodName: "CreateSet", + Handler: _Msg_CreateSet_Handler, }, { - MethodName: "FinalizeCollection", - Handler: _Msg_FinalizeCollection_Handler, + MethodName: "AddCardToSet", + Handler: _Msg_AddCardToSet_Handler, }, { - MethodName: "BuyCollection", - Handler: _Msg_BuyCollection_Handler, + MethodName: "FinalizeSet", + Handler: _Msg_FinalizeSet_Handler, }, { - MethodName: "RemoveCardFromCollection", - Handler: _Msg_RemoveCardFromCollection_Handler, + MethodName: "BuyBoosterPack", + Handler: _Msg_BuyBoosterPack_Handler, }, { - MethodName: "RemoveContributorFromCollection", - Handler: _Msg_RemoveContributorFromCollection_Handler, + MethodName: "RemoveCardFromSet", + Handler: _Msg_RemoveCardFromSet_Handler, }, { - MethodName: "AddContributorToCollection", - Handler: _Msg_AddContributorToCollection_Handler, + MethodName: "RemoveContributorFromSet", + Handler: _Msg_RemoveContributorFromSet_Handler, }, { - MethodName: "SubmitCollectionProposal", - Handler: _Msg_SubmitCollectionProposal_Handler, + MethodName: "AddContributorToSet", + Handler: _Msg_AddContributorToSet_Handler, }, { MethodName: "CreateSellOffer", @@ -5546,12 +5520,12 @@ var _Msg_serviceDesc = grpc.ServiceDesc{ Handler: _Msg_RemoveSellOffer_Handler, }, { - MethodName: "AddArtworkToCollection", - Handler: _Msg_AddArtworkToCollection_Handler, + MethodName: "AddArtworkToSet", + Handler: _Msg_AddArtworkToSet_Handler, }, { - MethodName: "AddStoryToCollection", - Handler: _Msg_AddStoryToCollection_Handler, + MethodName: "AddStoryToSet", + Handler: _Msg_AddStoryToSet_Handler, }, { MethodName: "SetCardRarity", @@ -5594,12 +5568,12 @@ var _Msg_serviceDesc = grpc.ServiceDesc{ Handler: _Msg_TransferBoosterPack_Handler, }, { - MethodName: "SetCollectionStoryWriter", - Handler: _Msg_SetCollectionStoryWriter_Handler, + MethodName: "SetSetStoryWriter", + Handler: _Msg_SetSetStoryWriter_Handler, }, { - MethodName: "SetCollectionArtist", - Handler: _Msg_SetCollectionArtist_Handler, + MethodName: "SetSetArtist", + Handler: _Msg_SetSetArtist_Handler, }, { MethodName: "SetUserWebsite", @@ -5609,6 +5583,18 @@ var _Msg_serviceDesc = grpc.ServiceDesc{ MethodName: "SetUserBiography", Handler: _Msg_SetUserBiography_Handler, }, + { + MethodName: "MultiVoteCard", + Handler: _Msg_MultiVoteCard_Handler, + }, + { + MethodName: "OpenMatch", + Handler: _Msg_OpenMatch_Handler, + }, + { + MethodName: "SetSetName", + Handler: _Msg_SetSetName_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "cardchain/cardchain/tx.proto", @@ -5701,13 +5687,16 @@ func (m *MsgBuyCardScheme) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l - if len(m.Bid) > 0 { - i -= len(m.Bid) - copy(dAtA[i:], m.Bid) - i = encodeVarintTx(dAtA, i, uint64(len(m.Bid))) - i-- - dAtA[i] = 0x12 + { + size, err := m.Bid.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintTx(dAtA, i, uint64(size)) } + i-- + dAtA[i] = 0x12 if len(m.Creator) > 0 { i -= len(m.Creator) copy(dAtA[i:], m.Creator) @@ -5738,6 +5727,11 @@ func (m *MsgBuyCardSchemeResponse) MarshalToSizedBuffer(dAtA []byte) (int, error _ = i var l int _ = l + if m.CardId != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.CardId)) + i-- + dAtA[i] = 0x8 + } return len(dAtA) - i, nil } @@ -5836,6 +5830,16 @@ func (m *MsgSaveCardContent) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + if m.BalanceAnchor { + i-- + if m.BalanceAnchor { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x30 + } if len(m.Artist) > 0 { i -= len(m.Artist) copy(dAtA[i:], m.Artist) @@ -6113,78 +6117,6 @@ func (m *MsgAddArtworkResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *MsgSubmitCopyrightProposal) 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 *MsgSubmitCopyrightProposal) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgSubmitCopyrightProposal) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.Link) > 0 { - i -= len(m.Link) - copy(dAtA[i:], m.Link) - i = encodeVarintTx(dAtA, i, uint64(len(m.Link))) - i-- - dAtA[i] = 0x22 - } - if len(m.Description) > 0 { - i -= len(m.Description) - copy(dAtA[i:], m.Description) - i = encodeVarintTx(dAtA, i, uint64(len(m.Description))) - i-- - dAtA[i] = 0x1a - } - if m.CardId != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.CardId)) - i-- - dAtA[i] = 0x10 - } - if len(m.Creator) > 0 { - i -= len(m.Creator) - copy(dAtA[i:], m.Creator) - i = encodeVarintTx(dAtA, i, uint64(len(m.Creator))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *MsgSubmitCopyrightProposalResponse) 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 *MsgSubmitCopyrightProposalResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgSubmitCopyrightProposalResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - return len(dAtA) - i, nil -} - func (m *MsgChangeArtist) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -6326,136 +6258,48 @@ func (m *MsgReportMatch) MarshalToSizedBuffer(dAtA []byte) (int, error) { if m.Outcome != 0 { i = encodeVarintTx(dAtA, i, uint64(m.Outcome)) i-- - dAtA[i] = 0x38 - } - if len(m.CardsB) > 0 { - dAtA2 := make([]byte, len(m.CardsB)*10) - var j1 int - for _, num := range m.CardsB { - for num >= 1<<7 { - dAtA2[j1] = uint8(uint64(num)&0x7f | 0x80) - num >>= 7 - j1++ - } - dAtA2[j1] = uint8(num) - j1++ - } - i -= j1 - copy(dAtA[i:], dAtA2[:j1]) - i = encodeVarintTx(dAtA, i, uint64(j1)) - i-- - dAtA[i] = 0x32 + dAtA[i] = 0x28 } - if len(m.CardsA) > 0 { - dAtA4 := make([]byte, len(m.CardsA)*10) - var j3 int - for _, num := range m.CardsA { + if len(m.PlayedCardsB) > 0 { + dAtA3 := make([]byte, len(m.PlayedCardsB)*10) + var j2 int + for _, num := range m.PlayedCardsB { for num >= 1<<7 { - dAtA4[j3] = uint8(uint64(num)&0x7f | 0x80) + dAtA3[j2] = uint8(uint64(num)&0x7f | 0x80) num >>= 7 - j3++ + j2++ } - dAtA4[j3] = uint8(num) - j3++ - } - i -= j3 - copy(dAtA[i:], dAtA4[:j3]) - i = encodeVarintTx(dAtA, i, uint64(j3)) - i-- - dAtA[i] = 0x2a - } - if len(m.PlayerB) > 0 { - i -= len(m.PlayerB) - copy(dAtA[i:], m.PlayerB) - i = encodeVarintTx(dAtA, i, uint64(len(m.PlayerB))) - i-- - dAtA[i] = 0x1a - } - if len(m.PlayerA) > 0 { - i -= len(m.PlayerA) - copy(dAtA[i:], m.PlayerA) - i = encodeVarintTx(dAtA, i, uint64(len(m.PlayerA))) - i-- - dAtA[i] = 0x12 - } - if len(m.Creator) > 0 { - i -= len(m.Creator) - copy(dAtA[i:], m.Creator) - i = encodeVarintTx(dAtA, i, uint64(len(m.Creator))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *MsgReportMatchResponse) 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 *MsgReportMatchResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgReportMatchResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.MatchId != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.MatchId)) - i-- - dAtA[i] = 0x8 - } - return len(dAtA) - i, nil -} - -func (m *MsgSubmitMatchReporterProposal) 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 *MsgSubmitMatchReporterProposal) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgSubmitMatchReporterProposal) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.Description) > 0 { - i -= len(m.Description) - copy(dAtA[i:], m.Description) - i = encodeVarintTx(dAtA, i, uint64(len(m.Description))) + dAtA3[j2] = uint8(num) + j2++ + } + i -= j2 + copy(dAtA[i:], dAtA3[:j2]) + i = encodeVarintTx(dAtA, i, uint64(j2)) i-- dAtA[i] = 0x22 } - if len(m.Deposit) > 0 { - i -= len(m.Deposit) - copy(dAtA[i:], m.Deposit) - i = encodeVarintTx(dAtA, i, uint64(len(m.Deposit))) + if len(m.PlayedCardsA) > 0 { + dAtA5 := make([]byte, len(m.PlayedCardsA)*10) + var j4 int + for _, num := range m.PlayedCardsA { + for num >= 1<<7 { + dAtA5[j4] = uint8(uint64(num)&0x7f | 0x80) + num >>= 7 + j4++ + } + dAtA5[j4] = uint8(num) + j4++ + } + i -= j4 + copy(dAtA[i:], dAtA5[:j4]) + i = encodeVarintTx(dAtA, i, uint64(j4)) i-- dAtA[i] = 0x1a } - if len(m.Reporter) > 0 { - i -= len(m.Reporter) - copy(dAtA[i:], m.Reporter) - i = encodeVarintTx(dAtA, i, uint64(len(m.Reporter))) + if m.MatchId != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.MatchId)) i-- - dAtA[i] = 0x12 + dAtA[i] = 0x10 } if len(m.Creator) > 0 { i -= len(m.Creator) @@ -6467,7 +6311,7 @@ func (m *MsgSubmitMatchReporterProposal) MarshalToSizedBuffer(dAtA []byte) (int, return len(dAtA) - i, nil } -func (m *MsgSubmitMatchReporterProposalResponse) Marshal() (dAtA []byte, err error) { +func (m *MsgReportMatchResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -6477,16 +6321,21 @@ func (m *MsgSubmitMatchReporterProposalResponse) Marshal() (dAtA []byte, err err return dAtA[:n], nil } -func (m *MsgSubmitMatchReporterProposalResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgReportMatchResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgSubmitMatchReporterProposalResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgReportMatchResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l + if m.MatchId != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.MatchId)) + i-- + dAtA[i] = 0x8 + } return len(dAtA) - i, nil } @@ -6550,7 +6399,7 @@ func (m *MsgApointMatchReporterResponse) MarshalToSizedBuffer(dAtA []byte) (int, return len(dAtA) - i, nil } -func (m *MsgCreateCollection) Marshal() (dAtA []byte, err error) { +func (m *MsgCreateSet) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -6560,12 +6409,12 @@ func (m *MsgCreateCollection) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgCreateCollection) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgCreateSet) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgCreateCollection) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgCreateSet) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -6610,7 +6459,7 @@ func (m *MsgCreateCollection) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *MsgCreateCollectionResponse) Marshal() (dAtA []byte, err error) { +func (m *MsgCreateSetResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -6620,12 +6469,12 @@ func (m *MsgCreateCollectionResponse) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgCreateCollectionResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgCreateSetResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgCreateCollectionResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgCreateSetResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -6633,7 +6482,7 @@ func (m *MsgCreateCollectionResponse) MarshalToSizedBuffer(dAtA []byte) (int, er return len(dAtA) - i, nil } -func (m *MsgAddCardToCollection) Marshal() (dAtA []byte, err error) { +func (m *MsgAddCardToSet) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -6643,12 +6492,12 @@ func (m *MsgAddCardToCollection) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgAddCardToCollection) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgAddCardToSet) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgAddCardToCollection) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgAddCardToSet) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -6658,8 +6507,8 @@ func (m *MsgAddCardToCollection) MarshalToSizedBuffer(dAtA []byte) (int, error) i-- dAtA[i] = 0x18 } - if m.CollectionId != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.CollectionId)) + if m.SetId != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.SetId)) i-- dAtA[i] = 0x10 } @@ -6673,7 +6522,7 @@ func (m *MsgAddCardToCollection) MarshalToSizedBuffer(dAtA []byte) (int, error) return len(dAtA) - i, nil } -func (m *MsgAddCardToCollectionResponse) Marshal() (dAtA []byte, err error) { +func (m *MsgAddCardToSetResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -6683,12 +6532,12 @@ func (m *MsgAddCardToCollectionResponse) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgAddCardToCollectionResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgAddCardToSetResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgAddCardToCollectionResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgAddCardToSetResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -6696,7 +6545,7 @@ func (m *MsgAddCardToCollectionResponse) MarshalToSizedBuffer(dAtA []byte) (int, return len(dAtA) - i, nil } -func (m *MsgFinalizeCollection) Marshal() (dAtA []byte, err error) { +func (m *MsgFinalizeSet) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -6706,18 +6555,18 @@ func (m *MsgFinalizeCollection) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgFinalizeCollection) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgFinalizeSet) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgFinalizeCollection) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgFinalizeSet) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if m.CollectionId != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.CollectionId)) + if m.SetId != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.SetId)) i-- dAtA[i] = 0x10 } @@ -6731,7 +6580,7 @@ func (m *MsgFinalizeCollection) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *MsgFinalizeCollectionResponse) Marshal() (dAtA []byte, err error) { +func (m *MsgFinalizeSetResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -6741,12 +6590,12 @@ func (m *MsgFinalizeCollectionResponse) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgFinalizeCollectionResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgFinalizeSetResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgFinalizeCollectionResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgFinalizeSetResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -6754,7 +6603,7 @@ func (m *MsgFinalizeCollectionResponse) MarshalToSizedBuffer(dAtA []byte) (int, return len(dAtA) - i, nil } -func (m *MsgBuyCollection) Marshal() (dAtA []byte, err error) { +func (m *MsgBuyBoosterPack) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -6764,18 +6613,18 @@ func (m *MsgBuyCollection) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgBuyCollection) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgBuyBoosterPack) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgBuyCollection) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgBuyBoosterPack) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if m.CollectionId != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.CollectionId)) + if m.SetId != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.SetId)) i-- dAtA[i] = 0x10 } @@ -6789,7 +6638,7 @@ func (m *MsgBuyCollection) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *MsgBuyCollectionResponse) Marshal() (dAtA []byte, err error) { +func (m *MsgBuyBoosterPackResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -6799,12 +6648,12 @@ func (m *MsgBuyCollectionResponse) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgBuyCollectionResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgBuyBoosterPackResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgBuyCollectionResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgBuyBoosterPackResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -6822,7 +6671,7 @@ func (m *MsgBuyCollectionResponse) MarshalToSizedBuffer(dAtA []byte) (int, error return len(dAtA) - i, nil } -func (m *MsgRemoveCardFromCollection) Marshal() (dAtA []byte, err error) { +func (m *MsgRemoveCardFromSet) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -6832,12 +6681,12 @@ func (m *MsgRemoveCardFromCollection) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgRemoveCardFromCollection) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgRemoveCardFromSet) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgRemoveCardFromCollection) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgRemoveCardFromSet) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -6847,8 +6696,8 @@ func (m *MsgRemoveCardFromCollection) MarshalToSizedBuffer(dAtA []byte) (int, er i-- dAtA[i] = 0x18 } - if m.CollectionId != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.CollectionId)) + if m.SetId != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.SetId)) i-- dAtA[i] = 0x10 } @@ -6862,7 +6711,7 @@ func (m *MsgRemoveCardFromCollection) MarshalToSizedBuffer(dAtA []byte) (int, er return len(dAtA) - i, nil } -func (m *MsgRemoveCardFromCollectionResponse) Marshal() (dAtA []byte, err error) { +func (m *MsgRemoveCardFromSetResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -6872,12 +6721,12 @@ func (m *MsgRemoveCardFromCollectionResponse) Marshal() (dAtA []byte, err error) return dAtA[:n], nil } -func (m *MsgRemoveCardFromCollectionResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgRemoveCardFromSetResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgRemoveCardFromCollectionResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgRemoveCardFromSetResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -6885,7 +6734,7 @@ func (m *MsgRemoveCardFromCollectionResponse) MarshalToSizedBuffer(dAtA []byte) return len(dAtA) - i, nil } -func (m *MsgRemoveContributorFromCollection) Marshal() (dAtA []byte, err error) { +func (m *MsgRemoveContributorFromSet) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -6895,12 +6744,12 @@ func (m *MsgRemoveContributorFromCollection) Marshal() (dAtA []byte, err error) return dAtA[:n], nil } -func (m *MsgRemoveContributorFromCollection) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgRemoveContributorFromSet) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgRemoveContributorFromCollection) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgRemoveContributorFromSet) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -6912,8 +6761,8 @@ func (m *MsgRemoveContributorFromCollection) MarshalToSizedBuffer(dAtA []byte) ( i-- dAtA[i] = 0x1a } - if m.CollectionId != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.CollectionId)) + if m.SetId != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.SetId)) i-- dAtA[i] = 0x10 } @@ -6927,7 +6776,7 @@ func (m *MsgRemoveContributorFromCollection) MarshalToSizedBuffer(dAtA []byte) ( return len(dAtA) - i, nil } -func (m *MsgRemoveContributorFromCollectionResponse) Marshal() (dAtA []byte, err error) { +func (m *MsgRemoveContributorFromSetResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -6937,12 +6786,12 @@ func (m *MsgRemoveContributorFromCollectionResponse) Marshal() (dAtA []byte, err return dAtA[:n], nil } -func (m *MsgRemoveContributorFromCollectionResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgRemoveContributorFromSetResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgRemoveContributorFromCollectionResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgRemoveContributorFromSetResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -6950,7 +6799,7 @@ func (m *MsgRemoveContributorFromCollectionResponse) MarshalToSizedBuffer(dAtA [ return len(dAtA) - i, nil } -func (m *MsgAddContributorToCollection) Marshal() (dAtA []byte, err error) { +func (m *MsgAddContributorToSet) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -6960,12 +6809,12 @@ func (m *MsgAddContributorToCollection) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgAddContributorToCollection) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgAddContributorToSet) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgAddContributorToCollection) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgAddContributorToSet) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -6977,66 +6826,8 @@ func (m *MsgAddContributorToCollection) MarshalToSizedBuffer(dAtA []byte) (int, i-- dAtA[i] = 0x1a } - if m.CollectionId != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.CollectionId)) - i-- - dAtA[i] = 0x10 - } - if len(m.Creator) > 0 { - i -= len(m.Creator) - copy(dAtA[i:], m.Creator) - i = encodeVarintTx(dAtA, i, uint64(len(m.Creator))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *MsgAddContributorToCollectionResponse) 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 *MsgAddContributorToCollectionResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgAddContributorToCollectionResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - return len(dAtA) - i, nil -} - -func (m *MsgSubmitCollectionProposal) 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 *MsgSubmitCollectionProposal) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgSubmitCollectionProposal) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.CollectionId != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.CollectionId)) + if m.SetId != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.SetId)) i-- dAtA[i] = 0x10 } @@ -7050,7 +6841,7 @@ func (m *MsgSubmitCollectionProposal) MarshalToSizedBuffer(dAtA []byte) (int, er return len(dAtA) - i, nil } -func (m *MsgSubmitCollectionProposalResponse) Marshal() (dAtA []byte, err error) { +func (m *MsgAddContributorToSetResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -7060,12 +6851,12 @@ func (m *MsgSubmitCollectionProposalResponse) Marshal() (dAtA []byte, err error) return dAtA[:n], nil } -func (m *MsgSubmitCollectionProposalResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgAddContributorToSetResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgSubmitCollectionProposalResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgAddContributorToSetResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -7257,7 +7048,7 @@ func (m *MsgRemoveSellOfferResponse) MarshalToSizedBuffer(dAtA []byte) (int, err return len(dAtA) - i, nil } -func (m *MsgAddArtworkToCollection) Marshal() (dAtA []byte, err error) { +func (m *MsgAddArtworkToSet) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -7267,12 +7058,12 @@ func (m *MsgAddArtworkToCollection) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgAddArtworkToCollection) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgAddArtworkToSet) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgAddArtworkToCollection) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgAddArtworkToSet) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -7284,8 +7075,8 @@ func (m *MsgAddArtworkToCollection) MarshalToSizedBuffer(dAtA []byte) (int, erro i-- dAtA[i] = 0x1a } - if m.CollectionId != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.CollectionId)) + if m.SetId != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.SetId)) i-- dAtA[i] = 0x10 } @@ -7299,7 +7090,7 @@ func (m *MsgAddArtworkToCollection) MarshalToSizedBuffer(dAtA []byte) (int, erro return len(dAtA) - i, nil } -func (m *MsgAddArtworkToCollectionResponse) Marshal() (dAtA []byte, err error) { +func (m *MsgAddArtworkToSetResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -7309,12 +7100,12 @@ func (m *MsgAddArtworkToCollectionResponse) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgAddArtworkToCollectionResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgAddArtworkToSetResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgAddArtworkToCollectionResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgAddArtworkToSetResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -7322,7 +7113,7 @@ func (m *MsgAddArtworkToCollectionResponse) MarshalToSizedBuffer(dAtA []byte) (i return len(dAtA) - i, nil } -func (m *MsgAddStoryToCollection) Marshal() (dAtA []byte, err error) { +func (m *MsgAddStoryToSet) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -7332,12 +7123,12 @@ func (m *MsgAddStoryToCollection) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgAddStoryToCollection) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgAddStoryToSet) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgAddStoryToCollection) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgAddStoryToSet) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -7349,8 +7140,8 @@ func (m *MsgAddStoryToCollection) MarshalToSizedBuffer(dAtA []byte) (int, error) i-- dAtA[i] = 0x1a } - if m.CollectionId != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.CollectionId)) + if m.SetId != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.SetId)) i-- dAtA[i] = 0x10 } @@ -7364,7 +7155,7 @@ func (m *MsgAddStoryToCollection) MarshalToSizedBuffer(dAtA []byte) (int, error) return len(dAtA) - i, nil } -func (m *MsgAddStoryToCollectionResponse) Marshal() (dAtA []byte, err error) { +func (m *MsgAddStoryToSetResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -7374,12 +7165,12 @@ func (m *MsgAddStoryToCollectionResponse) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgAddStoryToCollectionResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgAddStoryToSetResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgAddStoryToCollectionResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgAddStoryToSetResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -7407,15 +7198,13 @@ func (m *MsgSetCardRarity) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l - if len(m.Rarity) > 0 { - i -= len(m.Rarity) - copy(dAtA[i:], m.Rarity) - i = encodeVarintTx(dAtA, i, uint64(len(m.Rarity))) + if m.Rarity != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.Rarity)) i-- - dAtA[i] = 0x22 + dAtA[i] = 0x20 } - if m.CollectionId != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.CollectionId)) + if m.SetId != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.SetId)) i-- dAtA[i] = 0x18 } @@ -7788,6 +7577,20 @@ func (m *MsgConfirmMatch) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + if len(m.VotedCards) > 0 { + for iNdEx := len(m.VotedCards) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.VotedCards[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintTx(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x22 + } + } if m.Outcome != 0 { i = encodeVarintTx(dAtA, i, uint64(m.Outcome)) i-- @@ -7944,6 +7747,24 @@ func (m *MsgOpenBoosterPackResponse) MarshalToSizedBuffer(dAtA []byte) (int, err _ = i var l int _ = l + if len(m.CardIds) > 0 { + dAtA7 := make([]byte, len(m.CardIds)*10) + var j6 int + for _, num := range m.CardIds { + for num >= 1<<7 { + dAtA7[j6] = uint8(uint64(num)&0x7f | 0x80) + num >>= 7 + j6++ + } + dAtA7[j6] = uint8(num) + j6++ + } + i -= j6 + copy(dAtA[i:], dAtA7[:j6]) + i = encodeVarintTx(dAtA, i, uint64(j6)) + i-- + dAtA[i] = 0xa + } return len(dAtA) - i, nil } @@ -8012,7 +7833,7 @@ func (m *MsgTransferBoosterPackResponse) MarshalToSizedBuffer(dAtA []byte) (int, return len(dAtA) - i, nil } -func (m *MsgSetCollectionStoryWriter) Marshal() (dAtA []byte, err error) { +func (m *MsgSetSetStoryWriter) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -8022,12 +7843,12 @@ func (m *MsgSetCollectionStoryWriter) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgSetCollectionStoryWriter) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgSetSetStoryWriter) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgSetCollectionStoryWriter) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgSetSetStoryWriter) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -8039,8 +7860,8 @@ func (m *MsgSetCollectionStoryWriter) MarshalToSizedBuffer(dAtA []byte) (int, er i-- dAtA[i] = 0x1a } - if m.CollectionId != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.CollectionId)) + if m.SetId != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.SetId)) i-- dAtA[i] = 0x10 } @@ -8054,7 +7875,7 @@ func (m *MsgSetCollectionStoryWriter) MarshalToSizedBuffer(dAtA []byte) (int, er return len(dAtA) - i, nil } -func (m *MsgSetCollectionStoryWriterResponse) Marshal() (dAtA []byte, err error) { +func (m *MsgSetSetStoryWriterResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -8064,12 +7885,12 @@ func (m *MsgSetCollectionStoryWriterResponse) Marshal() (dAtA []byte, err error) return dAtA[:n], nil } -func (m *MsgSetCollectionStoryWriterResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgSetSetStoryWriterResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgSetCollectionStoryWriterResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgSetSetStoryWriterResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -8077,7 +7898,7 @@ func (m *MsgSetCollectionStoryWriterResponse) MarshalToSizedBuffer(dAtA []byte) return len(dAtA) - i, nil } -func (m *MsgSetCollectionArtist) Marshal() (dAtA []byte, err error) { +func (m *MsgSetSetArtist) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -8087,12 +7908,12 @@ func (m *MsgSetCollectionArtist) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgSetCollectionArtist) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgSetSetArtist) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgSetCollectionArtist) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgSetSetArtist) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -8104,8 +7925,8 @@ func (m *MsgSetCollectionArtist) MarshalToSizedBuffer(dAtA []byte) (int, error) i-- dAtA[i] = 0x1a } - if m.CollectionId != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.CollectionId)) + if m.SetId != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.SetId)) i-- dAtA[i] = 0x10 } @@ -8119,7 +7940,7 @@ func (m *MsgSetCollectionArtist) MarshalToSizedBuffer(dAtA []byte) (int, error) return len(dAtA) - i, nil } -func (m *MsgSetCollectionArtistResponse) Marshal() (dAtA []byte, err error) { +func (m *MsgSetSetArtistResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -8129,12 +7950,12 @@ func (m *MsgSetCollectionArtistResponse) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgSetCollectionArtistResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgSetSetArtistResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgSetCollectionArtistResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgSetSetArtistResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -8152,20 +7973,250 @@ func (m *MsgSetUserWebsite) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgSetUserWebsite) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgSetUserWebsite) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgSetUserWebsite) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Website) > 0 { + i -= len(m.Website) + copy(dAtA[i:], m.Website) + i = encodeVarintTx(dAtA, i, uint64(len(m.Website))) + i-- + dAtA[i] = 0x12 + } + if len(m.Creator) > 0 { + i -= len(m.Creator) + copy(dAtA[i:], m.Creator) + i = encodeVarintTx(dAtA, i, uint64(len(m.Creator))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *MsgSetUserWebsiteResponse) 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 *MsgSetUserWebsiteResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgSetUserWebsiteResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + +func (m *MsgSetUserBiography) 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 *MsgSetUserBiography) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgSetUserBiography) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Biography) > 0 { + i -= len(m.Biography) + copy(dAtA[i:], m.Biography) + i = encodeVarintTx(dAtA, i, uint64(len(m.Biography))) + i-- + dAtA[i] = 0x12 + } + if len(m.Creator) > 0 { + i -= len(m.Creator) + copy(dAtA[i:], m.Creator) + i = encodeVarintTx(dAtA, i, uint64(len(m.Creator))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *MsgSetUserBiographyResponse) 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 *MsgSetUserBiographyResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgSetUserBiographyResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + +func (m *MsgMultiVoteCard) 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 *MsgMultiVoteCard) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgMultiVoteCard) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Votes) > 0 { + for iNdEx := len(m.Votes) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.Votes[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintTx(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 + } + } + if len(m.Creator) > 0 { + i -= len(m.Creator) + copy(dAtA[i:], m.Creator) + i = encodeVarintTx(dAtA, i, uint64(len(m.Creator))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *MsgMultiVoteCardResponse) 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 *MsgMultiVoteCardResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgMultiVoteCardResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + +func (m *MsgOpenMatch) 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 *MsgOpenMatch) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgSetUserWebsite) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgOpenMatch) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if len(m.Website) > 0 { - i -= len(m.Website) - copy(dAtA[i:], m.Website) - i = encodeVarintTx(dAtA, i, uint64(len(m.Website))) + if len(m.PlayerBDeck) > 0 { + dAtA9 := make([]byte, len(m.PlayerBDeck)*10) + var j8 int + for _, num := range m.PlayerBDeck { + for num >= 1<<7 { + dAtA9[j8] = uint8(uint64(num)&0x7f | 0x80) + num >>= 7 + j8++ + } + dAtA9[j8] = uint8(num) + j8++ + } + i -= j8 + copy(dAtA[i:], dAtA9[:j8]) + i = encodeVarintTx(dAtA, i, uint64(j8)) + i-- + dAtA[i] = 0x2a + } + if len(m.PlayerADeck) > 0 { + dAtA11 := make([]byte, len(m.PlayerADeck)*10) + var j10 int + for _, num := range m.PlayerADeck { + for num >= 1<<7 { + dAtA11[j10] = uint8(uint64(num)&0x7f | 0x80) + num >>= 7 + j10++ + } + dAtA11[j10] = uint8(num) + j10++ + } + i -= j10 + copy(dAtA[i:], dAtA11[:j10]) + i = encodeVarintTx(dAtA, i, uint64(j10)) + i-- + dAtA[i] = 0x22 + } + if len(m.PlayerB) > 0 { + i -= len(m.PlayerB) + copy(dAtA[i:], m.PlayerB) + i = encodeVarintTx(dAtA, i, uint64(len(m.PlayerB))) + i-- + dAtA[i] = 0x1a + } + if len(m.PlayerA) > 0 { + i -= len(m.PlayerA) + copy(dAtA[i:], m.PlayerA) + i = encodeVarintTx(dAtA, i, uint64(len(m.PlayerA))) i-- dAtA[i] = 0x12 } @@ -8179,7 +8230,7 @@ func (m *MsgSetUserWebsite) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *MsgSetUserWebsiteResponse) Marshal() (dAtA []byte, err error) { +func (m *MsgOpenMatchResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -8189,20 +8240,25 @@ func (m *MsgSetUserWebsiteResponse) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgSetUserWebsiteResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgOpenMatchResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgSetUserWebsiteResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgOpenMatchResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l + if m.MatchId != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.MatchId)) + i-- + dAtA[i] = 0x8 + } return len(dAtA) - i, nil } -func (m *MsgSetUserBiography) Marshal() (dAtA []byte, err error) { +func (m *MsgSetSetName) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -8212,22 +8268,27 @@ func (m *MsgSetUserBiography) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgSetUserBiography) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgSetSetName) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgSetUserBiography) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgSetSetName) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if len(m.Biography) > 0 { - i -= len(m.Biography) - copy(dAtA[i:], m.Biography) - i = encodeVarintTx(dAtA, i, uint64(len(m.Biography))) + if len(m.Name) > 0 { + i -= len(m.Name) + copy(dAtA[i:], m.Name) + i = encodeVarintTx(dAtA, i, uint64(len(m.Name))) i-- - dAtA[i] = 0x12 + dAtA[i] = 0x1a + } + if m.SetId != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.SetId)) + i-- + dAtA[i] = 0x10 } if len(m.Creator) > 0 { i -= len(m.Creator) @@ -8239,7 +8300,7 @@ func (m *MsgSetUserBiography) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *MsgSetUserBiographyResponse) Marshal() (dAtA []byte, err error) { +func (m *MsgSetSetNameResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -8249,12 +8310,12 @@ func (m *MsgSetUserBiographyResponse) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgSetUserBiographyResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgSetSetNameResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgSetUserBiographyResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgSetSetNameResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -8313,10 +8374,8 @@ func (m *MsgBuyCardScheme) Size() (n int) { if l > 0 { n += 1 + l + sovTx(uint64(l)) } - l = len(m.Bid) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } + l = m.Bid.Size() + n += 1 + l + sovTx(uint64(l)) return n } @@ -8326,6 +8385,9 @@ func (m *MsgBuyCardSchemeResponse) Size() (n int) { } var l int _ = l + if m.CardId != 0 { + n += 1 + sovTx(uint64(m.CardId)) + } return n } @@ -8386,6 +8448,9 @@ func (m *MsgSaveCardContent) Size() (n int) { if l > 0 { n += 1 + l + sovTx(uint64(l)) } + if m.BalanceAnchor { + n += 2 + } return n } @@ -8489,39 +8554,6 @@ func (m *MsgAddArtworkResponse) Size() (n int) { return n } -func (m *MsgSubmitCopyrightProposal) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.Creator) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - if m.CardId != 0 { - n += 1 + sovTx(uint64(m.CardId)) - } - l = len(m.Description) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - l = len(m.Link) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - return n -} - -func (m *MsgSubmitCopyrightProposalResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - return n -} - func (m *MsgChangeArtist) Size() (n int) { if m == nil { return 0 @@ -8583,24 +8615,19 @@ func (m *MsgReportMatch) Size() (n int) { if l > 0 { n += 1 + l + sovTx(uint64(l)) } - l = len(m.PlayerA) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - l = len(m.PlayerB) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) + if m.MatchId != 0 { + n += 1 + sovTx(uint64(m.MatchId)) } - if len(m.CardsA) > 0 { + if len(m.PlayedCardsA) > 0 { l = 0 - for _, e := range m.CardsA { + for _, e := range m.PlayedCardsA { l += sovTx(uint64(e)) } n += 1 + sovTx(uint64(l)) + l } - if len(m.CardsB) > 0 { + if len(m.PlayedCardsB) > 0 { l = 0 - for _, e := range m.CardsB { + for _, e := range m.PlayedCardsB { l += sovTx(uint64(e)) } n += 1 + sovTx(uint64(l)) + l @@ -8623,40 +8650,6 @@ func (m *MsgReportMatchResponse) Size() (n int) { return n } -func (m *MsgSubmitMatchReporterProposal) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.Creator) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - l = len(m.Reporter) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - l = len(m.Deposit) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - l = len(m.Description) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - return n -} - -func (m *MsgSubmitMatchReporterProposalResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - return n -} - func (m *MsgApointMatchReporter) Size() (n int) { if m == nil { return 0 @@ -8683,7 +8676,7 @@ func (m *MsgApointMatchReporterResponse) Size() (n int) { return n } -func (m *MsgCreateCollection) Size() (n int) { +func (m *MsgCreateSet) Size() (n int) { if m == nil { return 0 } @@ -8714,7 +8707,7 @@ func (m *MsgCreateCollection) Size() (n int) { return n } -func (m *MsgCreateCollectionResponse) Size() (n int) { +func (m *MsgCreateSetResponse) Size() (n int) { if m == nil { return 0 } @@ -8723,7 +8716,7 @@ func (m *MsgCreateCollectionResponse) Size() (n int) { return n } -func (m *MsgAddCardToCollection) Size() (n int) { +func (m *MsgAddCardToSet) Size() (n int) { if m == nil { return 0 } @@ -8733,8 +8726,8 @@ func (m *MsgAddCardToCollection) Size() (n int) { if l > 0 { n += 1 + l + sovTx(uint64(l)) } - if m.CollectionId != 0 { - n += 1 + sovTx(uint64(m.CollectionId)) + if m.SetId != 0 { + n += 1 + sovTx(uint64(m.SetId)) } if m.CardId != 0 { n += 1 + sovTx(uint64(m.CardId)) @@ -8742,7 +8735,7 @@ func (m *MsgAddCardToCollection) Size() (n int) { return n } -func (m *MsgAddCardToCollectionResponse) Size() (n int) { +func (m *MsgAddCardToSetResponse) Size() (n int) { if m == nil { return 0 } @@ -8751,7 +8744,7 @@ func (m *MsgAddCardToCollectionResponse) Size() (n int) { return n } -func (m *MsgFinalizeCollection) Size() (n int) { +func (m *MsgFinalizeSet) Size() (n int) { if m == nil { return 0 } @@ -8761,13 +8754,13 @@ func (m *MsgFinalizeCollection) Size() (n int) { if l > 0 { n += 1 + l + sovTx(uint64(l)) } - if m.CollectionId != 0 { - n += 1 + sovTx(uint64(m.CollectionId)) + if m.SetId != 0 { + n += 1 + sovTx(uint64(m.SetId)) } return n } -func (m *MsgFinalizeCollectionResponse) Size() (n int) { +func (m *MsgFinalizeSetResponse) Size() (n int) { if m == nil { return 0 } @@ -8776,7 +8769,7 @@ func (m *MsgFinalizeCollectionResponse) Size() (n int) { return n } -func (m *MsgBuyCollection) Size() (n int) { +func (m *MsgBuyBoosterPack) Size() (n int) { if m == nil { return 0 } @@ -8786,13 +8779,13 @@ func (m *MsgBuyCollection) Size() (n int) { if l > 0 { n += 1 + l + sovTx(uint64(l)) } - if m.CollectionId != 0 { - n += 1 + sovTx(uint64(m.CollectionId)) + if m.SetId != 0 { + n += 1 + sovTx(uint64(m.SetId)) } return n } -func (m *MsgBuyCollectionResponse) Size() (n int) { +func (m *MsgBuyBoosterPackResponse) Size() (n int) { if m == nil { return 0 } @@ -8804,7 +8797,7 @@ func (m *MsgBuyCollectionResponse) Size() (n int) { return n } -func (m *MsgRemoveCardFromCollection) Size() (n int) { +func (m *MsgRemoveCardFromSet) Size() (n int) { if m == nil { return 0 } @@ -8814,8 +8807,8 @@ func (m *MsgRemoveCardFromCollection) Size() (n int) { if l > 0 { n += 1 + l + sovTx(uint64(l)) } - if m.CollectionId != 0 { - n += 1 + sovTx(uint64(m.CollectionId)) + if m.SetId != 0 { + n += 1 + sovTx(uint64(m.SetId)) } if m.CardId != 0 { n += 1 + sovTx(uint64(m.CardId)) @@ -8823,7 +8816,7 @@ func (m *MsgRemoveCardFromCollection) Size() (n int) { return n } -func (m *MsgRemoveCardFromCollectionResponse) Size() (n int) { +func (m *MsgRemoveCardFromSetResponse) Size() (n int) { if m == nil { return 0 } @@ -8832,7 +8825,7 @@ func (m *MsgRemoveCardFromCollectionResponse) Size() (n int) { return n } -func (m *MsgRemoveContributorFromCollection) Size() (n int) { +func (m *MsgRemoveContributorFromSet) Size() (n int) { if m == nil { return 0 } @@ -8842,8 +8835,8 @@ func (m *MsgRemoveContributorFromCollection) Size() (n int) { if l > 0 { n += 1 + l + sovTx(uint64(l)) } - if m.CollectionId != 0 { - n += 1 + sovTx(uint64(m.CollectionId)) + if m.SetId != 0 { + n += 1 + sovTx(uint64(m.SetId)) } l = len(m.User) if l > 0 { @@ -8852,7 +8845,7 @@ func (m *MsgRemoveContributorFromCollection) Size() (n int) { return n } -func (m *MsgRemoveContributorFromCollectionResponse) Size() (n int) { +func (m *MsgRemoveContributorFromSetResponse) Size() (n int) { if m == nil { return 0 } @@ -8861,7 +8854,7 @@ func (m *MsgRemoveContributorFromCollectionResponse) Size() (n int) { return n } -func (m *MsgAddContributorToCollection) Size() (n int) { +func (m *MsgAddContributorToSet) Size() (n int) { if m == nil { return 0 } @@ -8871,8 +8864,8 @@ func (m *MsgAddContributorToCollection) Size() (n int) { if l > 0 { n += 1 + l + sovTx(uint64(l)) } - if m.CollectionId != 0 { - n += 1 + sovTx(uint64(m.CollectionId)) + if m.SetId != 0 { + n += 1 + sovTx(uint64(m.SetId)) } l = len(m.User) if l > 0 { @@ -8881,32 +8874,7 @@ func (m *MsgAddContributorToCollection) Size() (n int) { return n } -func (m *MsgAddContributorToCollectionResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - return n -} - -func (m *MsgSubmitCollectionProposal) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.Creator) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - if m.CollectionId != 0 { - n += 1 + sovTx(uint64(m.CollectionId)) - } - return n -} - -func (m *MsgSubmitCollectionProposalResponse) Size() (n int) { +func (m *MsgAddContributorToSetResponse) Size() (n int) { if m == nil { return 0 } @@ -8992,7 +8960,7 @@ func (m *MsgRemoveSellOfferResponse) Size() (n int) { return n } -func (m *MsgAddArtworkToCollection) Size() (n int) { +func (m *MsgAddArtworkToSet) Size() (n int) { if m == nil { return 0 } @@ -9002,8 +8970,8 @@ func (m *MsgAddArtworkToCollection) Size() (n int) { if l > 0 { n += 1 + l + sovTx(uint64(l)) } - if m.CollectionId != 0 { - n += 1 + sovTx(uint64(m.CollectionId)) + if m.SetId != 0 { + n += 1 + sovTx(uint64(m.SetId)) } l = len(m.Image) if l > 0 { @@ -9012,7 +8980,7 @@ func (m *MsgAddArtworkToCollection) Size() (n int) { return n } -func (m *MsgAddArtworkToCollectionResponse) Size() (n int) { +func (m *MsgAddArtworkToSetResponse) Size() (n int) { if m == nil { return 0 } @@ -9021,7 +8989,7 @@ func (m *MsgAddArtworkToCollectionResponse) Size() (n int) { return n } -func (m *MsgAddStoryToCollection) Size() (n int) { +func (m *MsgAddStoryToSet) Size() (n int) { if m == nil { return 0 } @@ -9031,8 +8999,8 @@ func (m *MsgAddStoryToCollection) Size() (n int) { if l > 0 { n += 1 + l + sovTx(uint64(l)) } - if m.CollectionId != 0 { - n += 1 + sovTx(uint64(m.CollectionId)) + if m.SetId != 0 { + n += 1 + sovTx(uint64(m.SetId)) } l = len(m.Story) if l > 0 { @@ -9041,7 +9009,7 @@ func (m *MsgAddStoryToCollection) Size() (n int) { return n } -func (m *MsgAddStoryToCollectionResponse) Size() (n int) { +func (m *MsgAddStoryToSetResponse) Size() (n int) { if m == nil { return 0 } @@ -9063,12 +9031,11 @@ func (m *MsgSetCardRarity) Size() (n int) { if m.CardId != 0 { n += 1 + sovTx(uint64(m.CardId)) } - if m.CollectionId != 0 { - n += 1 + sovTx(uint64(m.CollectionId)) + if m.SetId != 0 { + n += 1 + sovTx(uint64(m.SetId)) } - l = len(m.Rarity) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) + if m.Rarity != 0 { + n += 1 + sovTx(uint64(m.Rarity)) } return n } @@ -9235,6 +9202,12 @@ func (m *MsgConfirmMatch) Size() (n int) { if m.Outcome != 0 { n += 1 + sovTx(uint64(m.Outcome)) } + if len(m.VotedCards) > 0 { + for _, e := range m.VotedCards { + l = e.Size() + n += 1 + l + sovTx(uint64(l)) + } + } return n } @@ -9294,6 +9267,13 @@ func (m *MsgOpenBoosterPackResponse) Size() (n int) { } var l int _ = l + if len(m.CardIds) > 0 { + l = 0 + for _, e := range m.CardIds { + l += sovTx(uint64(e)) + } + n += 1 + sovTx(uint64(l)) + l + } return n } @@ -9326,7 +9306,7 @@ func (m *MsgTransferBoosterPackResponse) Size() (n int) { return n } -func (m *MsgSetCollectionStoryWriter) Size() (n int) { +func (m *MsgSetSetStoryWriter) Size() (n int) { if m == nil { return 0 } @@ -9336,8 +9316,8 @@ func (m *MsgSetCollectionStoryWriter) Size() (n int) { if l > 0 { n += 1 + l + sovTx(uint64(l)) } - if m.CollectionId != 0 { - n += 1 + sovTx(uint64(m.CollectionId)) + if m.SetId != 0 { + n += 1 + sovTx(uint64(m.SetId)) } l = len(m.StoryWriter) if l > 0 { @@ -9346,7 +9326,7 @@ func (m *MsgSetCollectionStoryWriter) Size() (n int) { return n } -func (m *MsgSetCollectionStoryWriterResponse) Size() (n int) { +func (m *MsgSetSetStoryWriterResponse) Size() (n int) { if m == nil { return 0 } @@ -9355,7 +9335,7 @@ func (m *MsgSetCollectionStoryWriterResponse) Size() (n int) { return n } -func (m *MsgSetCollectionArtist) Size() (n int) { +func (m *MsgSetSetArtist) Size() (n int) { if m == nil { return 0 } @@ -9365,8 +9345,8 @@ func (m *MsgSetCollectionArtist) Size() (n int) { if l > 0 { n += 1 + l + sovTx(uint64(l)) } - if m.CollectionId != 0 { - n += 1 + sovTx(uint64(m.CollectionId)) + if m.SetId != 0 { + n += 1 + sovTx(uint64(m.SetId)) } l = len(m.Artist) if l > 0 { @@ -9375,7 +9355,7 @@ func (m *MsgSetCollectionArtist) Size() (n int) { return n } -func (m *MsgSetCollectionArtistResponse) Size() (n int) { +func (m *MsgSetSetArtistResponse) Size() (n int) { if m == nil { return 0 } @@ -9410,7 +9390,108 @@ func (m *MsgSetUserWebsiteResponse) Size() (n int) { return n } -func (m *MsgSetUserBiography) Size() (n int) { +func (m *MsgSetUserBiography) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Creator) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.Biography) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + return n +} + +func (m *MsgSetUserBiographyResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgMultiVoteCard) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Creator) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + if len(m.Votes) > 0 { + for _, e := range m.Votes { + l = e.Size() + n += 1 + l + sovTx(uint64(l)) + } + } + return n +} + +func (m *MsgMultiVoteCardResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgOpenMatch) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Creator) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.PlayerA) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.PlayerB) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + if len(m.PlayerADeck) > 0 { + l = 0 + for _, e := range m.PlayerADeck { + l += sovTx(uint64(e)) + } + n += 1 + sovTx(uint64(l)) + l + } + if len(m.PlayerBDeck) > 0 { + l = 0 + for _, e := range m.PlayerBDeck { + l += sovTx(uint64(e)) + } + n += 1 + sovTx(uint64(l)) + l + } + return n +} + +func (m *MsgOpenMatchResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.MatchId != 0 { + n += 1 + sovTx(uint64(m.MatchId)) + } + return n +} + +func (m *MsgSetSetName) Size() (n int) { if m == nil { return 0 } @@ -9420,14 +9501,17 @@ func (m *MsgSetUserBiography) Size() (n int) { if l > 0 { n += 1 + l + sovTx(uint64(l)) } - l = len(m.Biography) + if m.SetId != 0 { + n += 1 + sovTx(uint64(m.SetId)) + } + l = len(m.Name) if l > 0 { n += 1 + l + sovTx(uint64(l)) } return n } -func (m *MsgSetUserBiographyResponse) Size() (n int) { +func (m *MsgSetSetNameResponse) Size() (n int) { if m == nil { return 0 } @@ -9703,7 +9787,7 @@ func (m *MsgBuyCardScheme) Unmarshal(dAtA []byte) error { if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field Bid", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -9713,23 +9797,24 @@ func (m *MsgBuyCardScheme) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return ErrInvalidLengthTx } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return ErrInvalidLengthTx } if postIndex > l { return io.ErrUnexpectedEOF } - m.Bid = string(dAtA[iNdEx:postIndex]) + if err := m.Bid.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex default: iNdEx = preIndex @@ -9781,6 +9866,25 @@ func (m *MsgBuyCardSchemeResponse) Unmarshal(dAtA []byte) error { return fmt.Errorf("proto: MsgBuyCardSchemeResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field CardId", wireType) + } + m.CardId = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.CardId |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) @@ -10079,235 +10183,17 @@ func (m *MsgSaveCardContent) Unmarshal(dAtA []byte) error { return io.ErrUnexpectedEOF } b := dAtA[iNdEx] - iNdEx++ - m.CardId |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Content", wireType) - } - var byteLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - byteLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if byteLen < 0 { - return ErrInvalidLengthTx - } - postIndex := iNdEx + byteLen - if postIndex < 0 { - return ErrInvalidLengthTx - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Content = append(m.Content[:0], dAtA[iNdEx:postIndex]...) - if m.Content == nil { - m.Content = []byte{} - } - iNdEx = postIndex - case 4: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Notes", 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.Notes = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 5: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Artist", 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.Artist = string(dAtA[iNdEx:postIndex]) - 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 *MsgSaveCardContentResponse) 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: MsgSaveCardContentResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgSaveCardContentResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field AirdropClaimed", wireType) - } - var v int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - m.AirdropClaimed = bool(v != 0) - 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 *MsgTransferCard) 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: MsgTransferCard: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgTransferCard: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: + iNdEx++ + m.CardId |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Creator", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Content", wireType) } - var stringLen uint64 + var byteLen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -10317,29 +10203,31 @@ func (m *MsgTransferCard) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + byteLen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if byteLen < 0 { return ErrInvalidLengthTx } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + byteLen if postIndex < 0 { return ErrInvalidLengthTx } if postIndex > l { return io.ErrUnexpectedEOF } - m.Creator = string(dAtA[iNdEx:postIndex]) + m.Content = append(m.Content[:0], dAtA[iNdEx:postIndex]...) + if m.Content == nil { + m.Content = []byte{} + } iNdEx = postIndex - case 2: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field CardId", wireType) + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Notes", wireType) } - m.CardId = 0 + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -10349,14 +10237,27 @@ func (m *MsgTransferCard) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.CardId |= uint64(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - case 4: + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Notes = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 5: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Receiver", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Artist", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -10384,8 +10285,28 @@ func (m *MsgTransferCard) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Receiver = string(dAtA[iNdEx:postIndex]) + m.Artist = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex + case 6: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field BalanceAnchor", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.BalanceAnchor = bool(v != 0) default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) @@ -10407,7 +10328,7 @@ func (m *MsgTransferCard) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgTransferCardResponse) Unmarshal(dAtA []byte) error { +func (m *MsgSaveCardContentResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -10430,12 +10351,32 @@ func (m *MsgTransferCardResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgTransferCardResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgSaveCardContentResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgTransferCardResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgSaveCardContentResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field AirdropClaimed", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.AirdropClaimed = bool(v != 0) default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) @@ -10457,7 +10398,7 @@ func (m *MsgTransferCardResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgDonateToCard) Unmarshal(dAtA []byte) error { +func (m *MsgTransferCard) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -10480,10 +10421,10 @@ func (m *MsgDonateToCard) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgDonateToCard: wiretype end group for non-group") + return fmt.Errorf("proto: MsgTransferCard: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgDonateToCard: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgTransferCard: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -10537,9 +10478,9 @@ func (m *MsgDonateToCard) Unmarshal(dAtA []byte) error { break } } - case 3: + case 4: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Amount", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Receiver", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -10567,9 +10508,7 @@ func (m *MsgDonateToCard) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.Amount.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } + m.Receiver = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex @@ -10592,7 +10531,7 @@ func (m *MsgDonateToCard) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgDonateToCardResponse) Unmarshal(dAtA []byte) error { +func (m *MsgTransferCardResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -10615,10 +10554,10 @@ func (m *MsgDonateToCardResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgDonateToCardResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgTransferCardResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgDonateToCardResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgTransferCardResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -10642,7 +10581,7 @@ func (m *MsgDonateToCardResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgAddArtwork) Unmarshal(dAtA []byte) error { +func (m *MsgDonateToCard) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -10665,10 +10604,10 @@ func (m *MsgAddArtwork) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgAddArtwork: wiretype end group for non-group") + return fmt.Errorf("proto: MsgDonateToCard: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgAddArtwork: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgDonateToCard: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -10724,9 +10663,9 @@ func (m *MsgAddArtwork) Unmarshal(dAtA []byte) error { } case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Image", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Amount", wireType) } - var byteLen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -10736,46 +10675,26 @@ func (m *MsgAddArtwork) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - byteLen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if byteLen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return ErrInvalidLengthTx } - postIndex := iNdEx + byteLen + postIndex := iNdEx + intStringLen if postIndex < 0 { return ErrInvalidLengthTx } if postIndex > l { return io.ErrUnexpectedEOF } - m.Image = append(m.Image[:0], dAtA[iNdEx:postIndex]...) - if m.Image == nil { - m.Image = []byte{} + if err := m.Amount.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err } iNdEx = postIndex - case 4: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field FullArt", wireType) - } - var v int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - m.FullArt = bool(v != 0) default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) @@ -10797,7 +10716,7 @@ func (m *MsgAddArtwork) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgAddArtworkResponse) Unmarshal(dAtA []byte) error { +func (m *MsgDonateToCardResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -10820,10 +10739,10 @@ func (m *MsgAddArtworkResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgAddArtworkResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgDonateToCardResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgAddArtworkResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgDonateToCardResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -10847,7 +10766,7 @@ func (m *MsgAddArtworkResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgSubmitCopyrightProposal) Unmarshal(dAtA []byte) error { +func (m *MsgAddArtwork) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -10870,10 +10789,10 @@ func (m *MsgSubmitCopyrightProposal) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgSubmitCopyrightProposal: wiretype end group for non-group") + return fmt.Errorf("proto: MsgAddArtwork: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgSubmitCopyrightProposal: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgAddArtwork: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -10929,9 +10848,9 @@ func (m *MsgSubmitCopyrightProposal) Unmarshal(dAtA []byte) error { } case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Description", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Image", wireType) } - var stringLen uint64 + var byteLen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -10941,29 +10860,31 @@ func (m *MsgSubmitCopyrightProposal) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + byteLen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if byteLen < 0 { return ErrInvalidLengthTx } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + byteLen if postIndex < 0 { return ErrInvalidLengthTx } if postIndex > l { return io.ErrUnexpectedEOF } - m.Description = string(dAtA[iNdEx:postIndex]) + m.Image = append(m.Image[:0], dAtA[iNdEx:postIndex]...) + if m.Image == nil { + m.Image = []byte{} + } iNdEx = postIndex case 4: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Link", wireType) + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field FullArt", wireType) } - var stringLen uint64 + var v int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -10973,24 +10894,12 @@ func (m *MsgSubmitCopyrightProposal) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + v |= int(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.Link = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex + m.FullArt = bool(v != 0) default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) @@ -11012,7 +10921,7 @@ func (m *MsgSubmitCopyrightProposal) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgSubmitCopyrightProposalResponse) Unmarshal(dAtA []byte) error { +func (m *MsgAddArtworkResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -11035,10 +10944,10 @@ func (m *MsgSubmitCopyrightProposalResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgSubmitCopyrightProposalResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgAddArtworkResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgSubmitCopyrightProposalResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgAddArtworkResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -11439,42 +11348,10 @@ func (m *MsgReportMatch) Unmarshal(dAtA []byte) error { m.Creator = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field PlayerA", 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.PlayerA = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field PlayerB", wireType) + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field MatchId", wireType) } - var stringLen uint64 + m.MatchId = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -11484,25 +11361,12 @@ func (m *MsgReportMatch) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + m.MatchId |= 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.PlayerB = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 5: + case 3: if wireType == 0 { var v uint64 for shift := uint(0); ; shift += 7 { @@ -11519,7 +11383,7 @@ func (m *MsgReportMatch) Unmarshal(dAtA []byte) error { break } } - m.CardsA = append(m.CardsA, v) + m.PlayedCardsA = append(m.PlayedCardsA, v) } else if wireType == 2 { var packedLen int for shift := uint(0); ; shift += 7 { @@ -11554,8 +11418,8 @@ func (m *MsgReportMatch) Unmarshal(dAtA []byte) error { } } elementCount = count - if elementCount != 0 && len(m.CardsA) == 0 { - m.CardsA = make([]uint64, 0, elementCount) + if elementCount != 0 && len(m.PlayedCardsA) == 0 { + m.PlayedCardsA = make([]uint64, 0, elementCount) } for iNdEx < postIndex { var v uint64 @@ -11573,12 +11437,12 @@ func (m *MsgReportMatch) Unmarshal(dAtA []byte) error { break } } - m.CardsA = append(m.CardsA, v) + m.PlayedCardsA = append(m.PlayedCardsA, v) } } else { - return fmt.Errorf("proto: wrong wireType = %d for field CardsA", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field PlayedCardsA", wireType) } - case 6: + case 4: if wireType == 0 { var v uint64 for shift := uint(0); ; shift += 7 { @@ -11595,7 +11459,7 @@ func (m *MsgReportMatch) Unmarshal(dAtA []byte) error { break } } - m.CardsB = append(m.CardsB, v) + m.PlayedCardsB = append(m.PlayedCardsB, v) } else if wireType == 2 { var packedLen int for shift := uint(0); ; shift += 7 { @@ -11630,8 +11494,8 @@ func (m *MsgReportMatch) Unmarshal(dAtA []byte) error { } } elementCount = count - if elementCount != 0 && len(m.CardsB) == 0 { - m.CardsB = make([]uint64, 0, elementCount) + if elementCount != 0 && len(m.PlayedCardsB) == 0 { + m.PlayedCardsB = make([]uint64, 0, elementCount) } for iNdEx < postIndex { var v uint64 @@ -11649,12 +11513,12 @@ func (m *MsgReportMatch) Unmarshal(dAtA []byte) error { break } } - m.CardsB = append(m.CardsB, v) + m.PlayedCardsB = append(m.PlayedCardsB, v) } } else { - return fmt.Errorf("proto: wrong wireType = %d for field CardsB", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field PlayedCardsB", wireType) } - case 7: + case 5: if wireType != 0 { return fmt.Errorf("proto: wrong wireType = %d for field Outcome", wireType) } @@ -11763,7 +11627,7 @@ func (m *MsgReportMatchResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgSubmitMatchReporterProposal) Unmarshal(dAtA []byte) error { +func (m *MsgApointMatchReporter) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -11786,10 +11650,10 @@ func (m *MsgSubmitMatchReporterProposal) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgSubmitMatchReporterProposal: wiretype end group for non-group") + return fmt.Errorf("proto: MsgApointMatchReporter: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgSubmitMatchReporterProposal: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgApointMatchReporter: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -11856,70 +11720,6 @@ func (m *MsgSubmitMatchReporterProposal) Unmarshal(dAtA []byte) error { } m.Reporter = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Deposit", 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.Deposit = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 4: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Description", 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.Description = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) @@ -11941,7 +11741,7 @@ func (m *MsgSubmitMatchReporterProposal) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgSubmitMatchReporterProposalResponse) Unmarshal(dAtA []byte) error { +func (m *MsgApointMatchReporterResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -11964,10 +11764,10 @@ func (m *MsgSubmitMatchReporterProposalResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgSubmitMatchReporterProposalResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgApointMatchReporterResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgSubmitMatchReporterProposalResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgApointMatchReporterResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -11991,7 +11791,7 @@ func (m *MsgSubmitMatchReporterProposalResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgApointMatchReporter) Unmarshal(dAtA []byte) error { +func (m *MsgCreateSet) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -12014,10 +11814,10 @@ func (m *MsgApointMatchReporter) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgApointMatchReporter: wiretype end group for non-group") + return fmt.Errorf("proto: MsgCreateSet: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgApointMatchReporter: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgCreateSet: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -12054,7 +11854,7 @@ func (m *MsgApointMatchReporter) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Reporter", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -12082,7 +11882,103 @@ func (m *MsgApointMatchReporter) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Reporter = string(dAtA[iNdEx:postIndex]) + m.Name = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Artist", 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.Artist = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field StoryWriter", 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.StoryWriter = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Contributors", 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.Contributors = append(m.Contributors, string(dAtA[iNdEx:postIndex])) iNdEx = postIndex default: iNdEx = preIndex @@ -12105,7 +12001,7 @@ func (m *MsgApointMatchReporter) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgApointMatchReporterResponse) Unmarshal(dAtA []byte) error { +func (m *MsgCreateSetResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -12128,10 +12024,10 @@ func (m *MsgApointMatchReporterResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgApointMatchReporterResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgCreateSetResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgApointMatchReporterResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgCreateSetResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -12155,7 +12051,7 @@ func (m *MsgApointMatchReporterResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgCreateCollection) Unmarshal(dAtA []byte) error { +func (m *MsgAddCardToSet) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -12178,10 +12074,10 @@ func (m *MsgCreateCollection) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgCreateCollection: wiretype end group for non-group") + return fmt.Errorf("proto: MsgAddCardToSet: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCreateCollection: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgAddCardToSet: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -12217,10 +12113,10 @@ func (m *MsgCreateCollection) Unmarshal(dAtA []byte) error { m.Creator = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType) + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field SetId", wireType) } - var stringLen uint64 + m.SetId = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -12230,29 +12126,16 @@ func (m *MsgCreateCollection) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + m.SetId |= 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.Name = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Artist", wireType) + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field CardId", wireType) } - var stringLen uint64 + m.CardId = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -12262,27 +12145,114 @@ func (m *MsgCreateCollection) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + m.CardId |= uint64(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + 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 *MsgAddCardToSetResponse) 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: MsgAddCardToSetResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgAddCardToSetResponse: 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 } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthTx + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF } - if postIndex > l { + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MsgFinalizeSet) 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 } - m.Artist = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 4: + 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: MsgFinalizeSet: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgFinalizeSet: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field StoryWriter", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Creator", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -12310,13 +12280,13 @@ func (m *MsgCreateCollection) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.StoryWriter = string(dAtA[iNdEx:postIndex]) + m.Creator = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 5: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Contributors", wireType) + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field SetId", wireType) } - var stringLen uint64 + m.SetId = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -12326,24 +12296,11 @@ func (m *MsgCreateCollection) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + m.SetId |= 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.Contributors = append(m.Contributors, string(dAtA[iNdEx:postIndex])) - iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) @@ -12365,7 +12322,7 @@ func (m *MsgCreateCollection) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgCreateCollectionResponse) Unmarshal(dAtA []byte) error { +func (m *MsgFinalizeSetResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -12388,10 +12345,10 @@ func (m *MsgCreateCollectionResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgCreateCollectionResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgFinalizeSetResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCreateCollectionResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgFinalizeSetResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -12415,7 +12372,7 @@ func (m *MsgCreateCollectionResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgAddCardToCollection) Unmarshal(dAtA []byte) error { +func (m *MsgBuyBoosterPack) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -12438,10 +12395,10 @@ func (m *MsgAddCardToCollection) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgAddCardToCollection: wiretype end group for non-group") + return fmt.Errorf("proto: MsgBuyBoosterPack: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgAddCardToCollection: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgBuyBoosterPack: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -12478,28 +12435,9 @@ func (m *MsgAddCardToCollection) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 2: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field CollectionId", wireType) - } - m.CollectionId = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.CollectionId |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 3: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field CardId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field SetId", wireType) } - m.CardId = 0 + m.SetId = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -12509,7 +12447,7 @@ func (m *MsgAddCardToCollection) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.CardId |= uint64(b&0x7F) << shift + m.SetId |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -12535,7 +12473,7 @@ func (m *MsgAddCardToCollection) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgAddCardToCollectionResponse) Unmarshal(dAtA []byte) error { +func (m *MsgBuyBoosterPackResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -12558,12 +12496,32 @@ func (m *MsgAddCardToCollectionResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgAddCardToCollectionResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgBuyBoosterPackResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgAddCardToCollectionResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgBuyBoosterPackResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field AirdropClaimed", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.AirdropClaimed = bool(v != 0) default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) @@ -12585,7 +12543,7 @@ func (m *MsgAddCardToCollectionResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgFinalizeCollection) Unmarshal(dAtA []byte) error { +func (m *MsgRemoveCardFromSet) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -12608,10 +12566,10 @@ func (m *MsgFinalizeCollection) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgFinalizeCollection: wiretype end group for non-group") + return fmt.Errorf("proto: MsgRemoveCardFromSet: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgFinalizeCollection: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgRemoveCardFromSet: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -12648,9 +12606,28 @@ func (m *MsgFinalizeCollection) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 2: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field CollectionId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field SetId", wireType) + } + m.SetId = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.SetId |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field CardId", wireType) } - m.CollectionId = 0 + m.CardId = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -12660,7 +12637,7 @@ func (m *MsgFinalizeCollection) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.CollectionId |= uint64(b&0x7F) << shift + m.CardId |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -12686,7 +12663,7 @@ func (m *MsgFinalizeCollection) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgFinalizeCollectionResponse) Unmarshal(dAtA []byte) error { +func (m *MsgRemoveCardFromSetResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -12709,10 +12686,10 @@ func (m *MsgFinalizeCollectionResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgFinalizeCollectionResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgRemoveCardFromSetResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgFinalizeCollectionResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgRemoveCardFromSetResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -12736,7 +12713,7 @@ func (m *MsgFinalizeCollectionResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgBuyCollection) Unmarshal(dAtA []byte) error { +func (m *MsgRemoveContributorFromSet) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -12759,10 +12736,10 @@ func (m *MsgBuyCollection) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgBuyCollection: wiretype end group for non-group") + return fmt.Errorf("proto: MsgRemoveContributorFromSet: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgBuyCollection: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgRemoveContributorFromSet: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -12799,9 +12776,28 @@ func (m *MsgBuyCollection) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 2: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field CollectionId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field SetId", wireType) + } + m.SetId = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.SetId |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } } - m.CollectionId = 0 + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field User", wireType) + } + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -12811,11 +12807,24 @@ func (m *MsgBuyCollection) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.CollectionId |= uint64(b&0x7F) << shift + 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.User = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) @@ -12837,7 +12846,7 @@ func (m *MsgBuyCollection) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgBuyCollectionResponse) Unmarshal(dAtA []byte) error { +func (m *MsgRemoveContributorFromSetResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -12860,32 +12869,12 @@ func (m *MsgBuyCollectionResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgBuyCollectionResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgRemoveContributorFromSetResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgBuyCollectionResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgRemoveContributorFromSetResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { - case 1: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field AirdropClaimed", wireType) - } - var v int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - m.AirdropClaimed = bool(v != 0) default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) @@ -12907,7 +12896,7 @@ func (m *MsgBuyCollectionResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgRemoveCardFromCollection) Unmarshal(dAtA []byte) error { +func (m *MsgAddContributorToSet) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -12930,10 +12919,10 @@ func (m *MsgRemoveCardFromCollection) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgRemoveCardFromCollection: wiretype end group for non-group") + return fmt.Errorf("proto: MsgAddContributorToSet: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgRemoveCardFromCollection: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgAddContributorToSet: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -12970,9 +12959,9 @@ func (m *MsgRemoveCardFromCollection) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 2: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field CollectionId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field SetId", wireType) } - m.CollectionId = 0 + m.SetId = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -12982,16 +12971,16 @@ func (m *MsgRemoveCardFromCollection) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.CollectionId |= uint64(b&0x7F) << shift + m.SetId |= uint64(b&0x7F) << shift if b < 0x80 { break } } case 3: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field CardId", wireType) + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field User", wireType) } - m.CardId = 0 + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -13001,11 +12990,24 @@ func (m *MsgRemoveCardFromCollection) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.CardId |= uint64(b&0x7F) << shift + 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.User = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) @@ -13027,7 +13029,7 @@ func (m *MsgRemoveCardFromCollection) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgRemoveCardFromCollectionResponse) Unmarshal(dAtA []byte) error { +func (m *MsgAddContributorToSetResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -13050,10 +13052,10 @@ func (m *MsgRemoveCardFromCollectionResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgRemoveCardFromCollectionResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgAddContributorToSetResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgRemoveCardFromCollectionResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgAddContributorToSetResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -13077,7 +13079,7 @@ func (m *MsgRemoveCardFromCollectionResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgRemoveContributorFromCollection) Unmarshal(dAtA []byte) error { +func (m *MsgCreateSellOffer) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -13100,10 +13102,10 @@ func (m *MsgRemoveContributorFromCollection) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgRemoveContributorFromCollection: wiretype end group for non-group") + return fmt.Errorf("proto: MsgCreateSellOffer: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgRemoveContributorFromCollection: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgCreateSellOffer: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -13140,9 +13142,9 @@ func (m *MsgRemoveContributorFromCollection) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 2: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field CollectionId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Card", wireType) } - m.CollectionId = 0 + m.Card = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -13152,14 +13154,14 @@ func (m *MsgRemoveContributorFromCollection) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.CollectionId |= uint64(b&0x7F) << shift + m.Card |= uint64(b&0x7F) << shift if b < 0x80 { break } } case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field User", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Price", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -13187,7 +13189,9 @@ func (m *MsgRemoveContributorFromCollection) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.User = string(dAtA[iNdEx:postIndex]) + if err := m.Price.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex default: iNdEx = preIndex @@ -13210,7 +13214,7 @@ func (m *MsgRemoveContributorFromCollection) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgRemoveContributorFromCollectionResponse) Unmarshal(dAtA []byte) error { +func (m *MsgCreateSellOfferResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -13233,10 +13237,10 @@ func (m *MsgRemoveContributorFromCollectionResponse) Unmarshal(dAtA []byte) erro fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgRemoveContributorFromCollectionResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgCreateSellOfferResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgRemoveContributorFromCollectionResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgCreateSellOfferResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -13260,7 +13264,7 @@ func (m *MsgRemoveContributorFromCollectionResponse) Unmarshal(dAtA []byte) erro } return nil } -func (m *MsgAddContributorToCollection) Unmarshal(dAtA []byte) error { +func (m *MsgBuyCard) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -13283,10 +13287,10 @@ func (m *MsgAddContributorToCollection) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgAddContributorToCollection: wiretype end group for non-group") + return fmt.Errorf("proto: MsgBuyCard: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgAddContributorToCollection: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgBuyCard: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -13323,28 +13327,9 @@ func (m *MsgAddContributorToCollection) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 2: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field CollectionId", wireType) - } - m.CollectionId = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.CollectionId |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field User", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field SellOfferId", wireType) } - var stringLen uint64 + m.SellOfferId = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -13354,24 +13339,11 @@ func (m *MsgAddContributorToCollection) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + m.SellOfferId |= 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.User = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) @@ -13393,7 +13365,7 @@ func (m *MsgAddContributorToCollection) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgAddContributorToCollectionResponse) Unmarshal(dAtA []byte) error { +func (m *MsgBuyCardResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -13416,10 +13388,10 @@ func (m *MsgAddContributorToCollectionResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgAddContributorToCollectionResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgBuyCardResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgAddContributorToCollectionResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgBuyCardResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -13443,7 +13415,7 @@ func (m *MsgAddContributorToCollectionResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgSubmitCollectionProposal) Unmarshal(dAtA []byte) error { +func (m *MsgRemoveSellOffer) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -13466,10 +13438,10 @@ func (m *MsgSubmitCollectionProposal) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgSubmitCollectionProposal: wiretype end group for non-group") + return fmt.Errorf("proto: MsgRemoveSellOffer: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgSubmitCollectionProposal: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgRemoveSellOffer: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -13506,9 +13478,9 @@ func (m *MsgSubmitCollectionProposal) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 2: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field CollectionId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field SellOfferId", wireType) } - m.CollectionId = 0 + m.SellOfferId = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -13518,7 +13490,7 @@ func (m *MsgSubmitCollectionProposal) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.CollectionId |= uint64(b&0x7F) << shift + m.SellOfferId |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -13544,7 +13516,7 @@ func (m *MsgSubmitCollectionProposal) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgSubmitCollectionProposalResponse) Unmarshal(dAtA []byte) error { +func (m *MsgRemoveSellOfferResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -13567,10 +13539,10 @@ func (m *MsgSubmitCollectionProposalResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgSubmitCollectionProposalResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgRemoveSellOfferResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgSubmitCollectionProposalResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgRemoveSellOfferResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -13594,7 +13566,7 @@ func (m *MsgSubmitCollectionProposalResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgCreateSellOffer) Unmarshal(dAtA []byte) error { +func (m *MsgAddArtworkToSet) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -13617,10 +13589,10 @@ func (m *MsgCreateSellOffer) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgCreateSellOffer: wiretype end group for non-group") + return fmt.Errorf("proto: MsgAddArtworkToSet: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCreateSellOffer: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgAddArtworkToSet: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -13657,9 +13629,9 @@ func (m *MsgCreateSellOffer) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 2: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Card", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field SetId", wireType) } - m.Card = 0 + m.SetId = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -13669,16 +13641,16 @@ func (m *MsgCreateSellOffer) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Card |= uint64(b&0x7F) << shift + m.SetId |= uint64(b&0x7F) << shift if b < 0x80 { break } } case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Price", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Image", wireType) } - var stringLen uint64 + var byteLen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -13688,24 +13660,24 @@ func (m *MsgCreateSellOffer) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + byteLen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if byteLen < 0 { return ErrInvalidLengthTx } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + byteLen if postIndex < 0 { return ErrInvalidLengthTx } if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.Price.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err + m.Image = append(m.Image[:0], dAtA[iNdEx:postIndex]...) + if m.Image == nil { + m.Image = []byte{} } iNdEx = postIndex default: @@ -13729,7 +13701,7 @@ func (m *MsgCreateSellOffer) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgCreateSellOfferResponse) Unmarshal(dAtA []byte) error { +func (m *MsgAddArtworkToSetResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -13752,10 +13724,10 @@ func (m *MsgCreateSellOfferResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgCreateSellOfferResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgAddArtworkToSetResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCreateSellOfferResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgAddArtworkToSetResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -13779,7 +13751,7 @@ func (m *MsgCreateSellOfferResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgBuyCard) Unmarshal(dAtA []byte) error { +func (m *MsgAddStoryToSet) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -13802,10 +13774,10 @@ func (m *MsgBuyCard) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgBuyCard: wiretype end group for non-group") + return fmt.Errorf("proto: MsgAddStoryToSet: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgBuyCard: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgAddStoryToSet: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -13842,9 +13814,9 @@ func (m *MsgBuyCard) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 2: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field SellOfferId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field SetId", wireType) } - m.SellOfferId = 0 + m.SetId = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -13854,11 +13826,43 @@ func (m *MsgBuyCard) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.SellOfferId |= uint64(b&0x7F) << shift + m.SetId |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Story", 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.Story = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) @@ -13880,7 +13884,7 @@ func (m *MsgBuyCard) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgBuyCardResponse) Unmarshal(dAtA []byte) error { +func (m *MsgAddStoryToSetResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -13903,10 +13907,10 @@ func (m *MsgBuyCardResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgBuyCardResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgAddStoryToSetResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgBuyCardResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgAddStoryToSetResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -13930,7 +13934,7 @@ func (m *MsgBuyCardResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgRemoveSellOffer) Unmarshal(dAtA []byte) error { +func (m *MsgSetCardRarity) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -13953,10 +13957,10 @@ func (m *MsgRemoveSellOffer) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgRemoveSellOffer: wiretype end group for non-group") + return fmt.Errorf("proto: MsgSetCardRarity: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgRemoveSellOffer: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgSetCardRarity: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -13993,9 +13997,9 @@ func (m *MsgRemoveSellOffer) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 2: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field SellOfferId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field CardId", wireType) } - m.SellOfferId = 0 + m.CardId = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -14005,7 +14009,45 @@ func (m *MsgRemoveSellOffer) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.SellOfferId |= uint64(b&0x7F) << shift + m.CardId |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field SetId", wireType) + } + m.SetId = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.SetId |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Rarity", wireType) + } + m.Rarity = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Rarity |= CardRarity(b&0x7F) << shift if b < 0x80 { break } @@ -14031,7 +14073,7 @@ func (m *MsgRemoveSellOffer) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgRemoveSellOfferResponse) Unmarshal(dAtA []byte) error { +func (m *MsgSetCardRarityResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -14054,10 +14096,10 @@ func (m *MsgRemoveSellOfferResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgRemoveSellOfferResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgSetCardRarityResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgRemoveSellOfferResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgSetCardRarityResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -14081,7 +14123,7 @@ func (m *MsgRemoveSellOfferResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgAddArtworkToCollection) Unmarshal(dAtA []byte) error { +func (m *MsgCreateCouncil) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -14104,10 +14146,10 @@ func (m *MsgAddArtworkToCollection) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgAddArtworkToCollection: wiretype end group for non-group") + return fmt.Errorf("proto: MsgCreateCouncil: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgAddArtworkToCollection: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgCreateCouncil: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -14144,28 +14186,9 @@ func (m *MsgAddArtworkToCollection) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 2: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field CollectionId", wireType) - } - m.CollectionId = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.CollectionId |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Image", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field CardId", wireType) } - var byteLen int + m.CardId = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -14175,26 +14198,11 @@ func (m *MsgAddArtworkToCollection) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - byteLen |= int(b&0x7F) << shift + m.CardId |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if byteLen < 0 { - return ErrInvalidLengthTx - } - postIndex := iNdEx + byteLen - if postIndex < 0 { - return ErrInvalidLengthTx - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Image = append(m.Image[:0], dAtA[iNdEx:postIndex]...) - if m.Image == nil { - m.Image = []byte{} - } - iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) @@ -14216,7 +14224,7 @@ func (m *MsgAddArtworkToCollection) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgAddArtworkToCollectionResponse) Unmarshal(dAtA []byte) error { +func (m *MsgCreateCouncilResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -14239,10 +14247,10 @@ func (m *MsgAddArtworkToCollectionResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgAddArtworkToCollectionResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgCreateCouncilResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgAddArtworkToCollectionResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgCreateCouncilResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -14266,7 +14274,7 @@ func (m *MsgAddArtworkToCollectionResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgAddStoryToCollection) Unmarshal(dAtA []byte) error { +func (m *MsgCommitCouncilResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -14289,10 +14297,10 @@ func (m *MsgAddStoryToCollection) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgAddStoryToCollection: wiretype end group for non-group") + return fmt.Errorf("proto: MsgCommitCouncilResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgAddStoryToCollection: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgCommitCouncilResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -14328,10 +14336,10 @@ func (m *MsgAddStoryToCollection) Unmarshal(dAtA []byte) error { m.Creator = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 2: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field CollectionId", wireType) + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Response", wireType) } - m.CollectionId = 0 + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -14341,14 +14349,46 @@ func (m *MsgAddStoryToCollection) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.CollectionId |= uint64(b&0x7F) << shift + 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.Response = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field CouncilId", wireType) + } + m.CouncilId = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.CouncilId |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 4: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Story", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Suggestion", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -14376,7 +14416,7 @@ func (m *MsgAddStoryToCollection) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Story = string(dAtA[iNdEx:postIndex]) + m.Suggestion = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex @@ -14399,7 +14439,7 @@ func (m *MsgAddStoryToCollection) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgAddStoryToCollectionResponse) Unmarshal(dAtA []byte) error { +func (m *MsgCommitCouncilResponseResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -14422,10 +14462,10 @@ func (m *MsgAddStoryToCollectionResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgAddStoryToCollectionResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgCommitCouncilResponseResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgAddStoryToCollectionResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgCommitCouncilResponseResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -14449,7 +14489,7 @@ func (m *MsgAddStoryToCollectionResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgSetCardRarity) Unmarshal(dAtA []byte) error { +func (m *MsgRevealCouncilResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -14472,10 +14512,10 @@ func (m *MsgSetCardRarity) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgSetCardRarity: wiretype end group for non-group") + return fmt.Errorf("proto: MsgRevealCouncilResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgSetCardRarity: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgRevealCouncilResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -14501,39 +14541,20 @@ func (m *MsgSetCardRarity) Unmarshal(dAtA []byte) error { if intStringLen < 0 { return ErrInvalidLengthTx } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthTx - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Creator = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field CardId", wireType) - } - m.CardId = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.CardId |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 3: + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Creator = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field CollectionId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Response", wireType) } - m.CollectionId = 0 + m.Response = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -14543,14 +14564,14 @@ func (m *MsgSetCardRarity) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.CollectionId |= uint64(b&0x7F) << shift + m.Response |= Response(b&0x7F) << shift if b < 0x80 { break } } - case 4: + case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Rarity", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Secret", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -14578,8 +14599,27 @@ func (m *MsgSetCardRarity) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Rarity = string(dAtA[iNdEx:postIndex]) + m.Secret = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field CouncilId", wireType) + } + m.CouncilId = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.CouncilId |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) @@ -14601,7 +14641,7 @@ func (m *MsgSetCardRarity) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgSetCardRarityResponse) Unmarshal(dAtA []byte) error { +func (m *MsgRevealCouncilResponseResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -14624,10 +14664,10 @@ func (m *MsgSetCardRarityResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgSetCardRarityResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgRevealCouncilResponseResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgSetCardRarityResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgRevealCouncilResponseResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -14651,7 +14691,7 @@ func (m *MsgSetCardRarityResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgCreateCouncil) Unmarshal(dAtA []byte) error { +func (m *MsgRestartCouncil) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -14674,10 +14714,10 @@ func (m *MsgCreateCouncil) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgCreateCouncil: wiretype end group for non-group") + return fmt.Errorf("proto: MsgRestartCouncil: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCreateCouncil: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgRestartCouncil: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -14714,9 +14754,9 @@ func (m *MsgCreateCouncil) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 2: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field CardId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field CouncilId", wireType) } - m.CardId = 0 + m.CouncilId = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -14726,7 +14766,7 @@ func (m *MsgCreateCouncil) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.CardId |= uint64(b&0x7F) << shift + m.CouncilId |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -14752,7 +14792,7 @@ func (m *MsgCreateCouncil) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgCreateCouncilResponse) Unmarshal(dAtA []byte) error { +func (m *MsgRestartCouncilResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -14775,10 +14815,10 @@ func (m *MsgCreateCouncilResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgCreateCouncilResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgRestartCouncilResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCreateCouncilResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgRestartCouncilResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -14802,7 +14842,7 @@ func (m *MsgCreateCouncilResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgCommitCouncilResponse) Unmarshal(dAtA []byte) error { +func (m *MsgRewokeCouncilRegistration) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -14825,10 +14865,10 @@ func (m *MsgCommitCouncilResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgCommitCouncilResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgRewokeCouncilRegistration: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCommitCouncilResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgRewokeCouncilRegistration: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -14863,89 +14903,6 @@ func (m *MsgCommitCouncilResponse) Unmarshal(dAtA []byte) error { } m.Creator = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Response", 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.Response = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 3: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field CouncilId", wireType) - } - m.CouncilId = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.CouncilId |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 4: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Suggestion", 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.Suggestion = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) @@ -14967,7 +14924,7 @@ func (m *MsgCommitCouncilResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgCommitCouncilResponseResponse) Unmarshal(dAtA []byte) error { +func (m *MsgRewokeCouncilRegistrationResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -14990,10 +14947,10 @@ func (m *MsgCommitCouncilResponseResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgCommitCouncilResponseResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgRewokeCouncilRegistrationResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCommitCouncilResponseResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgRewokeCouncilRegistrationResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -15017,7 +14974,7 @@ func (m *MsgCommitCouncilResponseResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgRevealCouncilResponse) Unmarshal(dAtA []byte) error { +func (m *MsgConfirmMatch) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -15040,10 +14997,10 @@ func (m *MsgRevealCouncilResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgRevealCouncilResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgConfirmMatch: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgRevealCouncilResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgConfirmMatch: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -15080,9 +15037,9 @@ func (m *MsgRevealCouncilResponse) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 2: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Response", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field MatchId", wireType) } - m.Response = 0 + m.MatchId = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -15092,16 +15049,16 @@ func (m *MsgRevealCouncilResponse) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Response |= Response(b&0x7F) << shift + m.MatchId |= uint64(b&0x7F) << shift if b < 0x80 { break } } case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Secret", wireType) + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Outcome", wireType) } - var stringLen uint64 + m.Outcome = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -15111,29 +15068,16 @@ func (m *MsgRevealCouncilResponse) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + m.Outcome |= Outcome(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.Secret = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex case 4: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field CouncilId", wireType) + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field VotedCards", wireType) } - m.CouncilId = 0 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -15143,11 +15087,26 @@ func (m *MsgRevealCouncilResponse) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.CouncilId |= uint64(b&0x7F) << shift + 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 + } + m.VotedCards = append(m.VotedCards, &SingleVote{}) + if err := m.VotedCards[len(m.VotedCards)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) @@ -15169,7 +15128,7 @@ func (m *MsgRevealCouncilResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgRevealCouncilResponseResponse) Unmarshal(dAtA []byte) error { +func (m *MsgConfirmMatchResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -15192,10 +15151,10 @@ func (m *MsgRevealCouncilResponseResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgRevealCouncilResponseResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgConfirmMatchResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgRevealCouncilResponseResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgConfirmMatchResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -15219,7 +15178,7 @@ func (m *MsgRevealCouncilResponseResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgRestartCouncil) Unmarshal(dAtA []byte) error { +func (m *MsgSetProfileCard) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -15242,10 +15201,10 @@ func (m *MsgRestartCouncil) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgRestartCouncil: wiretype end group for non-group") + return fmt.Errorf("proto: MsgSetProfileCard: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgRestartCouncil: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgSetProfileCard: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -15282,9 +15241,9 @@ func (m *MsgRestartCouncil) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 2: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field CouncilId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field CardId", wireType) } - m.CouncilId = 0 + m.CardId = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -15294,7 +15253,7 @@ func (m *MsgRestartCouncil) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.CouncilId |= uint64(b&0x7F) << shift + m.CardId |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -15320,7 +15279,7 @@ func (m *MsgRestartCouncil) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgRestartCouncilResponse) Unmarshal(dAtA []byte) error { +func (m *MsgSetProfileCardResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -15343,10 +15302,10 @@ func (m *MsgRestartCouncilResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgRestartCouncilResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgSetProfileCardResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgRestartCouncilResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgSetProfileCardResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -15370,7 +15329,7 @@ func (m *MsgRestartCouncilResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgRewokeCouncilRegistration) Unmarshal(dAtA []byte) error { +func (m *MsgOpenBoosterPack) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -15393,10 +15352,10 @@ func (m *MsgRewokeCouncilRegistration) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgRewokeCouncilRegistration: wiretype end group for non-group") + return fmt.Errorf("proto: MsgOpenBoosterPack: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgRewokeCouncilRegistration: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgOpenBoosterPack: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -15431,6 +15390,25 @@ func (m *MsgRewokeCouncilRegistration) Unmarshal(dAtA []byte) error { } m.Creator = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field BoosterPackId", wireType) + } + m.BoosterPackId = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.BoosterPackId |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) @@ -15452,7 +15430,7 @@ func (m *MsgRewokeCouncilRegistration) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgRewokeCouncilRegistrationResponse) Unmarshal(dAtA []byte) error { +func (m *MsgOpenBoosterPackResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -15475,12 +15453,88 @@ func (m *MsgRewokeCouncilRegistrationResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgRewokeCouncilRegistrationResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgOpenBoosterPackResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgRewokeCouncilRegistrationResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgOpenBoosterPackResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { + case 1: + if wireType == 0 { + var v uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.CardIds = append(m.CardIds, v) + } else if wireType == 2 { + var packedLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + packedLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if packedLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + packedLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + var elementCount int + var count int + for _, integer := range dAtA[iNdEx:postIndex] { + if integer < 128 { + count++ + } + } + elementCount = count + if elementCount != 0 && len(m.CardIds) == 0 { + m.CardIds = make([]uint64, 0, elementCount) + } + for iNdEx < postIndex { + var v uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.CardIds = append(m.CardIds, v) + } + } else { + return fmt.Errorf("proto: wrong wireType = %d for field CardIds", wireType) + } default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) @@ -15502,7 +15556,7 @@ func (m *MsgRewokeCouncilRegistrationResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgConfirmMatch) Unmarshal(dAtA []byte) error { +func (m *MsgTransferBoosterPack) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -15525,10 +15579,10 @@ func (m *MsgConfirmMatch) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgConfirmMatch: wiretype end group for non-group") + return fmt.Errorf("proto: MsgTransferBoosterPack: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgConfirmMatch: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgTransferBoosterPack: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -15565,9 +15619,9 @@ func (m *MsgConfirmMatch) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 2: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field MatchId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field BoosterPackId", wireType) } - m.MatchId = 0 + m.BoosterPackId = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -15577,16 +15631,16 @@ func (m *MsgConfirmMatch) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.MatchId |= uint64(b&0x7F) << shift + m.BoosterPackId |= uint64(b&0x7F) << shift if b < 0x80 { break } } case 3: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Outcome", wireType) + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Receiver", wireType) } - m.Outcome = 0 + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -15596,11 +15650,24 @@ func (m *MsgConfirmMatch) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Outcome |= Outcome(b&0x7F) << shift + 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.Receiver = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) @@ -15622,7 +15689,7 @@ func (m *MsgConfirmMatch) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgConfirmMatchResponse) Unmarshal(dAtA []byte) error { +func (m *MsgTransferBoosterPackResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -15645,10 +15712,10 @@ func (m *MsgConfirmMatchResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgConfirmMatchResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgTransferBoosterPackResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgConfirmMatchResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgTransferBoosterPackResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -15672,7 +15739,7 @@ func (m *MsgConfirmMatchResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgSetProfileCard) Unmarshal(dAtA []byte) error { +func (m *MsgSetSetStoryWriter) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -15695,10 +15762,10 @@ func (m *MsgSetProfileCard) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgSetProfileCard: wiretype end group for non-group") + return fmt.Errorf("proto: MsgSetSetStoryWriter: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgSetProfileCard: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgSetSetStoryWriter: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -15735,9 +15802,9 @@ func (m *MsgSetProfileCard) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 2: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field CardId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field SetId", wireType) } - m.CardId = 0 + m.SetId = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -15747,11 +15814,43 @@ func (m *MsgSetProfileCard) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.CardId |= uint64(b&0x7F) << shift + m.SetId |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field StoryWriter", 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.StoryWriter = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) @@ -15773,7 +15872,7 @@ func (m *MsgSetProfileCard) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgSetProfileCardResponse) Unmarshal(dAtA []byte) error { +func (m *MsgSetSetStoryWriterResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -15796,10 +15895,10 @@ func (m *MsgSetProfileCardResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgSetProfileCardResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgSetSetStoryWriterResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgSetProfileCardResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgSetSetStoryWriterResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -15823,7 +15922,7 @@ func (m *MsgSetProfileCardResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgOpenBoosterPack) Unmarshal(dAtA []byte) error { +func (m *MsgSetSetArtist) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -15846,10 +15945,10 @@ func (m *MsgOpenBoosterPack) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgOpenBoosterPack: wiretype end group for non-group") + return fmt.Errorf("proto: MsgSetSetArtist: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgOpenBoosterPack: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgSetSetArtist: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -15886,9 +15985,9 @@ func (m *MsgOpenBoosterPack) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 2: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field BoosterPackId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field SetId", wireType) } - m.BoosterPackId = 0 + m.SetId = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -15898,11 +15997,43 @@ func (m *MsgOpenBoosterPack) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.BoosterPackId |= uint64(b&0x7F) << shift + m.SetId |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Artist", 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.Artist = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) @@ -15924,7 +16055,7 @@ func (m *MsgOpenBoosterPack) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgOpenBoosterPackResponse) Unmarshal(dAtA []byte) error { +func (m *MsgSetSetArtistResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -15947,10 +16078,10 @@ func (m *MsgOpenBoosterPackResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgOpenBoosterPackResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgSetSetArtistResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgOpenBoosterPackResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgSetSetArtistResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -15974,7 +16105,7 @@ func (m *MsgOpenBoosterPackResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgTransferBoosterPack) Unmarshal(dAtA []byte) error { +func (m *MsgSetUserWebsite) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -15997,10 +16128,10 @@ func (m *MsgTransferBoosterPack) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgTransferBoosterPack: wiretype end group for non-group") + return fmt.Errorf("proto: MsgSetUserWebsite: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgTransferBoosterPack: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgSetUserWebsite: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -16036,27 +16167,8 @@ func (m *MsgTransferBoosterPack) Unmarshal(dAtA []byte) error { m.Creator = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 2: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field BoosterPackId", wireType) - } - m.BoosterPackId = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.BoosterPackId |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Receiver", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Website", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -16084,7 +16196,7 @@ func (m *MsgTransferBoosterPack) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Receiver = string(dAtA[iNdEx:postIndex]) + m.Website = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex @@ -16107,7 +16219,7 @@ func (m *MsgTransferBoosterPack) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgTransferBoosterPackResponse) Unmarshal(dAtA []byte) error { +func (m *MsgSetUserWebsiteResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -16130,10 +16242,10 @@ func (m *MsgTransferBoosterPackResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgTransferBoosterPackResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgSetUserWebsiteResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgTransferBoosterPackResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgSetUserWebsiteResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -16157,7 +16269,7 @@ func (m *MsgTransferBoosterPackResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgSetCollectionStoryWriter) Unmarshal(dAtA []byte) error { +func (m *MsgSetUserBiography) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -16180,10 +16292,10 @@ func (m *MsgSetCollectionStoryWriter) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgSetCollectionStoryWriter: wiretype end group for non-group") + return fmt.Errorf("proto: MsgSetUserBiography: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgSetCollectionStoryWriter: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgSetUserBiography: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -16219,27 +16331,8 @@ func (m *MsgSetCollectionStoryWriter) Unmarshal(dAtA []byte) error { m.Creator = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 2: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field CollectionId", wireType) - } - m.CollectionId = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.CollectionId |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field StoryWriter", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Biography", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -16267,7 +16360,7 @@ func (m *MsgSetCollectionStoryWriter) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.StoryWriter = string(dAtA[iNdEx:postIndex]) + m.Biography = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex @@ -16290,7 +16383,7 @@ func (m *MsgSetCollectionStoryWriter) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgSetCollectionStoryWriterResponse) Unmarshal(dAtA []byte) error { +func (m *MsgSetUserBiographyResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -16313,10 +16406,10 @@ func (m *MsgSetCollectionStoryWriterResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgSetCollectionStoryWriterResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgSetUserBiographyResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgSetCollectionStoryWriterResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgSetUserBiographyResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -16340,7 +16433,7 @@ func (m *MsgSetCollectionStoryWriterResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgSetCollectionArtist) Unmarshal(dAtA []byte) error { +func (m *MsgMultiVoteCard) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -16363,10 +16456,10 @@ func (m *MsgSetCollectionArtist) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgSetCollectionArtist: wiretype end group for non-group") + return fmt.Errorf("proto: MsgMultiVoteCard: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgSetCollectionArtist: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgMultiVoteCard: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -16402,29 +16495,10 @@ func (m *MsgSetCollectionArtist) Unmarshal(dAtA []byte) error { m.Creator = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 2: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field CollectionId", wireType) - } - m.CollectionId = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.CollectionId |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Artist", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Votes", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -16434,23 +16508,25 @@ func (m *MsgSetCollectionArtist) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return ErrInvalidLengthTx } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return ErrInvalidLengthTx } if postIndex > l { return io.ErrUnexpectedEOF } - m.Artist = string(dAtA[iNdEx:postIndex]) + m.Votes = append(m.Votes, &SingleVote{}) + if err := m.Votes[len(m.Votes)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex default: iNdEx = preIndex @@ -16473,7 +16549,7 @@ func (m *MsgSetCollectionArtist) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgSetCollectionArtistResponse) Unmarshal(dAtA []byte) error { +func (m *MsgMultiVoteCardResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -16496,10 +16572,10 @@ func (m *MsgSetCollectionArtistResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgSetCollectionArtistResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgMultiVoteCardResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgSetCollectionArtistResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgMultiVoteCardResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -16523,7 +16599,7 @@ func (m *MsgSetCollectionArtistResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgSetUserWebsite) Unmarshal(dAtA []byte) error { +func (m *MsgOpenMatch) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -16546,10 +16622,10 @@ func (m *MsgSetUserWebsite) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgSetUserWebsite: wiretype end group for non-group") + return fmt.Errorf("proto: MsgOpenMatch: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgSetUserWebsite: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgOpenMatch: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -16586,7 +16662,7 @@ func (m *MsgSetUserWebsite) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Website", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field PlayerA", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -16614,8 +16690,192 @@ func (m *MsgSetUserWebsite) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Website = string(dAtA[iNdEx:postIndex]) + m.PlayerA = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field PlayerB", 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.PlayerB = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex + case 4: + if wireType == 0 { + var v uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.PlayerADeck = append(m.PlayerADeck, v) + } else if wireType == 2 { + var packedLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + packedLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if packedLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + packedLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + var elementCount int + var count int + for _, integer := range dAtA[iNdEx:postIndex] { + if integer < 128 { + count++ + } + } + elementCount = count + if elementCount != 0 && len(m.PlayerADeck) == 0 { + m.PlayerADeck = make([]uint64, 0, elementCount) + } + for iNdEx < postIndex { + var v uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.PlayerADeck = append(m.PlayerADeck, v) + } + } else { + return fmt.Errorf("proto: wrong wireType = %d for field PlayerADeck", wireType) + } + case 5: + if wireType == 0 { + var v uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.PlayerBDeck = append(m.PlayerBDeck, v) + } else if wireType == 2 { + var packedLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + packedLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if packedLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + packedLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + var elementCount int + var count int + for _, integer := range dAtA[iNdEx:postIndex] { + if integer < 128 { + count++ + } + } + elementCount = count + if elementCount != 0 && len(m.PlayerBDeck) == 0 { + m.PlayerBDeck = make([]uint64, 0, elementCount) + } + for iNdEx < postIndex { + var v uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.PlayerBDeck = append(m.PlayerBDeck, v) + } + } else { + return fmt.Errorf("proto: wrong wireType = %d for field PlayerBDeck", wireType) + } default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) @@ -16637,7 +16897,7 @@ func (m *MsgSetUserWebsite) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgSetUserWebsiteResponse) Unmarshal(dAtA []byte) error { +func (m *MsgOpenMatchResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -16660,12 +16920,31 @@ func (m *MsgSetUserWebsiteResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgSetUserWebsiteResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgOpenMatchResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgSetUserWebsiteResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgOpenMatchResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field MatchId", wireType) + } + m.MatchId = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.MatchId |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) @@ -16687,7 +16966,7 @@ func (m *MsgSetUserWebsiteResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgSetUserBiography) Unmarshal(dAtA []byte) error { +func (m *MsgSetSetName) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -16710,10 +16989,10 @@ func (m *MsgSetUserBiography) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgSetUserBiography: wiretype end group for non-group") + return fmt.Errorf("proto: MsgSetSetName: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgSetUserBiography: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgSetSetName: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -16749,8 +17028,27 @@ func (m *MsgSetUserBiography) Unmarshal(dAtA []byte) error { m.Creator = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field SetId", wireType) + } + m.SetId = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.SetId |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Biography", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -16778,7 +17076,7 @@ func (m *MsgSetUserBiography) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Biography = string(dAtA[iNdEx:postIndex]) + m.Name = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex @@ -16801,7 +17099,7 @@ func (m *MsgSetUserBiography) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgSetUserBiographyResponse) Unmarshal(dAtA []byte) error { +func (m *MsgSetSetNameResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -16824,10 +17122,10 @@ func (m *MsgSetUserBiographyResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgSetUserBiographyResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgSetSetNameResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgSetUserBiographyResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgSetSetNameResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: diff --git a/x/cardchain/types/types.go b/x/cardchain/types/types.go index 2380554b..c7659b74 100644 --- a/x/cardchain/types/types.go +++ b/x/cardchain/types/types.go @@ -4,20 +4,22 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" ) -func NewMatchPlayer(addr string, cards []uint64) *MatchPlayer { +func NewMatchPlayer(addr string, cards []uint64, deck []uint64) *MatchPlayer { return &MatchPlayer{ Addr: addr, PlayedCards: cards, + Deck: deck, Confirmed: false, Outcome: Outcome_Aborted, } } -func NewBoosterPack(ctx sdk.Context, collectionId uint64, raritiesPerPack []uint64) BoosterPack { +func NewBoosterPack(ctx sdk.Context, setId uint64, raritiesPerPack []uint64, dropRatiosPerPack []uint64) BoosterPack { return BoosterPack{ - CollectionId: collectionId, - RaritiesPerPack: raritiesPerPack, - TimeStamp: ctx.BlockHeight(), + SetId: setId, + RaritiesPerPack: raritiesPerPack, + TimeStamp: ctx.BlockHeight(), + DropRatiosPerPack: dropRatiosPerPack, } } diff --git a/x/cardchain/types/user.pb.go b/x/cardchain/types/user.pb.go index 9b17c812..2427820d 100644 --- a/x/cardchain/types/user.pb.go +++ b/x/cardchain/types/user.pb.go @@ -272,9 +272,12 @@ func (m *CouncilParticipation) GetCouncil() uint64 { } type BoosterPack struct { - CollectionId uint64 `protobuf:"varint,1,opt,name=collectionId,proto3" json:"collectionId,omitempty"` - TimeStamp int64 `protobuf:"varint,2,opt,name=timeStamp,proto3" json:"timeStamp,omitempty"` + SetId uint64 `protobuf:"varint,1,opt,name=setId,proto3" json:"setId,omitempty"` + TimeStamp int64 `protobuf:"varint,2,opt,name=timeStamp,proto3" json:"timeStamp,omitempty"` + // How often the different rarities will appear in a BoosterPack RaritiesPerPack []uint64 `protobuf:"varint,3,rep,packed,name=raritiesPerPack,proto3" json:"raritiesPerPack,omitempty"` + // The chances of the rare beeing a normal rare, an exceptional or a unique + DropRatiosPerPack []uint64 `protobuf:"varint,4,rep,packed,name=dropRatiosPerPack,proto3" json:"dropRatiosPerPack,omitempty"` } func (m *BoosterPack) Reset() { *m = BoosterPack{} } @@ -310,9 +313,9 @@ func (m *BoosterPack) XXX_DiscardUnknown() { var xxx_messageInfo_BoosterPack proto.InternalMessageInfo -func (m *BoosterPack) GetCollectionId() uint64 { +func (m *BoosterPack) GetSetId() uint64 { if m != nil { - return m.CollectionId + return m.SetId } return 0 } @@ -331,6 +334,13 @@ func (m *BoosterPack) GetRaritiesPerPack() []uint64 { return nil } +func (m *BoosterPack) GetDropRatiosPerPack() []uint64 { + if m != nil { + return m.DropRatiosPerPack + } + return nil +} + type AirDrops struct { Vote bool `protobuf:"varint,1,opt,name=vote,proto3" json:"vote,omitempty"` Create bool `protobuf:"varint,2,opt,name=create,proto3" json:"create,omitempty"` @@ -419,47 +429,48 @@ func init() { func init() { proto.RegisterFile("cardchain/cardchain/user.proto", fileDescriptor_eb1a13ac65ffc756) } var fileDescriptor_eb1a13ac65ffc756 = []byte{ - // 638 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x54, 0xcd, 0x6a, 0x1b, 0x3b, - 0x14, 0xf6, 0x78, 0x26, 0xf6, 0xf8, 0x38, 0x3f, 0x83, 0x08, 0x17, 0x71, 0xb9, 0x0c, 0x83, 0xc9, - 0x85, 0x21, 0x0b, 0xfb, 0xe2, 0xdb, 0x45, 0xa1, 0xdd, 0x34, 0x09, 0x94, 0xd2, 0x16, 0x8c, 0xd2, - 0x66, 0xd1, 0x4d, 0xd1, 0xc8, 0x6a, 0x2c, 0x3a, 0x1e, 0x0d, 0x92, 0x9c, 0xd4, 0x9b, 0x3e, 0x43, - 0x1f, 0xab, 0xcb, 0x2c, 0xbb, 0x2c, 0xc9, 0x0b, 0xf4, 0x11, 0x8a, 0x34, 0x9e, 0xd8, 0x4e, 0xbc, - 0x70, 0x77, 0xe7, 0x7c, 0xd2, 0xf9, 0xce, 0x77, 0x7e, 0x38, 0x10, 0x33, 0xaa, 0xc6, 0x6c, 0x42, - 0x45, 0x31, 0x58, 0x5a, 0x33, 0xcd, 0x55, 0xbf, 0x54, 0xd2, 0x48, 0xf4, 0xef, 0x19, 0x67, 0xbc, - 0x30, 0x8a, 0xe6, 0xa7, 0x54, 0x8d, 0x5f, 0xd2, 0x29, 0xef, 0xdf, 0xff, 0x5b, 0x5a, 0x7f, 0x1f, - 0x6d, 0xa2, 0xb9, 0x92, 0x86, 0x7f, 0x54, 0xe2, 0x72, 0x62, 0x2a, 0xb2, 0xde, 0xaf, 0x00, 0x82, - 0xf7, 0x9a, 0x2b, 0x74, 0x08, 0x3b, 0x34, 0x17, 0x54, 0x63, 0x2f, 0xf1, 0xd2, 0x0e, 0xa9, 0x1c, - 0x74, 0x0c, 0x91, 0xbc, 0x2e, 0xf8, 0xd8, 0x66, 0x3a, 0x67, 0x13, 0x3e, 0xe5, 0x1a, 0x37, 0x13, - 0x3f, 0x0d, 0xc8, 0x23, 0x1c, 0xa5, 0x70, 0xe0, 0xb0, 0x91, 0x25, 0x36, 0xf3, 0x92, 0x6b, 0xec, - 0xbb, 0xaf, 0x0f, 0x61, 0x9b, 0xcb, 0x4a, 0xd2, 0x38, 0x70, 0xef, 0x95, 0x83, 0x46, 0x00, 0x56, - 0x1e, 0xb1, 0xea, 0x34, 0xde, 0x49, 0xfc, 0xb4, 0x3b, 0xfc, 0xaf, 0xbf, 0x55, 0xb1, 0xfd, 0x8b, - 0x3a, 0x90, 0xac, 0x70, 0x20, 0x09, 0x87, 0x4c, 0xce, 0x0a, 0x26, 0xf2, 0x11, 0x55, 0x46, 0x30, - 0x51, 0x52, 0x23, 0x64, 0x81, 0x5b, 0x89, 0x97, 0x76, 0x87, 0xcf, 0xb6, 0xe4, 0x3e, 0xdd, 0x40, - 0x41, 0x36, 0x12, 0xa3, 0x23, 0xd8, 0x23, 0xbc, 0x94, 0xca, 0xbc, 0xa5, 0x86, 0x4d, 0xb8, 0xc6, - 0xed, 0xc4, 0x4b, 0x43, 0xb2, 0x0e, 0xa2, 0x04, 0xba, 0xa5, 0x92, 0x9f, 0x44, 0xce, 0x6d, 0x5e, - 0x1c, 0x26, 0x5e, 0x1a, 0x90, 0x55, 0x08, 0xbd, 0x86, 0x90, 0x0a, 0x75, 0xa6, 0x64, 0xa9, 0x71, - 0xc7, 0x89, 0x1d, 0x6c, 0x29, 0xf6, 0xc5, 0x22, 0x8c, 0xdc, 0x13, 0xa0, 0x0b, 0xd8, 0xcd, 0xa4, - 0xd4, 0x86, 0xab, 0x11, 0x65, 0x9f, 0x35, 0x06, 0xd7, 0xd9, 0xe1, 0x96, 0x84, 0x27, 0xcb, 0x50, - 0xb2, 0xc6, 0x83, 0x30, 0xb4, 0xaf, 0x79, 0xa6, 0x85, 0xe1, 0xb8, 0xeb, 0x76, 0xa6, 0x76, 0xd1, - 0x3f, 0xd0, 0xc9, 0x84, 0xbc, 0x54, 0xb4, 0x9c, 0xcc, 0xf1, 0xae, 0x7b, 0x5b, 0x02, 0xbd, 0xaf, - 0x70, 0xb8, 0xa9, 0xa5, 0xe8, 0x0d, 0xb4, 0xb4, 0xa1, 0x66, 0x56, 0xad, 0xe0, 0xfe, 0xf0, 0xc9, - 0x9f, 0xcd, 0xe7, 0xdc, 0xc5, 0x92, 0x05, 0x87, 0x55, 0xb7, 0x18, 0x11, 0x6e, 0xba, 0x06, 0xd7, - 0x6e, 0x6f, 0x0e, 0xdd, 0x95, 0xa2, 0x50, 0x0f, 0x76, 0x99, 0xcc, 0x73, 0xce, 0xac, 0x88, 0x57, - 0x63, 0x97, 0x3c, 0x20, 0x6b, 0x98, 0x2d, 0xc8, 0x88, 0x29, 0x3f, 0x37, 0x74, 0x5a, 0x3a, 0x3a, - 0x9f, 0x2c, 0x01, 0xbb, 0xf8, 0x8a, 0x2a, 0x61, 0x04, 0xd7, 0xa3, 0x8a, 0xb4, 0x5e, 0xfc, 0x07, - 0x70, 0xaf, 0x84, 0xb0, 0x1e, 0x10, 0x42, 0x10, 0xd8, 0x55, 0x75, 0xf9, 0x42, 0xe2, 0x6c, 0xf4, - 0x17, 0xb4, 0x98, 0xe2, 0xd4, 0x70, 0x97, 0x24, 0x24, 0x0b, 0x0f, 0x45, 0xe0, 0x67, 0xb3, 0x39, - 0xf6, 0x1d, 0x68, 0x4d, 0x1b, 0x5d, 0xe6, 0x74, 0x8e, 0x83, 0x2a, 0xda, 0xda, 0x16, 0xb3, 0x67, - 0x02, 0xef, 0x54, 0x98, 0xb5, 0x8f, 0xdf, 0xc1, 0xde, 0x5a, 0x7f, 0xd0, 0x1e, 0x74, 0xe8, 0x15, - 0x15, 0x39, 0xcd, 0x72, 0x1e, 0x35, 0xd0, 0x01, 0x74, 0x67, 0xc5, 0x12, 0xf0, 0x2c, 0x20, 0x4b, - 0x5e, 0x2c, 0x82, 0xa2, 0x26, 0x42, 0xb0, 0xaf, 0x0d, 0x55, 0x86, 0x8f, 0x6b, 0xcc, 0x3f, 0x7e, - 0x0e, 0xed, 0x45, 0x1d, 0x28, 0xac, 0x84, 0x44, 0x0d, 0x6b, 0xd9, 0x22, 0x22, 0x0f, 0x41, 0x5d, - 0x46, 0xd4, 0x44, 0x6d, 0x27, 0x3d, 0xf2, 0xed, 0xb3, 0x55, 0x14, 0x05, 0x27, 0xe4, 0xfb, 0x6d, - 0xec, 0xdd, 0xdc, 0xc6, 0xde, 0xcf, 0xdb, 0xd8, 0xfb, 0x76, 0x17, 0x37, 0x6e, 0xee, 0xe2, 0xc6, - 0x8f, 0xbb, 0xb8, 0xf1, 0xe1, 0xe9, 0xa5, 0x30, 0x93, 0x59, 0xd6, 0x67, 0x72, 0x3a, 0x78, 0x34, - 0xfc, 0xc1, 0xe9, 0xfd, 0x19, 0xfb, 0xb2, 0x72, 0xd2, 0xdc, 0x49, 0xc9, 0x5a, 0xee, 0x9c, 0xfd, - 0xff, 0x3b, 0x00, 0x00, 0xff, 0xff, 0xf1, 0x88, 0x06, 0x38, 0x3d, 0x05, 0x00, 0x00, + // 647 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x54, 0xcd, 0x6e, 0x13, 0x31, + 0x10, 0xce, 0x66, 0xb7, 0xc9, 0x66, 0xd2, 0x9f, 0xc5, 0xaa, 0x90, 0x85, 0xd0, 0x6a, 0x15, 0x81, + 0xb4, 0xaa, 0x50, 0x82, 0x02, 0x07, 0x24, 0xb8, 0xd0, 0x56, 0x42, 0x08, 0x90, 0x22, 0x17, 0x7a, + 0xe0, 0xe6, 0xdd, 0x98, 0xc4, 0x62, 0xb3, 0x5e, 0xd9, 0x4e, 0x4b, 0x2e, 0x3c, 0x03, 0x57, 0xde, + 0x88, 0x63, 0x8f, 0x1c, 0x51, 0xfb, 0x02, 0x3c, 0x02, 0xb2, 0x37, 0x9b, 0xa4, 0x4d, 0x0e, 0xe1, + 0x36, 0xf3, 0xd9, 0xf3, 0xf9, 0x9b, 0xf1, 0xa7, 0x81, 0x30, 0xa5, 0x72, 0x98, 0x8e, 0x29, 0xcf, + 0x7b, 0xcb, 0x68, 0xaa, 0x98, 0xec, 0x16, 0x52, 0x68, 0x81, 0x1e, 0x9f, 0xb2, 0x94, 0xe5, 0x5a, + 0xd2, 0xec, 0x84, 0xca, 0xe1, 0x1b, 0x3a, 0x61, 0xdd, 0xc5, 0xbd, 0x65, 0xf4, 0x20, 0xda, 0x44, + 0x73, 0x21, 0x34, 0xcf, 0x47, 0x25, 0x51, 0xe7, 0xaf, 0x07, 0xde, 0x27, 0xc5, 0x24, 0x3a, 0x84, + 0x1d, 0x9a, 0x71, 0xaa, 0xb0, 0x13, 0x39, 0x71, 0x8b, 0x94, 0x09, 0x3a, 0x82, 0x40, 0x5c, 0xe6, + 0x6c, 0x68, 0x5e, 0x39, 0x4b, 0xc7, 0x6c, 0xc2, 0x14, 0xae, 0x47, 0x6e, 0xec, 0x91, 0x35, 0x1c, + 0xc5, 0x70, 0x60, 0xb1, 0x81, 0x21, 0xd6, 0xb3, 0x82, 0x29, 0xec, 0xda, 0xab, 0x77, 0x61, 0xf3, + 0x96, 0x91, 0xa3, 0xb0, 0x67, 0xcf, 0xcb, 0x04, 0x0d, 0x00, 0x2e, 0x84, 0x66, 0x84, 0x8f, 0xc6, + 0x5a, 0xe1, 0x9d, 0xc8, 0x8d, 0xdb, 0xfd, 0xa7, 0xdd, 0xad, 0x1a, 0xed, 0x9e, 0x57, 0x85, 0x64, + 0x85, 0x03, 0x09, 0x38, 0x4c, 0xc5, 0x34, 0x4f, 0x79, 0x36, 0xa0, 0x52, 0xf3, 0x94, 0x17, 0x54, + 0x73, 0x91, 0xe3, 0x46, 0xe4, 0xc4, 0xed, 0xfe, 0xcb, 0x2d, 0xb9, 0x4f, 0x36, 0x50, 0x90, 0x8d, + 0xc4, 0xe8, 0x11, 0xec, 0x11, 0x56, 0x08, 0xa9, 0x3f, 0x50, 0x9d, 0x8e, 0x99, 0xc2, 0xcd, 0xc8, + 0x89, 0x7d, 0x72, 0x1b, 0x44, 0x11, 0xb4, 0x0b, 0x29, 0xbe, 0xf0, 0x8c, 0x99, 0x77, 0xb1, 0x1f, + 0x39, 0xb1, 0x47, 0x56, 0x21, 0xf4, 0x0e, 0x7c, 0xca, 0xe5, 0xa9, 0x14, 0x85, 0xc2, 0x2d, 0x2b, + 0xb6, 0xb7, 0xa5, 0xd8, 0xd7, 0xf3, 0x32, 0xb2, 0x20, 0x40, 0xe7, 0xb0, 0x9b, 0x08, 0xa1, 0x34, + 0x93, 0x03, 0x9a, 0x7e, 0x55, 0x18, 0xec, 0x64, 0xfb, 0x5b, 0x12, 0x1e, 0x2f, 0x4b, 0xc9, 0x2d, + 0x1e, 0x84, 0xa1, 0x79, 0xc9, 0x12, 0xc5, 0x35, 0xc3, 0x6d, 0xeb, 0x99, 0x2a, 0x45, 0x0f, 0xa1, + 0x95, 0x70, 0x31, 0x92, 0xb4, 0x18, 0xcf, 0xf0, 0xae, 0x3d, 0x5b, 0x02, 0x9d, 0xef, 0x70, 0xb8, + 0x69, 0xa4, 0xe8, 0x3d, 0x34, 0x94, 0xa6, 0x7a, 0x5a, 0x5a, 0x70, 0xbf, 0xff, 0xfc, 0xff, 0xfe, + 0xe7, 0xcc, 0xd6, 0x92, 0x39, 0x87, 0x51, 0x37, 0xff, 0x22, 0x5c, 0xb7, 0x03, 0xae, 0xd2, 0xce, + 0x4f, 0x07, 0xda, 0x2b, 0x5d, 0x19, 0x37, 0x2a, 0xa6, 0xdf, 0x0e, 0xed, 0xb3, 0x1e, 0x29, 0x13, + 0xd3, 0x83, 0xe6, 0x13, 0x76, 0xa6, 0xe9, 0xa4, 0xb0, 0x0c, 0x2e, 0x59, 0x02, 0xc6, 0xeb, 0x92, + 0x4a, 0xae, 0x39, 0x53, 0x83, 0x92, 0xa6, 0xf2, 0xfa, 0x1d, 0x18, 0x3d, 0x81, 0x7b, 0x43, 0x29, + 0x0a, 0x62, 0x7a, 0x5c, 0xdc, 0x2d, 0x7d, 0xbf, 0x7e, 0xd0, 0x29, 0xc0, 0xaf, 0x7e, 0x10, 0x21, + 0xf0, 0x8c, 0x97, 0xad, 0x2c, 0x9f, 0xd8, 0x18, 0xdd, 0x87, 0x46, 0x2a, 0x19, 0xd5, 0xcc, 0x4a, + 0xf2, 0xc9, 0x3c, 0x43, 0x01, 0xb8, 0xc9, 0x74, 0x86, 0x5d, 0x0b, 0x9a, 0xd0, 0x54, 0x17, 0x19, + 0x9d, 0x61, 0xaf, 0xac, 0x36, 0xb1, 0xc1, 0xcc, 0x0e, 0xc1, 0x3b, 0x25, 0x66, 0xe2, 0xa3, 0x8f, + 0xb0, 0x77, 0x6b, 0x80, 0x68, 0x0f, 0x5a, 0xf4, 0x82, 0xf2, 0x8c, 0x26, 0x19, 0x0b, 0x6a, 0xe8, + 0x00, 0xda, 0xd3, 0x7c, 0x09, 0x38, 0x06, 0x10, 0x05, 0xcb, 0xe7, 0x45, 0x41, 0x1d, 0x21, 0xd8, + 0x57, 0x9a, 0x4a, 0xcd, 0x86, 0x15, 0xe6, 0x1e, 0xbd, 0x82, 0xe6, 0xbc, 0x0f, 0xe4, 0x97, 0x42, + 0x82, 0x9a, 0x89, 0x4c, 0x13, 0x81, 0x83, 0xa0, 0x6a, 0x23, 0xa8, 0xa3, 0xa6, 0x95, 0x1e, 0xb8, + 0xe6, 0xd8, 0x28, 0x0a, 0xbc, 0x63, 0xf2, 0xeb, 0x3a, 0x74, 0xae, 0xae, 0x43, 0xe7, 0xcf, 0x75, + 0xe8, 0xfc, 0xb8, 0x09, 0x6b, 0x57, 0x37, 0x61, 0xed, 0xf7, 0x4d, 0x58, 0xfb, 0xfc, 0x62, 0xc4, + 0xf5, 0x78, 0x9a, 0x74, 0x53, 0x31, 0xe9, 0xad, 0xb9, 0xa3, 0x77, 0xb2, 0xd8, 0x71, 0xdf, 0x56, + 0xf6, 0x9d, 0xdd, 0x39, 0x49, 0xc3, 0xee, 0xbb, 0x67, 0xff, 0x02, 0x00, 0x00, 0xff, 0xff, 0x6e, + 0x0d, 0xb4, 0x7b, 0x5a, 0x05, 0x00, 0x00, } func (m *User) Marshal() (dAtA []byte, err error) { @@ -680,10 +691,10 @@ func (m *BoosterPack) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l - if len(m.RaritiesPerPack) > 0 { - dAtA10 := make([]byte, len(m.RaritiesPerPack)*10) + if len(m.DropRatiosPerPack) > 0 { + dAtA10 := make([]byte, len(m.DropRatiosPerPack)*10) var j9 int - for _, num := range m.RaritiesPerPack { + for _, num := range m.DropRatiosPerPack { for num >= 1<<7 { dAtA10[j9] = uint8(uint64(num)&0x7f | 0x80) num >>= 7 @@ -696,6 +707,24 @@ func (m *BoosterPack) MarshalToSizedBuffer(dAtA []byte) (int, error) { copy(dAtA[i:], dAtA10[:j9]) i = encodeVarintUser(dAtA, i, uint64(j9)) i-- + dAtA[i] = 0x22 + } + if len(m.RaritiesPerPack) > 0 { + dAtA12 := make([]byte, len(m.RaritiesPerPack)*10) + var j11 int + for _, num := range m.RaritiesPerPack { + for num >= 1<<7 { + dAtA12[j11] = uint8(uint64(num)&0x7f | 0x80) + num >>= 7 + j11++ + } + dAtA12[j11] = uint8(num) + j11++ + } + i -= j11 + copy(dAtA[i:], dAtA12[:j11]) + i = encodeVarintUser(dAtA, i, uint64(j11)) + i-- dAtA[i] = 0x1a } if m.TimeStamp != 0 { @@ -703,8 +732,8 @@ func (m *BoosterPack) MarshalToSizedBuffer(dAtA []byte) (int, error) { i-- dAtA[i] = 0x10 } - if m.CollectionId != 0 { - i = encodeVarintUser(dAtA, i, uint64(m.CollectionId)) + if m.SetId != 0 { + i = encodeVarintUser(dAtA, i, uint64(m.SetId)) i-- dAtA[i] = 0x8 } @@ -884,8 +913,8 @@ func (m *BoosterPack) Size() (n int) { } var l int _ = l - if m.CollectionId != 0 { - n += 1 + sovUser(uint64(m.CollectionId)) + if m.SetId != 0 { + n += 1 + sovUser(uint64(m.SetId)) } if m.TimeStamp != 0 { n += 1 + sovUser(uint64(m.TimeStamp)) @@ -897,6 +926,13 @@ func (m *BoosterPack) Size() (n int) { } n += 1 + sovUser(uint64(l)) + l } + if len(m.DropRatiosPerPack) > 0 { + l = 0 + for _, e := range m.DropRatiosPerPack { + l += sovUser(uint64(e)) + } + n += 1 + sovUser(uint64(l)) + l + } return n } @@ -1602,9 +1638,9 @@ func (m *BoosterPack) Unmarshal(dAtA []byte) error { switch fieldNum { case 1: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field CollectionId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field SetId", wireType) } - m.CollectionId = 0 + m.SetId = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowUser @@ -1614,7 +1650,7 @@ func (m *BoosterPack) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.CollectionId |= uint64(b&0x7F) << shift + m.SetId |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -1714,6 +1750,82 @@ func (m *BoosterPack) Unmarshal(dAtA []byte) error { } else { return fmt.Errorf("proto: wrong wireType = %d for field RaritiesPerPack", wireType) } + case 4: + if wireType == 0 { + var v uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowUser + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.DropRatiosPerPack = append(m.DropRatiosPerPack, v) + } else if wireType == 2 { + var packedLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowUser + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + packedLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if packedLen < 0 { + return ErrInvalidLengthUser + } + postIndex := iNdEx + packedLen + if postIndex < 0 { + return ErrInvalidLengthUser + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + var elementCount int + var count int + for _, integer := range dAtA[iNdEx:postIndex] { + if integer < 128 { + count++ + } + } + elementCount = count + if elementCount != 0 && len(m.DropRatiosPerPack) == 0 { + m.DropRatiosPerPack = make([]uint64, 0, elementCount) + } + for iNdEx < postIndex { + var v uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowUser + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.DropRatiosPerPack = append(m.DropRatiosPerPack, v) + } + } else { + return fmt.Errorf("proto: wrong wireType = %d for field DropRatiosPerPack", wireType) + } default: iNdEx = preIndex skippy, err := skipUser(dAtA[iNdEx:]) diff --git a/x/cardchain/types/vote_right.pb.go b/x/cardchain/types/vote_right.pb.go deleted file mode 100644 index f0c841af..00000000 --- a/x/cardchain/types/vote_right.pb.go +++ /dev/null @@ -1,337 +0,0 @@ -// Code generated by protoc-gen-gogo. DO NOT EDIT. -// source: cardchain/cardchain/vote_right.proto - -package types - -import ( - fmt "fmt" - proto "github.com/gogo/protobuf/proto" - io "io" - math "math" - math_bits "math/bits" -) - -// Reference imports to suppress errors if they are not otherwise used. -var _ = proto.Marshal -var _ = fmt.Errorf -var _ = math.Inf - -// This is a compile-time assertion to ensure that this generated file -// is compatible with the proto package it is being compiled against. -// A compilation error at this line likely means your copy of the -// proto package needs to be updated. -const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package - -type VoteRight struct { - CardId uint64 `protobuf:"varint,1,opt,name=cardId,proto3" json:"cardId,omitempty"` - ExpireBlock int64 `protobuf:"varint,2,opt,name=expireBlock,proto3" json:"expireBlock,omitempty"` -} - -func (m *VoteRight) Reset() { *m = VoteRight{} } -func (m *VoteRight) String() string { return proto.CompactTextString(m) } -func (*VoteRight) ProtoMessage() {} -func (*VoteRight) Descriptor() ([]byte, []int) { - return fileDescriptor_054a517c3cbfc900, []int{0} -} -func (m *VoteRight) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *VoteRight) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_VoteRight.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 *VoteRight) XXX_Merge(src proto.Message) { - xxx_messageInfo_VoteRight.Merge(m, src) -} -func (m *VoteRight) XXX_Size() int { - return m.Size() -} -func (m *VoteRight) XXX_DiscardUnknown() { - xxx_messageInfo_VoteRight.DiscardUnknown(m) -} - -var xxx_messageInfo_VoteRight proto.InternalMessageInfo - -func (m *VoteRight) GetCardId() uint64 { - if m != nil { - return m.CardId - } - return 0 -} - -func (m *VoteRight) GetExpireBlock() int64 { - if m != nil { - return m.ExpireBlock - } - return 0 -} - -func init() { - proto.RegisterType((*VoteRight)(nil), "DecentralCardGame.cardchain.cardchain.VoteRight") -} - -func init() { - proto.RegisterFile("cardchain/cardchain/vote_right.proto", fileDescriptor_054a517c3cbfc900) -} - -var fileDescriptor_054a517c3cbfc900 = []byte{ - // 190 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x52, 0x49, 0x4e, 0x2c, 0x4a, - 0x49, 0xce, 0x48, 0xcc, 0xcc, 0xd3, 0x47, 0xb0, 0xca, 0xf2, 0x4b, 0x52, 0xe3, 0x8b, 0x32, 0xd3, - 0x33, 0x4a, 0xf4, 0x0a, 0x8a, 0xf2, 0x4b, 0xf2, 0x85, 0x54, 0x5d, 0x52, 0x93, 0x53, 0xf3, 0x4a, - 0x8a, 0x12, 0x73, 0x9c, 0x13, 0x8b, 0x52, 0xdc, 0x13, 0x73, 0x53, 0xf5, 0xe0, 0xaa, 0x11, 0x2c, - 0x25, 0x57, 0x2e, 0xce, 0xb0, 0xfc, 0x92, 0xd4, 0x20, 0x90, 0x4e, 0x21, 0x31, 0x2e, 0x36, 0x90, - 0x8c, 0x67, 0x8a, 0x04, 0xa3, 0x02, 0xa3, 0x06, 0x4b, 0x10, 0x94, 0x27, 0xa4, 0xc0, 0xc5, 0x9d, - 0x5a, 0x51, 0x90, 0x59, 0x94, 0xea, 0x94, 0x93, 0x9f, 0x9c, 0x2d, 0xc1, 0xa4, 0xc0, 0xa8, 0xc1, - 0x1c, 0x84, 0x2c, 0xe4, 0x14, 0x74, 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, - 0x16, 0xe9, 0x99, 0x25, 0x19, 0xa5, 0x49, 0x7a, 0xc9, 0xf9, 0xb9, 0xfa, 0x18, 0x4e, 0xd2, 0x77, - 0x86, 0x7b, 0xa0, 0x02, 0xc9, 0x33, 0x25, 0x95, 0x05, 0xa9, 0xc5, 0x49, 0x6c, 0x60, 0x8f, 0x18, - 0x03, 0x02, 0x00, 0x00, 0xff, 0xff, 0xe9, 0xa7, 0x6f, 0xfd, 0xf0, 0x00, 0x00, 0x00, -} - -func (m *VoteRight) 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 *VoteRight) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *VoteRight) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.ExpireBlock != 0 { - i = encodeVarintVoteRight(dAtA, i, uint64(m.ExpireBlock)) - i-- - dAtA[i] = 0x10 - } - if m.CardId != 0 { - i = encodeVarintVoteRight(dAtA, i, uint64(m.CardId)) - i-- - dAtA[i] = 0x8 - } - return len(dAtA) - i, nil -} - -func encodeVarintVoteRight(dAtA []byte, offset int, v uint64) int { - offset -= sovVoteRight(v) - base := offset - for v >= 1<<7 { - dAtA[offset] = uint8(v&0x7f | 0x80) - v >>= 7 - offset++ - } - dAtA[offset] = uint8(v) - return base -} -func (m *VoteRight) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.CardId != 0 { - n += 1 + sovVoteRight(uint64(m.CardId)) - } - if m.ExpireBlock != 0 { - n += 1 + sovVoteRight(uint64(m.ExpireBlock)) - } - return n -} - -func sovVoteRight(x uint64) (n int) { - return (math_bits.Len64(x|1) + 6) / 7 -} -func sozVoteRight(x uint64) (n int) { - return sovVoteRight(uint64((x << 1) ^ uint64((int64(x) >> 63)))) -} -func (m *VoteRight) 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 ErrIntOverflowVoteRight - } - 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: VoteRight: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: VoteRight: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field CardId", wireType) - } - m.CardId = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowVoteRight - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.CardId |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 2: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field ExpireBlock", wireType) - } - m.ExpireBlock = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowVoteRight - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.ExpireBlock |= int64(b&0x7F) << shift - if b < 0x80 { - break - } - } - default: - iNdEx = preIndex - skippy, err := skipVoteRight(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthVoteRight - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func skipVoteRight(dAtA []byte) (n int, err error) { - l := len(dAtA) - iNdEx := 0 - depth := 0 - for iNdEx < l { - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return 0, ErrIntOverflowVoteRight - } - if iNdEx >= l { - return 0, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= (uint64(b) & 0x7F) << shift - if b < 0x80 { - break - } - } - wireType := int(wire & 0x7) - switch wireType { - case 0: - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return 0, ErrIntOverflowVoteRight - } - if iNdEx >= l { - return 0, io.ErrUnexpectedEOF - } - iNdEx++ - if dAtA[iNdEx-1] < 0x80 { - break - } - } - case 1: - iNdEx += 8 - case 2: - var length int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return 0, ErrIntOverflowVoteRight - } - if iNdEx >= l { - return 0, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - length |= (int(b) & 0x7F) << shift - if b < 0x80 { - break - } - } - if length < 0 { - return 0, ErrInvalidLengthVoteRight - } - iNdEx += length - case 3: - depth++ - case 4: - if depth == 0 { - return 0, ErrUnexpectedEndOfGroupVoteRight - } - depth-- - case 5: - iNdEx += 4 - default: - return 0, fmt.Errorf("proto: illegal wireType %d", wireType) - } - if iNdEx < 0 { - return 0, ErrInvalidLengthVoteRight - } - if depth == 0 { - return iNdEx, nil - } - } - return 0, io.ErrUnexpectedEOF -} - -var ( - ErrInvalidLengthVoteRight = fmt.Errorf("proto: negative length found during unmarshaling") - ErrIntOverflowVoteRight = fmt.Errorf("proto: integer overflow") - ErrUnexpectedEndOfGroupVoteRight = fmt.Errorf("proto: unexpected end of group") -) diff --git a/x/cardchain/types/voting.pb.go b/x/cardchain/types/voting.pb.go new file mode 100644 index 00000000..ea0671a7 --- /dev/null +++ b/x/cardchain/types/voting.pb.go @@ -0,0 +1,1307 @@ +// Code generated by protoc-gen-gogo. DO NOT EDIT. +// source: cardchain/cardchain/voting.proto + +package types + +import ( + fmt "fmt" + proto "github.com/gogo/protobuf/proto" + io "io" + math "math" + math_bits "math/bits" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package + +type VotingResults struct { + TotalVotes uint64 `protobuf:"varint,1,opt,name=totalVotes,proto3" json:"totalVotes,omitempty"` + TotalFairEnoughVotes uint64 `protobuf:"varint,2,opt,name=totalFairEnoughVotes,proto3" json:"totalFairEnoughVotes,omitempty"` + TotalOverpoweredVotes uint64 `protobuf:"varint,3,opt,name=totalOverpoweredVotes,proto3" json:"totalOverpoweredVotes,omitempty"` + TotalUnderpoweredVotes uint64 `protobuf:"varint,4,opt,name=totalUnderpoweredVotes,proto3" json:"totalUnderpoweredVotes,omitempty"` + TotalInappropriateVotes uint64 `protobuf:"varint,5,opt,name=totalInappropriateVotes,proto3" json:"totalInappropriateVotes,omitempty"` + CardResults []*VotingResult `protobuf:"bytes,6,rep,name=cardResults,proto3" json:"cardResults,omitempty"` + Notes string `protobuf:"bytes,7,opt,name=notes,proto3" json:"notes,omitempty"` +} + +func (m *VotingResults) Reset() { *m = VotingResults{} } +func (m *VotingResults) String() string { return proto.CompactTextString(m) } +func (*VotingResults) ProtoMessage() {} +func (*VotingResults) Descriptor() ([]byte, []int) { + return fileDescriptor_39c6bcdea6f40fbf, []int{0} +} +func (m *VotingResults) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *VotingResults) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_VotingResults.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 *VotingResults) XXX_Merge(src proto.Message) { + xxx_messageInfo_VotingResults.Merge(m, src) +} +func (m *VotingResults) XXX_Size() int { + return m.Size() +} +func (m *VotingResults) XXX_DiscardUnknown() { + xxx_messageInfo_VotingResults.DiscardUnknown(m) +} + +var xxx_messageInfo_VotingResults proto.InternalMessageInfo + +func (m *VotingResults) GetTotalVotes() uint64 { + if m != nil { + return m.TotalVotes + } + return 0 +} + +func (m *VotingResults) GetTotalFairEnoughVotes() uint64 { + if m != nil { + return m.TotalFairEnoughVotes + } + return 0 +} + +func (m *VotingResults) GetTotalOverpoweredVotes() uint64 { + if m != nil { + return m.TotalOverpoweredVotes + } + return 0 +} + +func (m *VotingResults) GetTotalUnderpoweredVotes() uint64 { + if m != nil { + return m.TotalUnderpoweredVotes + } + return 0 +} + +func (m *VotingResults) GetTotalInappropriateVotes() uint64 { + if m != nil { + return m.TotalInappropriateVotes + } + return 0 +} + +func (m *VotingResults) GetCardResults() []*VotingResult { + if m != nil { + return m.CardResults + } + return nil +} + +func (m *VotingResults) GetNotes() string { + if m != nil { + return m.Notes + } + return "" +} + +type VotingResult struct { + CardId uint64 `protobuf:"varint,1,opt,name=cardId,proto3" json:"cardId,omitempty"` + FairEnoughVotes uint64 `protobuf:"varint,2,opt,name=fairEnoughVotes,proto3" json:"fairEnoughVotes,omitempty"` + OverpoweredVotes uint64 `protobuf:"varint,3,opt,name=overpoweredVotes,proto3" json:"overpoweredVotes,omitempty"` + UnderpoweredVotes uint64 `protobuf:"varint,4,opt,name=underpoweredVotes,proto3" json:"underpoweredVotes,omitempty"` + InappropriateVotes uint64 `protobuf:"varint,5,opt,name=inappropriateVotes,proto3" json:"inappropriateVotes,omitempty"` + Result string `protobuf:"bytes,6,opt,name=result,proto3" json:"result,omitempty"` +} + +func (m *VotingResult) Reset() { *m = VotingResult{} } +func (m *VotingResult) String() string { return proto.CompactTextString(m) } +func (*VotingResult) ProtoMessage() {} +func (*VotingResult) Descriptor() ([]byte, []int) { + return fileDescriptor_39c6bcdea6f40fbf, []int{1} +} +func (m *VotingResult) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *VotingResult) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_VotingResult.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 *VotingResult) XXX_Merge(src proto.Message) { + xxx_messageInfo_VotingResult.Merge(m, src) +} +func (m *VotingResult) XXX_Size() int { + return m.Size() +} +func (m *VotingResult) XXX_DiscardUnknown() { + xxx_messageInfo_VotingResult.DiscardUnknown(m) +} + +var xxx_messageInfo_VotingResult proto.InternalMessageInfo + +func (m *VotingResult) GetCardId() uint64 { + if m != nil { + return m.CardId + } + return 0 +} + +func (m *VotingResult) GetFairEnoughVotes() uint64 { + if m != nil { + return m.FairEnoughVotes + } + return 0 +} + +func (m *VotingResult) GetOverpoweredVotes() uint64 { + if m != nil { + return m.OverpoweredVotes + } + return 0 +} + +func (m *VotingResult) GetUnderpoweredVotes() uint64 { + if m != nil { + return m.UnderpoweredVotes + } + return 0 +} + +func (m *VotingResult) GetInappropriateVotes() uint64 { + if m != nil { + return m.InappropriateVotes + } + return 0 +} + +func (m *VotingResult) GetResult() string { + if m != nil { + return m.Result + } + return "" +} + +type SingleVote struct { + CardId uint64 `protobuf:"varint,1,opt,name=cardId,proto3" json:"cardId,omitempty"` + VoteType string `protobuf:"bytes,2,opt,name=voteType,proto3" json:"voteType,omitempty"` +} + +func (m *SingleVote) Reset() { *m = SingleVote{} } +func (m *SingleVote) String() string { return proto.CompactTextString(m) } +func (*SingleVote) ProtoMessage() {} +func (*SingleVote) Descriptor() ([]byte, []int) { + return fileDescriptor_39c6bcdea6f40fbf, []int{2} +} +func (m *SingleVote) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *SingleVote) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_SingleVote.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 *SingleVote) XXX_Merge(src proto.Message) { + xxx_messageInfo_SingleVote.Merge(m, src) +} +func (m *SingleVote) XXX_Size() int { + return m.Size() +} +func (m *SingleVote) XXX_DiscardUnknown() { + xxx_messageInfo_SingleVote.DiscardUnknown(m) +} + +var xxx_messageInfo_SingleVote proto.InternalMessageInfo + +func (m *SingleVote) GetCardId() uint64 { + if m != nil { + return m.CardId + } + return 0 +} + +func (m *SingleVote) GetVoteType() string { + if m != nil { + return m.VoteType + } + return "" +} + +type VoteRight struct { + CardId uint64 `protobuf:"varint,1,opt,name=cardId,proto3" json:"cardId,omitempty"` + ExpireBlock int64 `protobuf:"varint,2,opt,name=expireBlock,proto3" json:"expireBlock,omitempty"` +} + +func (m *VoteRight) Reset() { *m = VoteRight{} } +func (m *VoteRight) String() string { return proto.CompactTextString(m) } +func (*VoteRight) ProtoMessage() {} +func (*VoteRight) Descriptor() ([]byte, []int) { + return fileDescriptor_39c6bcdea6f40fbf, []int{3} +} +func (m *VoteRight) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *VoteRight) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_VoteRight.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 *VoteRight) XXX_Merge(src proto.Message) { + xxx_messageInfo_VoteRight.Merge(m, src) +} +func (m *VoteRight) XXX_Size() int { + return m.Size() +} +func (m *VoteRight) XXX_DiscardUnknown() { + xxx_messageInfo_VoteRight.DiscardUnknown(m) +} + +var xxx_messageInfo_VoteRight proto.InternalMessageInfo + +func (m *VoteRight) GetCardId() uint64 { + if m != nil { + return m.CardId + } + return 0 +} + +func (m *VoteRight) GetExpireBlock() int64 { + if m != nil { + return m.ExpireBlock + } + return 0 +} + +func init() { + proto.RegisterType((*VotingResults)(nil), "DecentralCardGame.cardchain.cardchain.VotingResults") + proto.RegisterType((*VotingResult)(nil), "DecentralCardGame.cardchain.cardchain.VotingResult") + proto.RegisterType((*SingleVote)(nil), "DecentralCardGame.cardchain.cardchain.SingleVote") + proto.RegisterType((*VoteRight)(nil), "DecentralCardGame.cardchain.cardchain.VoteRight") +} + +func init() { proto.RegisterFile("cardchain/cardchain/voting.proto", fileDescriptor_39c6bcdea6f40fbf) } + +var fileDescriptor_39c6bcdea6f40fbf = []byte{ + // 421 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x93, 0x41, 0x6b, 0xd4, 0x40, + 0x14, 0xc7, 0x37, 0xdd, 0x36, 0xba, 0x6f, 0x15, 0x75, 0xa8, 0x75, 0xf1, 0x10, 0x42, 0x40, 0x08, + 0x22, 0x59, 0x68, 0x45, 0x7a, 0x94, 0xd6, 0x2a, 0x3d, 0x09, 0xa3, 0xed, 0xc1, 0xdb, 0x34, 0x19, + 0x93, 0xc1, 0x74, 0x66, 0x98, 0x4c, 0xd6, 0xee, 0xb7, 0xf0, 0x63, 0x79, 0xdc, 0xa3, 0x47, 0xd9, + 0xfd, 0x06, 0x9e, 0x3c, 0x4a, 0x5e, 0xc2, 0x6e, 0xd8, 0x4d, 0xc0, 0xdb, 0xbc, 0xf7, 0x7f, 0xbf, + 0x09, 0xef, 0x17, 0x06, 0xfc, 0x98, 0x99, 0x24, 0xce, 0x98, 0x90, 0xd3, 0xcd, 0x69, 0xa6, 0xac, + 0x90, 0x69, 0xa4, 0x8d, 0xb2, 0x8a, 0xbc, 0x78, 0xc7, 0x63, 0x2e, 0xad, 0x61, 0xf9, 0x39, 0x33, + 0xc9, 0x07, 0x76, 0xcb, 0xa3, 0xf5, 0xe4, 0xe6, 0x14, 0xfc, 0xdd, 0x83, 0x87, 0xd7, 0xc8, 0x51, + 0x5e, 0x94, 0xb9, 0x2d, 0x88, 0x07, 0x60, 0x95, 0x65, 0xf9, 0xb5, 0xb2, 0xbc, 0x98, 0x38, 0xbe, + 0x13, 0xee, 0xd3, 0x56, 0x87, 0x1c, 0xc3, 0x21, 0x56, 0xef, 0x99, 0x30, 0x17, 0x52, 0x95, 0x69, + 0x56, 0x4f, 0xee, 0xe1, 0x64, 0x67, 0x46, 0x5e, 0xc3, 0x53, 0xec, 0x7f, 0x9c, 0x71, 0xa3, 0xd5, + 0x77, 0x6e, 0x78, 0x52, 0x43, 0x43, 0x84, 0xba, 0x43, 0xf2, 0x06, 0x8e, 0x30, 0xb8, 0x92, 0xc9, + 0x16, 0xb6, 0x8f, 0x58, 0x4f, 0x4a, 0x4e, 0xe1, 0x19, 0x26, 0x97, 0x92, 0x69, 0x6d, 0x94, 0x36, + 0x82, 0x59, 0x5e, 0x83, 0x07, 0x08, 0xf6, 0xc5, 0xe4, 0x0a, 0xc6, 0x95, 0x9a, 0x46, 0xc5, 0xc4, + 0xf5, 0x87, 0xe1, 0xf8, 0xf8, 0x24, 0xfa, 0x2f, 0x95, 0x51, 0x5b, 0x23, 0x6d, 0xdf, 0x43, 0x0e, + 0xe1, 0x40, 0xe2, 0xe7, 0xef, 0xf9, 0x4e, 0x38, 0xa2, 0x75, 0x11, 0xfc, 0x71, 0xe0, 0x41, 0x9b, + 0x21, 0x47, 0xe0, 0x56, 0xd4, 0x65, 0xd2, 0x58, 0x6f, 0x2a, 0x12, 0xc2, 0xa3, 0xaf, 0x9d, 0xb2, + 0xb7, 0xdb, 0xe4, 0x25, 0x3c, 0x56, 0xdd, 0x8a, 0x77, 0xfa, 0xe4, 0x15, 0x3c, 0x29, 0x7b, 0xc4, + 0xee, 0x06, 0x24, 0x02, 0x22, 0xfa, 0x74, 0x76, 0x24, 0xd5, 0x2e, 0x06, 0xb7, 0x9a, 0xb8, 0xb8, + 0x73, 0x53, 0x05, 0x6f, 0x01, 0x3e, 0x09, 0x99, 0xe6, 0x38, 0xd6, 0xbb, 0xf1, 0x73, 0xb8, 0x3f, + 0x53, 0x96, 0x7f, 0x9e, 0x6b, 0x8e, 0xab, 0x8e, 0xe8, 0xba, 0x0e, 0x2e, 0x60, 0x54, 0xb1, 0x54, + 0xa4, 0x59, 0xbf, 0x32, 0x1f, 0xc6, 0xfc, 0x4e, 0x0b, 0xc3, 0xcf, 0x72, 0x15, 0x7f, 0xc3, 0x3b, + 0x86, 0xb4, 0xdd, 0x3a, 0xa3, 0x3f, 0x97, 0x9e, 0xb3, 0x58, 0x7a, 0xce, 0xef, 0xa5, 0xe7, 0xfc, + 0x58, 0x79, 0x83, 0xc5, 0xca, 0x1b, 0xfc, 0x5a, 0x79, 0x83, 0x2f, 0xa7, 0xa9, 0xb0, 0x59, 0x79, + 0x13, 0xc5, 0xea, 0x76, 0xba, 0xf3, 0xe7, 0xa7, 0xe7, 0xeb, 0xe7, 0x76, 0xd7, 0x7a, 0x7a, 0x76, + 0xae, 0x79, 0x71, 0xe3, 0xe2, 0xd3, 0x3b, 0xf9, 0x17, 0x00, 0x00, 0xff, 0xff, 0x45, 0x7a, 0xb4, + 0xa5, 0x9e, 0x03, 0x00, 0x00, +} + +func (m *VotingResults) 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 *VotingResults) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *VotingResults) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Notes) > 0 { + i -= len(m.Notes) + copy(dAtA[i:], m.Notes) + i = encodeVarintVoting(dAtA, i, uint64(len(m.Notes))) + i-- + dAtA[i] = 0x3a + } + if len(m.CardResults) > 0 { + for iNdEx := len(m.CardResults) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.CardResults[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintVoting(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x32 + } + } + if m.TotalInappropriateVotes != 0 { + i = encodeVarintVoting(dAtA, i, uint64(m.TotalInappropriateVotes)) + i-- + dAtA[i] = 0x28 + } + if m.TotalUnderpoweredVotes != 0 { + i = encodeVarintVoting(dAtA, i, uint64(m.TotalUnderpoweredVotes)) + i-- + dAtA[i] = 0x20 + } + if m.TotalOverpoweredVotes != 0 { + i = encodeVarintVoting(dAtA, i, uint64(m.TotalOverpoweredVotes)) + i-- + dAtA[i] = 0x18 + } + if m.TotalFairEnoughVotes != 0 { + i = encodeVarintVoting(dAtA, i, uint64(m.TotalFairEnoughVotes)) + i-- + dAtA[i] = 0x10 + } + if m.TotalVotes != 0 { + i = encodeVarintVoting(dAtA, i, uint64(m.TotalVotes)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *VotingResult) 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 *VotingResult) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *VotingResult) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Result) > 0 { + i -= len(m.Result) + copy(dAtA[i:], m.Result) + i = encodeVarintVoting(dAtA, i, uint64(len(m.Result))) + i-- + dAtA[i] = 0x32 + } + if m.InappropriateVotes != 0 { + i = encodeVarintVoting(dAtA, i, uint64(m.InappropriateVotes)) + i-- + dAtA[i] = 0x28 + } + if m.UnderpoweredVotes != 0 { + i = encodeVarintVoting(dAtA, i, uint64(m.UnderpoweredVotes)) + i-- + dAtA[i] = 0x20 + } + if m.OverpoweredVotes != 0 { + i = encodeVarintVoting(dAtA, i, uint64(m.OverpoweredVotes)) + i-- + dAtA[i] = 0x18 + } + if m.FairEnoughVotes != 0 { + i = encodeVarintVoting(dAtA, i, uint64(m.FairEnoughVotes)) + i-- + dAtA[i] = 0x10 + } + if m.CardId != 0 { + i = encodeVarintVoting(dAtA, i, uint64(m.CardId)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *SingleVote) 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 *SingleVote) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *SingleVote) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.VoteType) > 0 { + i -= len(m.VoteType) + copy(dAtA[i:], m.VoteType) + i = encodeVarintVoting(dAtA, i, uint64(len(m.VoteType))) + i-- + dAtA[i] = 0x12 + } + if m.CardId != 0 { + i = encodeVarintVoting(dAtA, i, uint64(m.CardId)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *VoteRight) 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 *VoteRight) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *VoteRight) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.ExpireBlock != 0 { + i = encodeVarintVoting(dAtA, i, uint64(m.ExpireBlock)) + i-- + dAtA[i] = 0x10 + } + if m.CardId != 0 { + i = encodeVarintVoting(dAtA, i, uint64(m.CardId)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func encodeVarintVoting(dAtA []byte, offset int, v uint64) int { + offset -= sovVoting(v) + base := offset + for v >= 1<<7 { + dAtA[offset] = uint8(v&0x7f | 0x80) + v >>= 7 + offset++ + } + dAtA[offset] = uint8(v) + return base +} +func (m *VotingResults) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.TotalVotes != 0 { + n += 1 + sovVoting(uint64(m.TotalVotes)) + } + if m.TotalFairEnoughVotes != 0 { + n += 1 + sovVoting(uint64(m.TotalFairEnoughVotes)) + } + if m.TotalOverpoweredVotes != 0 { + n += 1 + sovVoting(uint64(m.TotalOverpoweredVotes)) + } + if m.TotalUnderpoweredVotes != 0 { + n += 1 + sovVoting(uint64(m.TotalUnderpoweredVotes)) + } + if m.TotalInappropriateVotes != 0 { + n += 1 + sovVoting(uint64(m.TotalInappropriateVotes)) + } + if len(m.CardResults) > 0 { + for _, e := range m.CardResults { + l = e.Size() + n += 1 + l + sovVoting(uint64(l)) + } + } + l = len(m.Notes) + if l > 0 { + n += 1 + l + sovVoting(uint64(l)) + } + return n +} + +func (m *VotingResult) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.CardId != 0 { + n += 1 + sovVoting(uint64(m.CardId)) + } + if m.FairEnoughVotes != 0 { + n += 1 + sovVoting(uint64(m.FairEnoughVotes)) + } + if m.OverpoweredVotes != 0 { + n += 1 + sovVoting(uint64(m.OverpoweredVotes)) + } + if m.UnderpoweredVotes != 0 { + n += 1 + sovVoting(uint64(m.UnderpoweredVotes)) + } + if m.InappropriateVotes != 0 { + n += 1 + sovVoting(uint64(m.InappropriateVotes)) + } + l = len(m.Result) + if l > 0 { + n += 1 + l + sovVoting(uint64(l)) + } + return n +} + +func (m *SingleVote) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.CardId != 0 { + n += 1 + sovVoting(uint64(m.CardId)) + } + l = len(m.VoteType) + if l > 0 { + n += 1 + l + sovVoting(uint64(l)) + } + return n +} + +func (m *VoteRight) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.CardId != 0 { + n += 1 + sovVoting(uint64(m.CardId)) + } + if m.ExpireBlock != 0 { + n += 1 + sovVoting(uint64(m.ExpireBlock)) + } + return n +} + +func sovVoting(x uint64) (n int) { + return (math_bits.Len64(x|1) + 6) / 7 +} +func sozVoting(x uint64) (n int) { + return sovVoting(uint64((x << 1) ^ uint64((int64(x) >> 63)))) +} +func (m *VotingResults) 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 ErrIntOverflowVoting + } + 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: VotingResults: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: VotingResults: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field TotalVotes", wireType) + } + m.TotalVotes = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowVoting + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.TotalVotes |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field TotalFairEnoughVotes", wireType) + } + m.TotalFairEnoughVotes = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowVoting + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.TotalFairEnoughVotes |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field TotalOverpoweredVotes", wireType) + } + m.TotalOverpoweredVotes = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowVoting + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.TotalOverpoweredVotes |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field TotalUnderpoweredVotes", wireType) + } + m.TotalUnderpoweredVotes = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowVoting + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.TotalUnderpoweredVotes |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 5: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field TotalInappropriateVotes", wireType) + } + m.TotalInappropriateVotes = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowVoting + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.TotalInappropriateVotes |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field CardResults", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowVoting + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthVoting + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthVoting + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.CardResults = append(m.CardResults, &VotingResult{}) + if err := m.CardResults[len(m.CardResults)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 7: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Notes", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowVoting + } + 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 ErrInvalidLengthVoting + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthVoting + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Notes = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipVoting(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthVoting + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *VotingResult) 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 ErrIntOverflowVoting + } + 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: VotingResult: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: VotingResult: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field CardId", wireType) + } + m.CardId = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowVoting + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.CardId |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field FairEnoughVotes", wireType) + } + m.FairEnoughVotes = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowVoting + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.FairEnoughVotes |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field OverpoweredVotes", wireType) + } + m.OverpoweredVotes = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowVoting + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.OverpoweredVotes |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field UnderpoweredVotes", wireType) + } + m.UnderpoweredVotes = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowVoting + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.UnderpoweredVotes |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 5: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field InappropriateVotes", wireType) + } + m.InappropriateVotes = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowVoting + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.InappropriateVotes |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Result", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowVoting + } + 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 ErrInvalidLengthVoting + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthVoting + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Result = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipVoting(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthVoting + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *SingleVote) 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 ErrIntOverflowVoting + } + 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: SingleVote: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: SingleVote: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field CardId", wireType) + } + m.CardId = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowVoting + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.CardId |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field VoteType", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowVoting + } + 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 ErrInvalidLengthVoting + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthVoting + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.VoteType = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipVoting(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthVoting + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *VoteRight) 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 ErrIntOverflowVoting + } + 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: VoteRight: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: VoteRight: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field CardId", wireType) + } + m.CardId = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowVoting + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.CardId |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field ExpireBlock", wireType) + } + m.ExpireBlock = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowVoting + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.ExpireBlock |= int64(b&0x7F) << shift + if b < 0x80 { + break + } + } + default: + iNdEx = preIndex + skippy, err := skipVoting(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthVoting + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func skipVoting(dAtA []byte) (n int, err error) { + l := len(dAtA) + iNdEx := 0 + depth := 0 + for iNdEx < l { + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowVoting + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + wireType := int(wire & 0x7) + switch wireType { + case 0: + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowVoting + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + iNdEx++ + if dAtA[iNdEx-1] < 0x80 { + break + } + } + case 1: + iNdEx += 8 + case 2: + var length int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowVoting + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + length |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if length < 0 { + return 0, ErrInvalidLengthVoting + } + iNdEx += length + case 3: + depth++ + case 4: + if depth == 0 { + return 0, ErrUnexpectedEndOfGroupVoting + } + depth-- + case 5: + iNdEx += 4 + default: + return 0, fmt.Errorf("proto: illegal wireType %d", wireType) + } + if iNdEx < 0 { + return 0, ErrInvalidLengthVoting + } + if depth == 0 { + return iNdEx, nil + } + } + return 0, io.ErrUnexpectedEOF +} + +var ( + ErrInvalidLengthVoting = fmt.Errorf("proto: negative length found during unmarshaling") + ErrIntOverflowVoting = fmt.Errorf("proto: integer overflow") + ErrUnexpectedEndOfGroupVoting = fmt.Errorf("proto: unexpected end of group") +) diff --git a/x/cardchain/types/voting_result.pb.go b/x/cardchain/types/voting_result.pb.go deleted file mode 100644 index 5b1f364c..00000000 --- a/x/cardchain/types/voting_result.pb.go +++ /dev/null @@ -1,498 +0,0 @@ -// Code generated by protoc-gen-gogo. DO NOT EDIT. -// source: cardchain/cardchain/voting_result.proto - -package types - -import ( - fmt "fmt" - proto "github.com/gogo/protobuf/proto" - io "io" - math "math" - math_bits "math/bits" -) - -// Reference imports to suppress errors if they are not otherwise used. -var _ = proto.Marshal -var _ = fmt.Errorf -var _ = math.Inf - -// This is a compile-time assertion to ensure that this generated file -// is compatible with the proto package it is being compiled against. -// A compilation error at this line likely means your copy of the -// proto package needs to be updated. -const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package - -type VotingResult struct { - CardId uint64 `protobuf:"varint,1,opt,name=cardId,proto3" json:"cardId,omitempty"` - FairEnoughVotes uint64 `protobuf:"varint,2,opt,name=fairEnoughVotes,proto3" json:"fairEnoughVotes,omitempty"` - OverpoweredVotes uint64 `protobuf:"varint,3,opt,name=overpoweredVotes,proto3" json:"overpoweredVotes,omitempty"` - UnderpoweredVotes uint64 `protobuf:"varint,4,opt,name=underpoweredVotes,proto3" json:"underpoweredVotes,omitempty"` - InappropriateVotes uint64 `protobuf:"varint,5,opt,name=inappropriateVotes,proto3" json:"inappropriateVotes,omitempty"` - Result string `protobuf:"bytes,6,opt,name=result,proto3" json:"result,omitempty"` -} - -func (m *VotingResult) Reset() { *m = VotingResult{} } -func (m *VotingResult) String() string { return proto.CompactTextString(m) } -func (*VotingResult) ProtoMessage() {} -func (*VotingResult) Descriptor() ([]byte, []int) { - return fileDescriptor_2189b4591619582a, []int{0} -} -func (m *VotingResult) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *VotingResult) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_VotingResult.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 *VotingResult) XXX_Merge(src proto.Message) { - xxx_messageInfo_VotingResult.Merge(m, src) -} -func (m *VotingResult) XXX_Size() int { - return m.Size() -} -func (m *VotingResult) XXX_DiscardUnknown() { - xxx_messageInfo_VotingResult.DiscardUnknown(m) -} - -var xxx_messageInfo_VotingResult proto.InternalMessageInfo - -func (m *VotingResult) GetCardId() uint64 { - if m != nil { - return m.CardId - } - return 0 -} - -func (m *VotingResult) GetFairEnoughVotes() uint64 { - if m != nil { - return m.FairEnoughVotes - } - return 0 -} - -func (m *VotingResult) GetOverpoweredVotes() uint64 { - if m != nil { - return m.OverpoweredVotes - } - return 0 -} - -func (m *VotingResult) GetUnderpoweredVotes() uint64 { - if m != nil { - return m.UnderpoweredVotes - } - return 0 -} - -func (m *VotingResult) GetInappropriateVotes() uint64 { - if m != nil { - return m.InappropriateVotes - } - return 0 -} - -func (m *VotingResult) GetResult() string { - if m != nil { - return m.Result - } - return "" -} - -func init() { - proto.RegisterType((*VotingResult)(nil), "DecentralCardGame.cardchain.cardchain.VotingResult") -} - -func init() { - proto.RegisterFile("cardchain/cardchain/voting_result.proto", fileDescriptor_2189b4591619582a) -} - -var fileDescriptor_2189b4591619582a = []byte{ - // 268 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x52, 0x4f, 0x4e, 0x2c, 0x4a, - 0x49, 0xce, 0x48, 0xcc, 0xcc, 0xd3, 0x47, 0xb0, 0xca, 0xf2, 0x4b, 0x32, 0xf3, 0xd2, 0xe3, 0x8b, - 0x52, 0x8b, 0x4b, 0x73, 0x4a, 0xf4, 0x0a, 0x8a, 0xf2, 0x4b, 0xf2, 0x85, 0x54, 0x5d, 0x52, 0x93, - 0x53, 0xf3, 0x4a, 0x8a, 0x12, 0x73, 0x9c, 0x13, 0x8b, 0x52, 0xdc, 0x13, 0x73, 0x53, 0xf5, 0xe0, - 0x1a, 0x10, 0x2c, 0xa5, 0x4f, 0x8c, 0x5c, 0x3c, 0x61, 0x60, 0xed, 0x41, 0x60, 0xdd, 0x42, 0x62, - 0x5c, 0x6c, 0x20, 0x59, 0xcf, 0x14, 0x09, 0x46, 0x05, 0x46, 0x0d, 0x96, 0x20, 0x28, 0x4f, 0x48, - 0x83, 0x8b, 0x3f, 0x2d, 0x31, 0xb3, 0xc8, 0x35, 0x2f, 0xbf, 0x34, 0x3d, 0x23, 0x2c, 0xbf, 0x24, - 0xb5, 0x58, 0x82, 0x09, 0xac, 0x00, 0x5d, 0x58, 0x48, 0x8b, 0x4b, 0x20, 0xbf, 0x2c, 0xb5, 0xa8, - 0x20, 0xbf, 0x3c, 0xb5, 0x28, 0x35, 0x05, 0xa2, 0x94, 0x19, 0xac, 0x14, 0x43, 0x5c, 0x48, 0x87, - 0x4b, 0xb0, 0x34, 0x2f, 0x05, 0x4d, 0x31, 0x0b, 0x58, 0x31, 0xa6, 0x84, 0x90, 0x1e, 0x97, 0x50, - 0x66, 0x5e, 0x62, 0x41, 0x41, 0x51, 0x7e, 0x41, 0x51, 0x66, 0x62, 0x49, 0x2a, 0x44, 0x39, 0x2b, - 0x58, 0x39, 0x16, 0x19, 0x90, 0x5f, 0x20, 0x61, 0x22, 0xc1, 0xa6, 0xc0, 0xa8, 0xc1, 0x19, 0x04, - 0xe5, 0x39, 0x05, 0x9d, 0x78, 0x24, 0xc7, 0x78, 0xe1, 0x91, 0x1c, 0xe3, 0x83, 0x47, 0x72, 0x8c, - 0x13, 0x1e, 0xcb, 0x31, 0x5c, 0x78, 0x2c, 0xc7, 0x70, 0xe3, 0xb1, 0x1c, 0x43, 0x94, 0x45, 0x7a, - 0x66, 0x49, 0x46, 0x69, 0x92, 0x5e, 0x72, 0x7e, 0xae, 0x3e, 0x46, 0x00, 0xea, 0x3b, 0xc3, 0x43, - 0xbc, 0x02, 0x29, 0xf4, 0x4b, 0x2a, 0x0b, 0x52, 0x8b, 0x93, 0xd8, 0xc0, 0xc1, 0x6e, 0x0c, 0x08, - 0x00, 0x00, 0xff, 0xff, 0x27, 0xe3, 0xee, 0xf1, 0xa1, 0x01, 0x00, 0x00, -} - -func (m *VotingResult) 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 *VotingResult) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *VotingResult) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.Result) > 0 { - i -= len(m.Result) - copy(dAtA[i:], m.Result) - i = encodeVarintVotingResult(dAtA, i, uint64(len(m.Result))) - i-- - dAtA[i] = 0x32 - } - if m.InappropriateVotes != 0 { - i = encodeVarintVotingResult(dAtA, i, uint64(m.InappropriateVotes)) - i-- - dAtA[i] = 0x28 - } - if m.UnderpoweredVotes != 0 { - i = encodeVarintVotingResult(dAtA, i, uint64(m.UnderpoweredVotes)) - i-- - dAtA[i] = 0x20 - } - if m.OverpoweredVotes != 0 { - i = encodeVarintVotingResult(dAtA, i, uint64(m.OverpoweredVotes)) - i-- - dAtA[i] = 0x18 - } - if m.FairEnoughVotes != 0 { - i = encodeVarintVotingResult(dAtA, i, uint64(m.FairEnoughVotes)) - i-- - dAtA[i] = 0x10 - } - if m.CardId != 0 { - i = encodeVarintVotingResult(dAtA, i, uint64(m.CardId)) - i-- - dAtA[i] = 0x8 - } - return len(dAtA) - i, nil -} - -func encodeVarintVotingResult(dAtA []byte, offset int, v uint64) int { - offset -= sovVotingResult(v) - base := offset - for v >= 1<<7 { - dAtA[offset] = uint8(v&0x7f | 0x80) - v >>= 7 - offset++ - } - dAtA[offset] = uint8(v) - return base -} -func (m *VotingResult) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.CardId != 0 { - n += 1 + sovVotingResult(uint64(m.CardId)) - } - if m.FairEnoughVotes != 0 { - n += 1 + sovVotingResult(uint64(m.FairEnoughVotes)) - } - if m.OverpoweredVotes != 0 { - n += 1 + sovVotingResult(uint64(m.OverpoweredVotes)) - } - if m.UnderpoweredVotes != 0 { - n += 1 + sovVotingResult(uint64(m.UnderpoweredVotes)) - } - if m.InappropriateVotes != 0 { - n += 1 + sovVotingResult(uint64(m.InappropriateVotes)) - } - l = len(m.Result) - if l > 0 { - n += 1 + l + sovVotingResult(uint64(l)) - } - return n -} - -func sovVotingResult(x uint64) (n int) { - return (math_bits.Len64(x|1) + 6) / 7 -} -func sozVotingResult(x uint64) (n int) { - return sovVotingResult(uint64((x << 1) ^ uint64((int64(x) >> 63)))) -} -func (m *VotingResult) 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 ErrIntOverflowVotingResult - } - 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: VotingResult: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: VotingResult: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field CardId", wireType) - } - m.CardId = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowVotingResult - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.CardId |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 2: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field FairEnoughVotes", wireType) - } - m.FairEnoughVotes = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowVotingResult - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.FairEnoughVotes |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 3: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field OverpoweredVotes", wireType) - } - m.OverpoweredVotes = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowVotingResult - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.OverpoweredVotes |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 4: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field UnderpoweredVotes", wireType) - } - m.UnderpoweredVotes = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowVotingResult - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.UnderpoweredVotes |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 5: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field InappropriateVotes", wireType) - } - m.InappropriateVotes = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowVotingResult - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.InappropriateVotes |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 6: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Result", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowVotingResult - } - 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 ErrInvalidLengthVotingResult - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthVotingResult - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Result = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipVotingResult(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthVotingResult - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func skipVotingResult(dAtA []byte) (n int, err error) { - l := len(dAtA) - iNdEx := 0 - depth := 0 - for iNdEx < l { - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return 0, ErrIntOverflowVotingResult - } - if iNdEx >= l { - return 0, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= (uint64(b) & 0x7F) << shift - if b < 0x80 { - break - } - } - wireType := int(wire & 0x7) - switch wireType { - case 0: - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return 0, ErrIntOverflowVotingResult - } - if iNdEx >= l { - return 0, io.ErrUnexpectedEOF - } - iNdEx++ - if dAtA[iNdEx-1] < 0x80 { - break - } - } - case 1: - iNdEx += 8 - case 2: - var length int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return 0, ErrIntOverflowVotingResult - } - if iNdEx >= l { - return 0, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - length |= (int(b) & 0x7F) << shift - if b < 0x80 { - break - } - } - if length < 0 { - return 0, ErrInvalidLengthVotingResult - } - iNdEx += length - case 3: - depth++ - case 4: - if depth == 0 { - return 0, ErrUnexpectedEndOfGroupVotingResult - } - depth-- - case 5: - iNdEx += 4 - default: - return 0, fmt.Errorf("proto: illegal wireType %d", wireType) - } - if iNdEx < 0 { - return 0, ErrInvalidLengthVotingResult - } - if depth == 0 { - return iNdEx, nil - } - } - return 0, io.ErrUnexpectedEOF -} - -var ( - ErrInvalidLengthVotingResult = fmt.Errorf("proto: negative length found during unmarshaling") - ErrIntOverflowVotingResult = fmt.Errorf("proto: integer overflow") - ErrUnexpectedEndOfGroupVotingResult = fmt.Errorf("proto: unexpected end of group") -) diff --git a/x/cardchain/types/voting_results.pb.go b/x/cardchain/types/voting_results.pb.go deleted file mode 100644 index 27f50f80..00000000 --- a/x/cardchain/types/voting_results.pb.go +++ /dev/null @@ -1,563 +0,0 @@ -// Code generated by protoc-gen-gogo. DO NOT EDIT. -// source: cardchain/cardchain/voting_results.proto - -package types - -import ( - fmt "fmt" - proto "github.com/gogo/protobuf/proto" - io "io" - math "math" - math_bits "math/bits" -) - -// Reference imports to suppress errors if they are not otherwise used. -var _ = proto.Marshal -var _ = fmt.Errorf -var _ = math.Inf - -// This is a compile-time assertion to ensure that this generated file -// is compatible with the proto package it is being compiled against. -// A compilation error at this line likely means your copy of the -// proto package needs to be updated. -const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package - -type VotingResults struct { - TotalVotes uint64 `protobuf:"varint,1,opt,name=totalVotes,proto3" json:"totalVotes,omitempty"` - TotalFairEnoughVotes uint64 `protobuf:"varint,2,opt,name=totalFairEnoughVotes,proto3" json:"totalFairEnoughVotes,omitempty"` - TotalOverpoweredVotes uint64 `protobuf:"varint,3,opt,name=totalOverpoweredVotes,proto3" json:"totalOverpoweredVotes,omitempty"` - TotalUnderpoweredVotes uint64 `protobuf:"varint,4,opt,name=totalUnderpoweredVotes,proto3" json:"totalUnderpoweredVotes,omitempty"` - TotalInappropriateVotes uint64 `protobuf:"varint,5,opt,name=totalInappropriateVotes,proto3" json:"totalInappropriateVotes,omitempty"` - CardResults []*VotingResult `protobuf:"bytes,6,rep,name=cardResults,proto3" json:"cardResults,omitempty"` - Notes string `protobuf:"bytes,7,opt,name=notes,proto3" json:"notes,omitempty"` -} - -func (m *VotingResults) Reset() { *m = VotingResults{} } -func (m *VotingResults) String() string { return proto.CompactTextString(m) } -func (*VotingResults) ProtoMessage() {} -func (*VotingResults) Descriptor() ([]byte, []int) { - return fileDescriptor_a233499ddc8264f3, []int{0} -} -func (m *VotingResults) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *VotingResults) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_VotingResults.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 *VotingResults) XXX_Merge(src proto.Message) { - xxx_messageInfo_VotingResults.Merge(m, src) -} -func (m *VotingResults) XXX_Size() int { - return m.Size() -} -func (m *VotingResults) XXX_DiscardUnknown() { - xxx_messageInfo_VotingResults.DiscardUnknown(m) -} - -var xxx_messageInfo_VotingResults proto.InternalMessageInfo - -func (m *VotingResults) GetTotalVotes() uint64 { - if m != nil { - return m.TotalVotes - } - return 0 -} - -func (m *VotingResults) GetTotalFairEnoughVotes() uint64 { - if m != nil { - return m.TotalFairEnoughVotes - } - return 0 -} - -func (m *VotingResults) GetTotalOverpoweredVotes() uint64 { - if m != nil { - return m.TotalOverpoweredVotes - } - return 0 -} - -func (m *VotingResults) GetTotalUnderpoweredVotes() uint64 { - if m != nil { - return m.TotalUnderpoweredVotes - } - return 0 -} - -func (m *VotingResults) GetTotalInappropriateVotes() uint64 { - if m != nil { - return m.TotalInappropriateVotes - } - return 0 -} - -func (m *VotingResults) GetCardResults() []*VotingResult { - if m != nil { - return m.CardResults - } - return nil -} - -func (m *VotingResults) GetNotes() string { - if m != nil { - return m.Notes - } - return "" -} - -func init() { - proto.RegisterType((*VotingResults)(nil), "DecentralCardGame.cardchain.cardchain.VotingResults") -} - -func init() { - proto.RegisterFile("cardchain/cardchain/voting_results.proto", fileDescriptor_a233499ddc8264f3) -} - -var fileDescriptor_a233499ddc8264f3 = []byte{ - // 313 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x91, 0xcf, 0x4a, 0xc3, 0x40, - 0x10, 0xc6, 0xbb, 0xfd, 0x27, 0x6e, 0xf1, 0xb2, 0x54, 0x2d, 0x1e, 0x96, 0x22, 0x88, 0x39, 0x25, - 0xd0, 0x8a, 0xf4, 0x6c, 0xfd, 0x83, 0x27, 0x21, 0xd0, 0x1e, 0xbc, 0xc8, 0x36, 0x59, 0x92, 0x40, - 0xba, 0xbb, 0x6c, 0x36, 0x55, 0xdf, 0xc2, 0xc7, 0xf2, 0xd8, 0xa3, 0x47, 0x49, 0x5e, 0xc2, 0xa3, - 0x38, 0x2b, 0x6d, 0xd0, 0x16, 0xbd, 0xcd, 0xcc, 0x37, 0xbf, 0x19, 0xf8, 0x3e, 0xec, 0x04, 0x4c, - 0x87, 0x41, 0xcc, 0x12, 0xe1, 0xad, 0xab, 0x85, 0x34, 0x89, 0x88, 0x1e, 0x34, 0xcf, 0xf2, 0xd4, - 0x64, 0xae, 0xd2, 0xd2, 0x48, 0x72, 0x72, 0xc9, 0x03, 0x2e, 0x8c, 0x66, 0xe9, 0x98, 0xe9, 0xf0, - 0x86, 0xcd, 0xb9, 0xbb, 0x22, 0xd6, 0xd5, 0xd1, 0xe9, 0x9f, 0x07, 0xed, 0xbd, 0xe3, 0x8f, 0x3a, - 0xde, 0x9b, 0xc2, 0xdc, 0xb7, 0x7f, 0x08, 0xc5, 0xd8, 0x48, 0xc3, 0xd2, 0xa9, 0x34, 0x3c, 0xeb, - 0xa1, 0x3e, 0x72, 0x9a, 0x7e, 0x65, 0x42, 0x06, 0xb8, 0x0b, 0xdd, 0x35, 0x4b, 0xf4, 0x95, 0x90, - 0x79, 0x14, 0xdb, 0xcd, 0x3a, 0x6c, 0x6e, 0xd4, 0xc8, 0x19, 0xde, 0x87, 0xf9, 0xdd, 0x82, 0x6b, - 0x25, 0x1f, 0xb9, 0xe6, 0xa1, 0x85, 0x1a, 0x00, 0x6d, 0x16, 0xc9, 0x39, 0x3e, 0x00, 0x61, 0x22, - 0xc2, 0x1f, 0x58, 0x13, 0xb0, 0x2d, 0x2a, 0x19, 0xe1, 0x43, 0x50, 0x6e, 0x05, 0x53, 0x4a, 0x4b, - 0xa5, 0x13, 0x66, 0xb8, 0x05, 0x5b, 0x00, 0x6e, 0x93, 0xc9, 0x04, 0x77, 0xbe, 0xec, 0xfa, 0xb6, - 0xa2, 0xd7, 0xee, 0x37, 0x9c, 0xce, 0x60, 0xe8, 0xfe, 0xcb, 0x73, 0xb7, 0x6a, 0xa3, 0x5f, 0xbd, - 0x43, 0xba, 0xb8, 0x25, 0xe0, 0xfd, 0x4e, 0x1f, 0x39, 0xbb, 0xbe, 0x6d, 0x2e, 0xfc, 0xd7, 0x82, - 0xa2, 0x65, 0x41, 0xd1, 0x7b, 0x41, 0xd1, 0x4b, 0x49, 0x6b, 0xcb, 0x92, 0xd6, 0xde, 0x4a, 0x5a, - 0xbb, 0x1f, 0x45, 0x89, 0x89, 0xf3, 0x99, 0x1b, 0xc8, 0xb9, 0xf7, 0xeb, 0xb7, 0x37, 0x5e, 0x05, - 0xfa, 0x54, 0x09, 0xd7, 0x3c, 0x2b, 0x9e, 0xcd, 0xda, 0x90, 0xea, 0xf0, 0x33, 0x00, 0x00, 0xff, - 0xff, 0xdd, 0x96, 0x11, 0x73, 0x51, 0x02, 0x00, 0x00, -} - -func (m *VotingResults) 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 *VotingResults) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *VotingResults) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.Notes) > 0 { - i -= len(m.Notes) - copy(dAtA[i:], m.Notes) - i = encodeVarintVotingResults(dAtA, i, uint64(len(m.Notes))) - i-- - dAtA[i] = 0x3a - } - if len(m.CardResults) > 0 { - for iNdEx := len(m.CardResults) - 1; iNdEx >= 0; iNdEx-- { - { - size, err := m.CardResults[iNdEx].MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintVotingResults(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x32 - } - } - if m.TotalInappropriateVotes != 0 { - i = encodeVarintVotingResults(dAtA, i, uint64(m.TotalInappropriateVotes)) - i-- - dAtA[i] = 0x28 - } - if m.TotalUnderpoweredVotes != 0 { - i = encodeVarintVotingResults(dAtA, i, uint64(m.TotalUnderpoweredVotes)) - i-- - dAtA[i] = 0x20 - } - if m.TotalOverpoweredVotes != 0 { - i = encodeVarintVotingResults(dAtA, i, uint64(m.TotalOverpoweredVotes)) - i-- - dAtA[i] = 0x18 - } - if m.TotalFairEnoughVotes != 0 { - i = encodeVarintVotingResults(dAtA, i, uint64(m.TotalFairEnoughVotes)) - i-- - dAtA[i] = 0x10 - } - if m.TotalVotes != 0 { - i = encodeVarintVotingResults(dAtA, i, uint64(m.TotalVotes)) - i-- - dAtA[i] = 0x8 - } - return len(dAtA) - i, nil -} - -func encodeVarintVotingResults(dAtA []byte, offset int, v uint64) int { - offset -= sovVotingResults(v) - base := offset - for v >= 1<<7 { - dAtA[offset] = uint8(v&0x7f | 0x80) - v >>= 7 - offset++ - } - dAtA[offset] = uint8(v) - return base -} -func (m *VotingResults) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.TotalVotes != 0 { - n += 1 + sovVotingResults(uint64(m.TotalVotes)) - } - if m.TotalFairEnoughVotes != 0 { - n += 1 + sovVotingResults(uint64(m.TotalFairEnoughVotes)) - } - if m.TotalOverpoweredVotes != 0 { - n += 1 + sovVotingResults(uint64(m.TotalOverpoweredVotes)) - } - if m.TotalUnderpoweredVotes != 0 { - n += 1 + sovVotingResults(uint64(m.TotalUnderpoweredVotes)) - } - if m.TotalInappropriateVotes != 0 { - n += 1 + sovVotingResults(uint64(m.TotalInappropriateVotes)) - } - if len(m.CardResults) > 0 { - for _, e := range m.CardResults { - l = e.Size() - n += 1 + l + sovVotingResults(uint64(l)) - } - } - l = len(m.Notes) - if l > 0 { - n += 1 + l + sovVotingResults(uint64(l)) - } - return n -} - -func sovVotingResults(x uint64) (n int) { - return (math_bits.Len64(x|1) + 6) / 7 -} -func sozVotingResults(x uint64) (n int) { - return sovVotingResults(uint64((x << 1) ^ uint64((int64(x) >> 63)))) -} -func (m *VotingResults) 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 ErrIntOverflowVotingResults - } - 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: VotingResults: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: VotingResults: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field TotalVotes", wireType) - } - m.TotalVotes = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowVotingResults - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.TotalVotes |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 2: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field TotalFairEnoughVotes", wireType) - } - m.TotalFairEnoughVotes = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowVotingResults - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.TotalFairEnoughVotes |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 3: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field TotalOverpoweredVotes", wireType) - } - m.TotalOverpoweredVotes = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowVotingResults - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.TotalOverpoweredVotes |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 4: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field TotalUnderpoweredVotes", wireType) - } - m.TotalUnderpoweredVotes = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowVotingResults - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.TotalUnderpoweredVotes |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 5: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field TotalInappropriateVotes", wireType) - } - m.TotalInappropriateVotes = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowVotingResults - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.TotalInappropriateVotes |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 6: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field CardResults", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowVotingResults - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthVotingResults - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthVotingResults - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.CardResults = append(m.CardResults, &VotingResult{}) - if err := m.CardResults[len(m.CardResults)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 7: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Notes", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowVotingResults - } - 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 ErrInvalidLengthVotingResults - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthVotingResults - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Notes = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipVotingResults(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthVotingResults - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func skipVotingResults(dAtA []byte) (n int, err error) { - l := len(dAtA) - iNdEx := 0 - depth := 0 - for iNdEx < l { - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return 0, ErrIntOverflowVotingResults - } - if iNdEx >= l { - return 0, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= (uint64(b) & 0x7F) << shift - if b < 0x80 { - break - } - } - wireType := int(wire & 0x7) - switch wireType { - case 0: - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return 0, ErrIntOverflowVotingResults - } - if iNdEx >= l { - return 0, io.ErrUnexpectedEOF - } - iNdEx++ - if dAtA[iNdEx-1] < 0x80 { - break - } - } - case 1: - iNdEx += 8 - case 2: - var length int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return 0, ErrIntOverflowVotingResults - } - if iNdEx >= l { - return 0, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - length |= (int(b) & 0x7F) << shift - if b < 0x80 { - break - } - } - if length < 0 { - return 0, ErrInvalidLengthVotingResults - } - iNdEx += length - case 3: - depth++ - case 4: - if depth == 0 { - return 0, ErrUnexpectedEndOfGroupVotingResults - } - depth-- - case 5: - iNdEx += 4 - default: - return 0, fmt.Errorf("proto: illegal wireType %d", wireType) - } - if iNdEx < 0 { - return 0, ErrInvalidLengthVotingResults - } - if depth == 0 { - return iNdEx, nil - } - } - return 0, io.ErrUnexpectedEOF -} - -var ( - ErrInvalidLengthVotingResults = fmt.Errorf("proto: negative length found during unmarshaling") - ErrIntOverflowVotingResults = fmt.Errorf("proto: integer overflow") - ErrUnexpectedEndOfGroupVotingResults = fmt.Errorf("proto: unexpected end of group") -) diff --git a/x/featureflag/client/cli/query.go b/x/featureflag/client/cli/query.go new file mode 100644 index 00000000..a53f2b63 --- /dev/null +++ b/x/featureflag/client/cli/query.go @@ -0,0 +1,35 @@ +package cli + +import ( + "fmt" + // "strings" + + "github.com/spf13/cobra" + + "github.com/cosmos/cosmos-sdk/client" + // "github.com/cosmos/cosmos-sdk/client/flags" + // sdk "github.com/cosmos/cosmos-sdk/types" + + "github.com/DecentralCardGame/Cardchain/x/featureflag/types" +) + +// GetQueryCmd returns the cli query commands for this module +func GetQueryCmd(queryRoute string) *cobra.Command { + // Group featureflag 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(CmdQueryParams()) + cmd.AddCommand(CmdQFlag()) + + cmd.AddCommand(CmdQFlags()) + + // this line is used by starport scaffolding # 1 + + return cmd +} diff --git a/x/featureflag/client/cli/query_params.go b/x/featureflag/client/cli/query_params.go new file mode 100644 index 00000000..00cbb498 --- /dev/null +++ b/x/featureflag/client/cli/query_params.go @@ -0,0 +1,34 @@ +package cli + +import ( + "context" + + "github.com/DecentralCardGame/Cardchain/x/featureflag/types" + "github.com/cosmos/cosmos-sdk/client" + "github.com/cosmos/cosmos-sdk/client/flags" + "github.com/spf13/cobra" +) + +func CmdQueryParams() *cobra.Command { + cmd := &cobra.Command{ + Use: "params", + Short: "shows the parameters of the module", + Args: cobra.NoArgs, + RunE: func(cmd *cobra.Command, args []string) error { + clientCtx := client.GetClientContextFromCmd(cmd) + + queryClient := types.NewQueryClient(clientCtx) + + res, err := queryClient.Params(context.Background(), &types.QueryParamsRequest{}) + if err != nil { + return err + } + + return clientCtx.PrintProto(res) + }, + } + + flags.AddQueryFlagsToCmd(cmd) + + return cmd +} diff --git a/x/featureflag/client/cli/query_q_flag.go b/x/featureflag/client/cli/query_q_flag.go new file mode 100644 index 00000000..edc66b8b --- /dev/null +++ b/x/featureflag/client/cli/query_q_flag.go @@ -0,0 +1,47 @@ +package cli + +import ( + "strconv" + + "github.com/DecentralCardGame/Cardchain/x/featureflag/types" + "github.com/cosmos/cosmos-sdk/client" + "github.com/cosmos/cosmos-sdk/client/flags" + "github.com/spf13/cobra" +) + +var _ = strconv.Itoa(0) + +func CmdQFlag() *cobra.Command { + cmd := &cobra.Command{ + Use: "q-flag [module] [name]", + Short: "Query qFlag", + Args: cobra.ExactArgs(2), + RunE: func(cmd *cobra.Command, args []string) (err error) { + reqModule := args[0] + reqName := args[1] + + clientCtx, err := client.GetClientQueryContext(cmd) + if err != nil { + return err + } + + queryClient := types.NewQueryClient(clientCtx) + + params := &types.QueryQFlagRequest{ + Module: reqModule, + Name: reqName, + } + + res, err := queryClient.QFlag(cmd.Context(), params) + if err != nil { + return err + } + + return clientCtx.PrintProto(res) + }, + } + + flags.AddQueryFlagsToCmd(cmd) + + return cmd +} diff --git a/x/featureflag/client/cli/query_q_flags.go b/x/featureflag/client/cli/query_q_flags.go new file mode 100644 index 00000000..9625bcfd --- /dev/null +++ b/x/featureflag/client/cli/query_q_flags.go @@ -0,0 +1,42 @@ +package cli + +import ( + "strconv" + + "github.com/DecentralCardGame/Cardchain/x/featureflag/types" + "github.com/cosmos/cosmos-sdk/client" + "github.com/cosmos/cosmos-sdk/client/flags" + "github.com/spf13/cobra" +) + +var _ = strconv.Itoa(0) + +func CmdQFlags() *cobra.Command { + cmd := &cobra.Command{ + Use: "q-flags", + Short: "Query qFlags", + Args: cobra.ExactArgs(0), + RunE: func(cmd *cobra.Command, args []string) (err error) { + + clientCtx, err := client.GetClientQueryContext(cmd) + if err != nil { + return err + } + + queryClient := types.NewQueryClient(clientCtx) + + params := &types.QueryQFlagsRequest{} + + res, err := queryClient.QFlags(cmd.Context(), params) + if err != nil { + return err + } + + return clientCtx.PrintProto(res) + }, + } + + flags.AddQueryFlagsToCmd(cmd) + + return cmd +} diff --git a/x/featureflag/client/cli/submit_flag_enable_proposal.go b/x/featureflag/client/cli/submit_flag_enable_proposal.go new file mode 100644 index 00000000..440d38e8 --- /dev/null +++ b/x/featureflag/client/cli/submit_flag_enable_proposal.go @@ -0,0 +1,52 @@ +package cli + +import ( + "github.com/DecentralCardGame/Cardchain/x/featureflag/types" + "strconv" + + "github.com/cosmos/cosmos-sdk/client" + "github.com/cosmos/cosmos-sdk/client/tx" + sdk "github.com/cosmos/cosmos-sdk/types" + govtypes "github.com/cosmos/cosmos-sdk/x/gov/types/v1beta1" + "github.com/spf13/cobra" +) + +var _ = strconv.Itoa(0) + +func CmdSubmitFlagEnableProposal() *cobra.Command { + cmd := &cobra.Command{ + Use: "flag-enable-proposal [module] [name] [deposit]", + Short: "Propose FlagEnableProposal", + Args: cobra.ExactArgs(3), + RunE: func(cmd *cobra.Command, args []string) (err error) { + argDeposit := args[2] + + clientCtx, err := client.GetClientTxContext(cmd) + if err != nil { + return err + } + + from := clientCtx.GetFromAddress() + proposal := types.FlagEnableProposal{ + Title: "Request to enable featureflag `" + args[1] + "` for module `" + args[0] + "`", + Description: "See `" + args[0] + "-" + args[1] + "` for more information on the set.", + Module: args[0], + Name: args[1], + } + + deposit, err := sdk.ParseCoinsNormalized(argDeposit) + if err != nil { + return err + } + + msg, err := govtypes.NewMsgSubmitProposal(&proposal, deposit, from) + if err != nil { + return err + } + + return tx.GenerateOrBroadcastTxCLI(clientCtx, cmd.Flags(), msg) + }, + } + + return cmd +} diff --git a/x/featureflag/client/cli/tx.go b/x/featureflag/client/cli/tx.go new file mode 100644 index 00000000..2be23c44 --- /dev/null +++ b/x/featureflag/client/cli/tx.go @@ -0,0 +1,35 @@ +package cli + +import ( + "fmt" + "time" + + "github.com/spf13/cobra" + + "github.com/cosmos/cosmos-sdk/client" + // "github.com/cosmos/cosmos-sdk/client/flags" + "github.com/DecentralCardGame/Cardchain/x/featureflag/types" +) + +var ( + DefaultRelativePacketTimeoutTimestamp = uint64((time.Duration(10) * time.Minute).Nanoseconds()) +) + +const ( + flagPacketTimeoutTimestamp = "packet-timeout-timestamp" + listSeparator = "," +) + +// GetTxCmd returns the transaction commands for this module +func GetTxCmd() *cobra.Command { + cmd := &cobra.Command{ + Use: types.ModuleName, + Short: fmt.Sprintf("%s transactions subcommands", types.ModuleName), + DisableFlagParsing: true, + SuggestionsMinimumDistance: 2, + RunE: client.ValidateCmd, + } + // this line is used by starport scaffolding # 1 + + return cmd +} diff --git a/x/featureflag/client/proposal_handler.go b/x/featureflag/client/proposal_handler.go new file mode 100644 index 00000000..bdfd8174 --- /dev/null +++ b/x/featureflag/client/proposal_handler.go @@ -0,0 +1,9 @@ +package client + +import ( + "github.com/DecentralCardGame/Cardchain/x/featureflag/client/cli" + govclient "github.com/cosmos/cosmos-sdk/x/gov/client" +) + +// ProposalHandler is the param change proposal handler. +var ProposalHandler = govclient.NewProposalHandler(cli.CmdSubmitFlagEnableProposal) diff --git a/x/featureflag/genesis.go b/x/featureflag/genesis.go new file mode 100644 index 00000000..c8a7a71c --- /dev/null +++ b/x/featureflag/genesis.go @@ -0,0 +1,32 @@ +package featureflag + +import ( + "github.com/DecentralCardGame/Cardchain/x/featureflag/keeper" + "github.com/DecentralCardGame/Cardchain/x/featureflag/types" + sdk "github.com/cosmos/cosmos-sdk/types" +) + +// InitGenesis initializes the module's state from a provided genesis state. +func InitGenesis(ctx sdk.Context, k keeper.Keeper, genState types.GenesisState) { + // this line is used by starport scaffolding # genesis/module/init + k.SetParams(ctx, genState.Params) + k.InitAllStores(ctx) + for key, val := range genState.Flags { + k.SetFlag(ctx, []byte(key), *val) + } +} + +// ExportGenesis returns the module's exported genesis +func ExportGenesis(ctx sdk.Context, k keeper.Keeper) *types.GenesisState { + genesis := types.DefaultGenesis() + genesis.Params = k.GetParams(ctx) + flags, keys := k.GetAllFlags(ctx) + genesis.Flags = make(map[string]*types.Flag) + for idx, key := range keys { + genesis.Flags[key] = flags[idx] + } + + // this line is used by starport scaffolding # genesis/module/export + + return genesis +} diff --git a/x/featureflag/genesis_test.go b/x/featureflag/genesis_test.go new file mode 100644 index 00000000..f70df928 --- /dev/null +++ b/x/featureflag/genesis_test.go @@ -0,0 +1,47 @@ +package featureflag_test + +import ( + "testing" + + keepertest "github.com/DecentralCardGame/Cardchain/testutil/keeper" + "github.com/DecentralCardGame/Cardchain/testutil/nullify" + "github.com/DecentralCardGame/Cardchain/x/featureflag" + "github.com/DecentralCardGame/Cardchain/x/featureflag/types" + "github.com/stretchr/testify/require" +) + +func TestGenesis(t *testing.T) { + genesisState := types.GenesisState{ + Params: types.DefaultParams(), + + FlagsList: []types.Flags{ + { + Index: "0", + }, + { + Index: "1", + }, + }, + FlagsList: []types.Flags{ + { + Index: "0", + }, + { + Index: "1", + }, + }, + // this line is used by starport scaffolding # genesis/test/state + } + + k, ctx := keepertest.FeatureflagKeeper(t) + featureflag.InitGenesis(ctx, *k, genesisState) + got := featureflag.ExportGenesis(ctx, *k) + require.NotNil(t, got) + + nullify.Fill(&genesisState) + nullify.Fill(got) + + require.ElementsMatch(t, genesisState.FlagsList, got.FlagsList) + require.ElementsMatch(t, genesisState.FlagsList, got.FlagsList) + // this line is used by starport scaffolding # genesis/test/assert +} diff --git a/x/featureflag/keeper/keeper.go b/x/featureflag/keeper/keeper.go new file mode 100644 index 00000000..6de1437a --- /dev/null +++ b/x/featureflag/keeper/keeper.go @@ -0,0 +1,109 @@ +package keeper + +import ( + "fmt" + + sdkerrors "cosmossdk.io/errors" + "github.com/DecentralCardGame/Cardchain/x/featureflag/types" + "github.com/cosmos/cosmos-sdk/codec" + storetypes "github.com/cosmos/cosmos-sdk/store/types" + sdk "github.com/cosmos/cosmos-sdk/types" + paramtypes "github.com/cosmos/cosmos-sdk/x/params/types" + "github.com/tendermint/tendermint/libs/log" + "golang.org/x/exp/slices" +) + +type ( + Keeper struct { + cdc codec.BinaryCodec + storeKey storetypes.StoreKey + memKey storetypes.StoreKey + paramstore paramtypes.Subspace + flagKeys *[][2]string + } +) + +func NewKeeper( + cdc codec.BinaryCodec, + storeKey, + memKey storetypes.StoreKey, + ps paramtypes.Subspace, + +) *Keeper { + // set KeyTable if it has not already been set + if !ps.HasKeyTable() { + ps = ps.WithKeyTable(types.ParamKeyTable()) + } + + return &Keeper{ + cdc: cdc, + storeKey: storeKey, + memKey: memKey, + paramstore: ps, + flagKeys: &[][2]string{}, + } +} + +func (k Keeper) FlagExists(module string, name string) error { + if slices.Contains(*k.flagKeys, [2]string{module, name}) { + return nil + } + + return sdkerrors.Wrapf(types.ErrFlagUnregisterd, "Flag '%s' for module '%s'", name, module) +} + +func (k Keeper) RegisterKey(module string, name string) { + *k.flagKeys = append(*k.flagKeys, [2]string{module, name}) +} + +func (k Keeper) InitAllStores(ctx sdk.Context) { + for _, tup := range *k.flagKeys { + k.SetFlag(ctx, GetKey(tup[0], tup[1]), types.Flag{ + Module: tup[0], + Name: tup[1], + Set: false, + }) + } +} + +func (k Keeper) GetModuleInstance(moduleName string, flagNames []string) ModuleInstance { + return NewModuleInstance(k, moduleName, flagNames) +} + +func GetKey(module string, name string) []byte { + return []byte(module + "-" + name) +} + +func (k Keeper) GetFlag(ctx sdk.Context, key []byte) (gottenFlag types.Flag) { + store := ctx.KVStore(k.storeKey) + bz := store.Get(key) + k.cdc.MustUnmarshal(bz, &gottenFlag) + return +} + +func (k Keeper) SetFlag(ctx sdk.Context, key []byte, flag types.Flag) { + store := ctx.KVStore(k.storeKey) + store.Set(key, k.cdc.MustMarshal(&flag)) +} + +func (k Keeper) GetFlagsIterator(ctx sdk.Context) sdk.Iterator { + store := ctx.KVStore(k.storeKey) + return sdk.KVStorePrefixIterator(store, nil) +} + +func (k Keeper) GetAllFlags(ctx sdk.Context) (allFlags []*types.Flag, allKeys []string) { + iterator := k.GetFlagsIterator(ctx) + for ; iterator.Valid(); iterator.Next() { + + var gottenFlag types.Flag + k.cdc.MustUnmarshal(iterator.Value(), &gottenFlag) + + allFlags = append(allFlags, &gottenFlag) + allKeys = append(allKeys, string(iterator.Key())) + } + return +} + +func (k Keeper) Logger(ctx sdk.Context) log.Logger { + return ctx.Logger().With("module", fmt.Sprintf("x/%s", types.ModuleName)) +} diff --git a/x/featureflag/keeper/module_instace.go b/x/featureflag/keeper/module_instace.go new file mode 100644 index 00000000..46ba6a72 --- /dev/null +++ b/x/featureflag/keeper/module_instace.go @@ -0,0 +1,33 @@ +package keeper + +import ( + sdk "github.com/cosmos/cosmos-sdk/types" +) + +type ModuleInstance struct { + moduleName string + k Keeper +} + +func NewModuleInstance(keeper Keeper, moduleName string, names []string) ModuleInstance { + instance := ModuleInstance{ + moduleName: moduleName, + k: keeper, + } + for _, name := range names { + keeper.RegisterKey(moduleName, name) + } + return instance +} + +func (m ModuleInstance) Get(ctx sdk.Context, name string) (bool, error) { + err := m.nameExists(name) + if err != nil { + return false, err + } + return m.k.GetFlag(ctx, GetKey(m.moduleName, name)).Set, nil +} + +func (m ModuleInstance) nameExists(name string) error { + return m.k.FlagExists(m.moduleName, name) +} diff --git a/x/featureflag/keeper/msg_server.go b/x/featureflag/keeper/msg_server.go new file mode 100644 index 00000000..e4b569be --- /dev/null +++ b/x/featureflag/keeper/msg_server.go @@ -0,0 +1,17 @@ +package keeper + +import ( + "github.com/DecentralCardGame/Cardchain/x/featureflag/types" +) + +type msgServer struct { + Keeper +} + +// NewMsgServerImpl returns an implementation of the MsgServer interface +// for the provided Keeper. +func NewMsgServerImpl(keeper Keeper) types.MsgServer { + return &msgServer{Keeper: keeper} +} + +var _ types.MsgServer = msgServer{} diff --git a/x/featureflag/keeper/msg_server_test.go b/x/featureflag/keeper/msg_server_test.go new file mode 100644 index 00000000..90c69699 --- /dev/null +++ b/x/featureflag/keeper/msg_server_test.go @@ -0,0 +1,16 @@ +package keeper_test + +import ( + "context" + "testing" + + keepertest "github.com/DecentralCardGame/Cardchain/testutil/keeper" + "github.com/DecentralCardGame/Cardchain/x/featureflag/keeper" + "github.com/DecentralCardGame/Cardchain/x/featureflag/types" + sdk "github.com/cosmos/cosmos-sdk/types" +) + +func setupMsgServer(t testing.TB) (types.MsgServer, context.Context) { + k, ctx := keepertest.FeatureflagKeeper(t) + return keeper.NewMsgServerImpl(*k), sdk.WrapSDKContext(ctx) +} diff --git a/x/featureflag/keeper/params.go b/x/featureflag/keeper/params.go new file mode 100644 index 00000000..c088544b --- /dev/null +++ b/x/featureflag/keeper/params.go @@ -0,0 +1,16 @@ +package keeper + +import ( + "github.com/DecentralCardGame/Cardchain/x/featureflag/types" + sdk "github.com/cosmos/cosmos-sdk/types" +) + +// GetParams get all parameters as types.Params +func (k Keeper) GetParams(ctx sdk.Context) types.Params { + return types.NewParams() +} + +// SetParams set the params +func (k Keeper) SetParams(ctx sdk.Context, params types.Params) { + k.paramstore.SetParamSet(ctx, ¶ms) +} diff --git a/x/featureflag/keeper/params_test.go b/x/featureflag/keeper/params_test.go new file mode 100644 index 00000000..5dbcb43a --- /dev/null +++ b/x/featureflag/keeper/params_test.go @@ -0,0 +1,18 @@ +package keeper_test + +import ( + "testing" + + testkeeper "github.com/DecentralCardGame/Cardchain/testutil/keeper" + "github.com/DecentralCardGame/Cardchain/x/featureflag/types" + "github.com/stretchr/testify/require" +) + +func TestGetParams(t *testing.T) { + k, ctx := testkeeper.FeatureflagKeeper(t) + params := types.DefaultParams() + + k.SetParams(ctx, params) + + require.EqualValues(t, params, k.GetParams(ctx)) +} diff --git a/x/featureflag/keeper/query.go b/x/featureflag/keeper/query.go new file mode 100644 index 00000000..98fa1054 --- /dev/null +++ b/x/featureflag/keeper/query.go @@ -0,0 +1,7 @@ +package keeper + +import ( + "github.com/DecentralCardGame/Cardchain/x/featureflag/types" +) + +var _ types.QueryServer = Keeper{} diff --git a/x/featureflag/keeper/query_params.go b/x/featureflag/keeper/query_params.go new file mode 100644 index 00000000..899a8323 --- /dev/null +++ b/x/featureflag/keeper/query_params.go @@ -0,0 +1,19 @@ +package keeper + +import ( + "context" + + "github.com/DecentralCardGame/Cardchain/x/featureflag/types" + sdk "github.com/cosmos/cosmos-sdk/types" + "google.golang.org/grpc/codes" + "google.golang.org/grpc/status" +) + +func (k Keeper) Params(goCtx context.Context, req *types.QueryParamsRequest) (*types.QueryParamsResponse, error) { + if req == nil { + return nil, status.Error(codes.InvalidArgument, "invalid request") + } + ctx := sdk.UnwrapSDKContext(goCtx) + + return &types.QueryParamsResponse{Params: k.GetParams(ctx)}, nil +} diff --git a/x/featureflag/keeper/query_params_test.go b/x/featureflag/keeper/query_params_test.go new file mode 100644 index 00000000..2b175bba --- /dev/null +++ b/x/featureflag/keeper/query_params_test.go @@ -0,0 +1,21 @@ +package keeper_test + +import ( + "testing" + + testkeeper "github.com/DecentralCardGame/Cardchain/testutil/keeper" + "github.com/DecentralCardGame/Cardchain/x/featureflag/types" + sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/stretchr/testify/require" +) + +func TestParamsQuery(t *testing.T) { + keeper, ctx := testkeeper.FeatureflagKeeper(t) + wctx := sdk.WrapSDKContext(ctx) + params := types.DefaultParams() + keeper.SetParams(ctx, params) + + response, err := keeper.Params(wctx, &types.QueryParamsRequest{}) + require.NoError(t, err) + require.Equal(t, &types.QueryParamsResponse{Params: params}, response) +} diff --git a/x/featureflag/keeper/query_q_flag.go b/x/featureflag/keeper/query_q_flag.go new file mode 100644 index 00000000..b7f281e3 --- /dev/null +++ b/x/featureflag/keeper/query_q_flag.go @@ -0,0 +1,22 @@ +package keeper + +import ( + "context" + + "github.com/DecentralCardGame/Cardchain/x/featureflag/types" + sdk "github.com/cosmos/cosmos-sdk/types" + "google.golang.org/grpc/codes" + "google.golang.org/grpc/status" +) + +func (k Keeper) QFlag(goCtx context.Context, req *types.QueryQFlagRequest) (*types.QueryQFlagResponse, error) { + if req == nil { + return nil, status.Error(codes.InvalidArgument, "invalid request") + } + + ctx := sdk.UnwrapSDKContext(goCtx) + + flag := k.GetFlag(ctx, GetKey(req.Module, req.Name)) + + return &types.QueryQFlagResponse{Flag: &flag}, nil +} diff --git a/x/featureflag/keeper/query_q_flags.go b/x/featureflag/keeper/query_q_flags.go new file mode 100644 index 00000000..5189d2eb --- /dev/null +++ b/x/featureflag/keeper/query_q_flags.go @@ -0,0 +1,22 @@ +package keeper + +import ( + "context" + + "github.com/DecentralCardGame/Cardchain/x/featureflag/types" + sdk "github.com/cosmos/cosmos-sdk/types" + "google.golang.org/grpc/codes" + "google.golang.org/grpc/status" +) + +func (k Keeper) QFlags(goCtx context.Context, req *types.QueryQFlagsRequest) (*types.QueryQFlagsResponse, error) { + if req == nil { + return nil, status.Error(codes.InvalidArgument, "invalid request") + } + + ctx := sdk.UnwrapSDKContext(goCtx) + + flags, _ := k.GetAllFlags(ctx) + + return &types.QueryQFlagsResponse{Flags: flags}, nil +} diff --git a/x/featureflag/module.go b/x/featureflag/module.go new file mode 100644 index 00000000..7f4ee730 --- /dev/null +++ b/x/featureflag/module.go @@ -0,0 +1,159 @@ +package featureflag + +import ( + "context" + "encoding/json" + "fmt" + // this line is used by starport scaffolding # 1 + + "github.com/grpc-ecosystem/grpc-gateway/runtime" + "github.com/spf13/cobra" + + abci "github.com/tendermint/tendermint/abci/types" + + "github.com/DecentralCardGame/Cardchain/x/featureflag/client/cli" + "github.com/DecentralCardGame/Cardchain/x/featureflag/keeper" + "github.com/DecentralCardGame/Cardchain/x/featureflag/types" + "github.com/cosmos/cosmos-sdk/client" + "github.com/cosmos/cosmos-sdk/codec" + cdctypes "github.com/cosmos/cosmos-sdk/codec/types" + sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/cosmos/cosmos-sdk/types/module" +) + +var ( + _ module.AppModule = AppModule{} + _ module.AppModuleBasic = AppModuleBasic{} +) + +// ---------------------------------------------------------------------------- +// AppModuleBasic +// ---------------------------------------------------------------------------- + +// AppModuleBasic implements the AppModuleBasic interface that defines the independent methods a Cosmos SDK module needs to implement. +type AppModuleBasic struct { + cdc codec.BinaryCodec +} + +func NewAppModuleBasic(cdc codec.BinaryCodec) AppModuleBasic { + return AppModuleBasic{cdc: cdc} +} + +// Name returns the name of the module as a string +func (AppModuleBasic) Name() string { + return types.ModuleName +} + +// RegisterLegacyAminoCodec registers the amino codec for the module, which is used to marshal and unmarshal structs to/from []byte in order to persist them in the module's KVStore +func (AppModuleBasic) RegisterLegacyAminoCodec(cdc *codec.LegacyAmino) { + types.RegisterCodec(cdc) +} + +// RegisterInterfaces registers a module's interface types and their concrete implementations as proto.Message +func (a AppModuleBasic) RegisterInterfaces(reg cdctypes.InterfaceRegistry) { + types.RegisterInterfaces(reg) +} + +// DefaultGenesis returns a default GenesisState for the module, marshalled to json.RawMessage. The default GenesisState need to be defined by the module developer and is primarily used for testing +func (AppModuleBasic) DefaultGenesis(cdc codec.JSONCodec) json.RawMessage { + return cdc.MustMarshalJSON(types.DefaultGenesis()) +} + +// ValidateGenesis used to validate the GenesisState, given in its json.RawMessage form +func (AppModuleBasic) ValidateGenesis(cdc codec.JSONCodec, config client.TxEncodingConfig, bz json.RawMessage) error { + var genState types.GenesisState + if err := cdc.UnmarshalJSON(bz, &genState); err != nil { + return fmt.Errorf("failed to unmarshal %s genesis state: %w", types.ModuleName, err) + } + return genState.Validate() +} + +// RegisterGRPCGatewayRoutes registers the gRPC Gateway routes for the module +func (AppModuleBasic) RegisterGRPCGatewayRoutes(clientCtx client.Context, mux *runtime.ServeMux) { + types.RegisterQueryHandlerClient(context.Background(), mux, types.NewQueryClient(clientCtx)) +} + +// GetTxCmd returns the root Tx command for the module. The subcommands of this root command are used by end-users to generate new transactions containing messages defined in the module +func (a AppModuleBasic) GetTxCmd() *cobra.Command { + return cli.GetTxCmd() +} + +// GetQueryCmd returns the root query command for the module. The subcommands of this root command are used by end-users to generate new queries to the subset of the state defined by the module +func (AppModuleBasic) GetQueryCmd() *cobra.Command { + return cli.GetQueryCmd(types.StoreKey) +} + +// ---------------------------------------------------------------------------- +// AppModule +// ---------------------------------------------------------------------------- + +// AppModule implements the AppModule interface that defines the inter-dependent methods that modules need to implement +type AppModule struct { + AppModuleBasic + + keeper keeper.Keeper + accountKeeper types.AccountKeeper + bankKeeper types.BankKeeper +} + +func NewAppModule( + cdc codec.Codec, + keeper keeper.Keeper, + accountKeeper types.AccountKeeper, + bankKeeper types.BankKeeper, +) AppModule { + return AppModule{ + AppModuleBasic: NewAppModuleBasic(cdc), + keeper: keeper, + accountKeeper: accountKeeper, + bankKeeper: bankKeeper, + } +} + +// Deprecated: use RegisterServices +func (am AppModule) Route() sdk.Route { return sdk.Route{} } + +// Deprecated: use RegisterServices +func (AppModule) QuerierRoute() string { return types.RouterKey } + +// Deprecated: use RegisterServices +func (am AppModule) LegacyQuerierHandler(_ *codec.LegacyAmino) sdk.Querier { + return nil +} + +// RegisterServices registers a gRPC query service to respond to the module-specific gRPC queries +func (am AppModule) RegisterServices(cfg module.Configurator) { + types.RegisterMsgServer(cfg.MsgServer(), keeper.NewMsgServerImpl(am.keeper)) + types.RegisterQueryServer(cfg.QueryServer(), am.keeper) +} + +// RegisterInvariants registers the invariants of the module. If an invariant deviates from its predicted value, the InvariantRegistry triggers appropriate logic (most often the chain will be halted) +func (am AppModule) RegisterInvariants(_ sdk.InvariantRegistry) {} + +// InitGenesis performs the module's genesis initialization. It returns no validator updates. +func (am AppModule) InitGenesis(ctx sdk.Context, cdc codec.JSONCodec, gs json.RawMessage) []abci.ValidatorUpdate { + var genState types.GenesisState + // Initialize global index to index in genesis state + cdc.MustUnmarshalJSON(gs, &genState) + + InitGenesis(ctx, am.keeper, genState) + + return []abci.ValidatorUpdate{} +} + +// ExportGenesis returns the module's exported genesis state as raw JSON bytes. +func (am AppModule) ExportGenesis(ctx sdk.Context, cdc codec.JSONCodec) json.RawMessage { + genState := ExportGenesis(ctx, am.keeper) + return cdc.MustMarshalJSON(genState) +} + +// ConsensusVersion is a sequence number for state-breaking change of the module. It should be incremented on each consensus-breaking change introduced by the module. To avoid wrong/empty versions, the initial version should be set to 1 +func (AppModule) ConsensusVersion() uint64 { return 1 } + +// BeginBlock contains the logic that is automatically triggered at the beginning of each block +func (am AppModule) BeginBlock(_ sdk.Context, _ abci.RequestBeginBlock) {} + +// EndBlock contains the logic that is automatically triggered at the end of each block +func (am AppModule) EndBlock(_ sdk.Context, _ abci.RequestEndBlock) []abci.ValidatorUpdate { + return []abci.ValidatorUpdate{} +} diff --git a/x/featureflag/module_simulation.go b/x/featureflag/module_simulation.go new file mode 100644 index 00000000..6099047c --- /dev/null +++ b/x/featureflag/module_simulation.go @@ -0,0 +1,64 @@ +package featureflag + +import ( + "math/rand" + + "github.com/DecentralCardGame/Cardchain/testutil/sample" + featureflagsimulation "github.com/DecentralCardGame/Cardchain/x/featureflag/simulation" + "github.com/DecentralCardGame/Cardchain/x/featureflag/types" + "github.com/cosmos/cosmos-sdk/baseapp" + simappparams "github.com/cosmos/cosmos-sdk/simapp/params" + sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/cosmos/cosmos-sdk/types/module" + simtypes "github.com/cosmos/cosmos-sdk/types/simulation" + "github.com/cosmos/cosmos-sdk/x/simulation" +) + +// avoid unused import issue +var ( + _ = sample.AccAddress + _ = featureflagsimulation.FindAccount + _ = simappparams.StakePerAccount + _ = simulation.MsgEntryKind + _ = baseapp.Paramspace +) + +const ( +// this line is used by starport scaffolding # simapp/module/const +) + +// GenerateGenesisState creates a randomized GenState of the module +func (AppModule) GenerateGenesisState(simState *module.SimulationState) { + accs := make([]string, len(simState.Accounts)) + for i, acc := range simState.Accounts { + accs[i] = acc.Address.String() + } + featureflagGenesis := types.GenesisState{ + Params: types.DefaultParams(), + // this line is used by starport scaffolding # simapp/module/genesisState + } + simState.GenState[types.ModuleName] = simState.Cdc.MustMarshalJSON(&featureflagGenesis) +} + +// ProposalContents doesn't return any content functions for governance proposals +func (AppModule) ProposalContents(_ module.SimulationState) []simtypes.WeightedProposalContent { + return nil +} + +// RandomizedParams creates randomized param changes for the simulator +func (am AppModule) RandomizedParams(_ *rand.Rand) []simtypes.ParamChange { + + return []simtypes.ParamChange{} +} + +// RegisterStoreDecoder registers a decoder +func (am AppModule) RegisterStoreDecoder(_ sdk.StoreDecoderRegistry) {} + +// WeightedOperations returns the all the gov module operations with their respective weights. +func (am AppModule) WeightedOperations(simState module.SimulationState) []simtypes.WeightedOperation { + operations := make([]simtypes.WeightedOperation, 0) + + // this line is used by starport scaffolding # simapp/module/operation + + return operations +} diff --git a/x/featureflag/proposal_handler.go b/x/featureflag/proposal_handler.go new file mode 100644 index 00000000..9497bbaa --- /dev/null +++ b/x/featureflag/proposal_handler.go @@ -0,0 +1,38 @@ +package featureflag + +import ( + sdkerrors "cosmossdk.io/errors" + "github.com/DecentralCardGame/Cardchain/x/featureflag/keeper" + "github.com/DecentralCardGame/Cardchain/x/featureflag/types" + sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/cosmos/cosmos-sdk/types/errors" + govtypes "github.com/cosmos/cosmos-sdk/x/gov/types/v1beta1" +) + +// NewProposalHandler creates a new governance Handler for a ParamChangeProposal +func NewProposalHandler(k keeper.Keeper) govtypes.Handler { + return func(ctx sdk.Context, content govtypes.Content) error { + switch c := content.(type) { + case *types.FlagEnableProposal: + return handleFlagEnableProposal(ctx, k, c) + + default: + return sdkerrors.Wrapf(errors.ErrUnknownRequest, "unrecognized proposal content type: %T", c) + } + } +} + +func handleFlagEnableProposal(ctx sdk.Context, k keeper.Keeper, p *types.FlagEnableProposal) error { + err := k.FlagExists(p.Module, p.Name) + if err != nil { + return err + } + + key := keeper.GetKey(p.Module, p.Name) + + flag := k.GetFlag(ctx, key) + flag.Set = true + k.SetFlag(ctx, key, flag) + + return nil +} diff --git a/x/featureflag/simulation/helpers.go b/x/featureflag/simulation/helpers.go new file mode 100644 index 00000000..92c437c0 --- /dev/null +++ b/x/featureflag/simulation/helpers.go @@ -0,0 +1,15 @@ +package simulation + +import ( + sdk "github.com/cosmos/cosmos-sdk/types" + simtypes "github.com/cosmos/cosmos-sdk/types/simulation" +) + +// FindAccount find a specific address from an account list +func FindAccount(accs []simtypes.Account, address string) (simtypes.Account, bool) { + creator, err := sdk.AccAddressFromBech32(address) + if err != nil { + panic(err) + } + return simtypes.FindAccount(accs, creator) +} diff --git a/x/featureflag/types/codec.go b/x/featureflag/types/codec.go new file mode 100644 index 00000000..d3fcaca1 --- /dev/null +++ b/x/featureflag/types/codec.go @@ -0,0 +1,30 @@ +package types + +import ( + "github.com/cosmos/cosmos-sdk/codec" + cdctypes "github.com/cosmos/cosmos-sdk/codec/types" + govtypes "github.com/cosmos/cosmos-sdk/x/gov/types/v1beta1" + + // this line is used by starport scaffolding # 1 + "github.com/cosmos/cosmos-sdk/types/msgservice" +) + +func RegisterCodec(cdc *codec.LegacyAmino) { + // this line is used by starport scaffolding # 2 + cdc.RegisterConcrete(&FlagEnableProposal{}, "featureflag/FlagEnableProposal", nil) +} + +func RegisterInterfaces(registry cdctypes.InterfaceRegistry) { + // this line is used by starport scaffolding # 3 + + registry.RegisterImplementations((*govtypes.Content)(nil), + &FlagEnableProposal{}, + ) + + msgservice.RegisterMsgServiceDesc(registry, &_Msg_serviceDesc) +} + +var ( + Amino = codec.NewLegacyAmino() + ModuleCdc = codec.NewProtoCodec(cdctypes.NewInterfaceRegistry()) +) diff --git a/x/featureflag/types/errors.go b/x/featureflag/types/errors.go new file mode 100644 index 00000000..d82f2c67 --- /dev/null +++ b/x/featureflag/types/errors.go @@ -0,0 +1,12 @@ +package types + +// DONTCOVER + +import ( + sdkerrors "cosmossdk.io/errors" +) + +// x/featureflag module sentinel errors +var ( + ErrFlagUnregisterd = sdkerrors.Register(ModuleName, 1, "Flag is not registered") +) diff --git a/x/featureflag/types/expected_keepers.go b/x/featureflag/types/expected_keepers.go new file mode 100644 index 00000000..6aa6e977 --- /dev/null +++ b/x/featureflag/types/expected_keepers.go @@ -0,0 +1,18 @@ +package types + +import ( + sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/cosmos/cosmos-sdk/x/auth/types" +) + +// AccountKeeper defines the expected account keeper used for simulations (noalias) +type AccountKeeper interface { + GetAccount(ctx sdk.Context, addr sdk.AccAddress) types.AccountI + // Methods imported from account should be defined here +} + +// BankKeeper defines the expected interface needed to retrieve account balances. +type BankKeeper interface { + SpendableCoins(ctx sdk.Context, addr sdk.AccAddress) sdk.Coins + // Methods imported from bank should be defined here +} diff --git a/x/featureflag/types/flag.pb.go b/x/featureflag/types/flag.pb.go new file mode 100644 index 00000000..971cb752 --- /dev/null +++ b/x/featureflag/types/flag.pb.go @@ -0,0 +1,409 @@ +// Code generated by protoc-gen-gogo. DO NOT EDIT. +// source: cardchain/featureflag/flag.proto + +package types + +import ( + fmt "fmt" + proto "github.com/gogo/protobuf/proto" + io "io" + math "math" + math_bits "math/bits" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package + +type Flag struct { + Module string `protobuf:"bytes,1,opt,name=Module,proto3" json:"Module,omitempty"` + Name string `protobuf:"bytes,2,opt,name=Name,proto3" json:"Name,omitempty"` + Set bool `protobuf:"varint,3,opt,name=Set,proto3" json:"Set,omitempty"` +} + +func (m *Flag) Reset() { *m = Flag{} } +func (m *Flag) String() string { return proto.CompactTextString(m) } +func (*Flag) ProtoMessage() {} +func (*Flag) Descriptor() ([]byte, []int) { + return fileDescriptor_b9a028c5a375b1b4, []int{0} +} +func (m *Flag) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *Flag) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_Flag.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 *Flag) XXX_Merge(src proto.Message) { + xxx_messageInfo_Flag.Merge(m, src) +} +func (m *Flag) XXX_Size() int { + return m.Size() +} +func (m *Flag) XXX_DiscardUnknown() { + xxx_messageInfo_Flag.DiscardUnknown(m) +} + +var xxx_messageInfo_Flag proto.InternalMessageInfo + +func (m *Flag) GetModule() string { + if m != nil { + return m.Module + } + return "" +} + +func (m *Flag) GetName() string { + if m != nil { + return m.Name + } + return "" +} + +func (m *Flag) GetSet() bool { + if m != nil { + return m.Set + } + return false +} + +func init() { + proto.RegisterType((*Flag)(nil), "DecentralCardGame.cardchain.featureflag.Flag") +} + +func init() { proto.RegisterFile("cardchain/featureflag/flag.proto", fileDescriptor_b9a028c5a375b1b4) } + +var fileDescriptor_b9a028c5a375b1b4 = []byte{ + // 198 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x52, 0x48, 0x4e, 0x2c, 0x4a, + 0x49, 0xce, 0x48, 0xcc, 0xcc, 0xd3, 0x4f, 0x4b, 0x4d, 0x2c, 0x29, 0x2d, 0x4a, 0x4d, 0xcb, 0x49, + 0x4c, 0xd7, 0x07, 0x11, 0x7a, 0x05, 0x45, 0xf9, 0x25, 0xf9, 0x42, 0xea, 0x2e, 0xa9, 0xc9, 0xa9, + 0x79, 0x25, 0x45, 0x89, 0x39, 0xce, 0x89, 0x45, 0x29, 0xee, 0x89, 0xb9, 0xa9, 0x7a, 0x70, 0x3d, + 0x7a, 0x48, 0x7a, 0x94, 0x5c, 0xb8, 0x58, 0xdc, 0x72, 0x12, 0xd3, 0x85, 0xc4, 0xb8, 0xd8, 0x7c, + 0xf3, 0x53, 0x4a, 0x73, 0x52, 0x25, 0x18, 0x15, 0x18, 0x35, 0x38, 0x83, 0xa0, 0x3c, 0x21, 0x21, + 0x2e, 0x16, 0xbf, 0xc4, 0xdc, 0x54, 0x09, 0x26, 0xb0, 0x28, 0x98, 0x2d, 0x24, 0xc0, 0xc5, 0x1c, + 0x9c, 0x5a, 0x22, 0xc1, 0xac, 0xc0, 0xa8, 0xc1, 0x11, 0x04, 0x62, 0x3a, 0x85, 0x9c, 0x78, 0x24, + 0xc7, 0x78, 0xe1, 0x91, 0x1c, 0xe3, 0x83, 0x47, 0x72, 0x8c, 0x13, 0x1e, 0xcb, 0x31, 0x5c, 0x78, + 0x2c, 0xc7, 0x70, 0xe3, 0xb1, 0x1c, 0x43, 0x94, 0x55, 0x7a, 0x66, 0x49, 0x46, 0x69, 0x92, 0x5e, + 0x72, 0x7e, 0xae, 0x3e, 0x86, 0x9b, 0xf4, 0x9d, 0xe1, 0xfe, 0xa8, 0x40, 0xf1, 0x49, 0x49, 0x65, + 0x41, 0x6a, 0x71, 0x12, 0x1b, 0xd8, 0x2f, 0xc6, 0x80, 0x00, 0x00, 0x00, 0xff, 0xff, 0x3e, 0xcf, + 0xf8, 0x30, 0xef, 0x00, 0x00, 0x00, +} + +func (m *Flag) 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 *Flag) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *Flag) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.Set { + i-- + if m.Set { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x18 + } + if len(m.Name) > 0 { + i -= len(m.Name) + copy(dAtA[i:], m.Name) + i = encodeVarintFlag(dAtA, i, uint64(len(m.Name))) + i-- + dAtA[i] = 0x12 + } + if len(m.Module) > 0 { + i -= len(m.Module) + copy(dAtA[i:], m.Module) + i = encodeVarintFlag(dAtA, i, uint64(len(m.Module))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func encodeVarintFlag(dAtA []byte, offset int, v uint64) int { + offset -= sovFlag(v) + base := offset + for v >= 1<<7 { + dAtA[offset] = uint8(v&0x7f | 0x80) + v >>= 7 + offset++ + } + dAtA[offset] = uint8(v) + return base +} +func (m *Flag) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Module) + if l > 0 { + n += 1 + l + sovFlag(uint64(l)) + } + l = len(m.Name) + if l > 0 { + n += 1 + l + sovFlag(uint64(l)) + } + if m.Set { + n += 2 + } + return n +} + +func sovFlag(x uint64) (n int) { + return (math_bits.Len64(x|1) + 6) / 7 +} +func sozFlag(x uint64) (n int) { + return sovFlag(uint64((x << 1) ^ uint64((int64(x) >> 63)))) +} +func (m *Flag) 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 ErrIntOverflowFlag + } + 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: Flag: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: Flag: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Module", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowFlag + } + 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 ErrInvalidLengthFlag + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthFlag + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Module = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowFlag + } + 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 ErrInvalidLengthFlag + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthFlag + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Name = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Set", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowFlag + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.Set = bool(v != 0) + default: + iNdEx = preIndex + skippy, err := skipFlag(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthFlag + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func skipFlag(dAtA []byte) (n int, err error) { + l := len(dAtA) + iNdEx := 0 + depth := 0 + for iNdEx < l { + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowFlag + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + wireType := int(wire & 0x7) + switch wireType { + case 0: + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowFlag + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + iNdEx++ + if dAtA[iNdEx-1] < 0x80 { + break + } + } + case 1: + iNdEx += 8 + case 2: + var length int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowFlag + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + length |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if length < 0 { + return 0, ErrInvalidLengthFlag + } + iNdEx += length + case 3: + depth++ + case 4: + if depth == 0 { + return 0, ErrUnexpectedEndOfGroupFlag + } + depth-- + case 5: + iNdEx += 4 + default: + return 0, fmt.Errorf("proto: illegal wireType %d", wireType) + } + if iNdEx < 0 { + return 0, ErrInvalidLengthFlag + } + if depth == 0 { + return iNdEx, nil + } + } + return 0, io.ErrUnexpectedEOF +} + +var ( + ErrInvalidLengthFlag = fmt.Errorf("proto: negative length found during unmarshaling") + ErrIntOverflowFlag = fmt.Errorf("proto: integer overflow") + ErrUnexpectedEndOfGroupFlag = fmt.Errorf("proto: unexpected end of group") +) diff --git a/x/featureflag/types/genesis.go b/x/featureflag/types/genesis.go new file mode 100644 index 00000000..b07218ab --- /dev/null +++ b/x/featureflag/types/genesis.go @@ -0,0 +1,22 @@ +package types + +// DefaultIndex is the default global index +const DefaultIndex uint64 = 1 + +// DefaultGenesis returns the default genesis state +func DefaultGenesis() *GenesisState { + return &GenesisState{ + // this line is used by starport scaffolding # genesis/types/default + Params: DefaultParams(), + } +} + +// Validate performs basic genesis state validation returning an error upon any +// failure. +func (gs GenesisState) Validate() error { + // Check for duplicated index in flags + + // this line is used by starport scaffolding # genesis/types/validate + + return gs.Params.Validate() +} diff --git a/x/featureflag/types/genesis.pb.go b/x/featureflag/types/genesis.pb.go new file mode 100644 index 00000000..414ae0e1 --- /dev/null +++ b/x/featureflag/types/genesis.pb.go @@ -0,0 +1,506 @@ +// Code generated by protoc-gen-gogo. DO NOT EDIT. +// source: cardchain/featureflag/genesis.proto + +package types + +import ( + fmt "fmt" + _ "github.com/gogo/protobuf/gogoproto" + proto "github.com/gogo/protobuf/proto" + io "io" + math "math" + math_bits "math/bits" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package + +// GenesisState defines the featureflag module's genesis state. +type GenesisState struct { + Params Params `protobuf:"bytes,1,opt,name=params,proto3" json:"params"` + Flags map[string]*Flag `protobuf:"bytes,2,rep,name=flags,proto3" json:"flags,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (m *GenesisState) Reset() { *m = GenesisState{} } +func (m *GenesisState) String() string { return proto.CompactTextString(m) } +func (*GenesisState) ProtoMessage() {} +func (*GenesisState) Descriptor() ([]byte, []int) { + return fileDescriptor_f8a32dc81c7a3cc4, []int{0} +} +func (m *GenesisState) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *GenesisState) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_GenesisState.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 *GenesisState) XXX_Merge(src proto.Message) { + xxx_messageInfo_GenesisState.Merge(m, src) +} +func (m *GenesisState) XXX_Size() int { + return m.Size() +} +func (m *GenesisState) XXX_DiscardUnknown() { + xxx_messageInfo_GenesisState.DiscardUnknown(m) +} + +var xxx_messageInfo_GenesisState proto.InternalMessageInfo + +func (m *GenesisState) GetParams() Params { + if m != nil { + return m.Params + } + return Params{} +} + +func (m *GenesisState) GetFlags() map[string]*Flag { + if m != nil { + return m.Flags + } + return nil +} + +func init() { + proto.RegisterType((*GenesisState)(nil), "DecentralCardGame.cardchain.featureflag.GenesisState") + proto.RegisterMapType((map[string]*Flag)(nil), "DecentralCardGame.cardchain.featureflag.GenesisState.FlagsEntry") +} + +func init() { + proto.RegisterFile("cardchain/featureflag/genesis.proto", fileDescriptor_f8a32dc81c7a3cc4) +} + +var fileDescriptor_f8a32dc81c7a3cc4 = []byte{ + // 301 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x52, 0x4e, 0x4e, 0x2c, 0x4a, + 0x49, 0xce, 0x48, 0xcc, 0xcc, 0xd3, 0x4f, 0x4b, 0x4d, 0x2c, 0x29, 0x2d, 0x4a, 0x4d, 0xcb, 0x49, + 0x4c, 0xd7, 0x4f, 0x4f, 0xcd, 0x4b, 0x2d, 0xce, 0x2c, 0xd6, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, + 0x52, 0x77, 0x49, 0x4d, 0x4e, 0xcd, 0x2b, 0x29, 0x4a, 0xcc, 0x71, 0x4e, 0x2c, 0x4a, 0x71, 0x4f, + 0xcc, 0x4d, 0xd5, 0x83, 0x6b, 0xd3, 0x43, 0xd2, 0x26, 0x25, 0x92, 0x9e, 0x9f, 0x9e, 0x0f, 0xd6, + 0xa3, 0x0f, 0x62, 0x41, 0xb4, 0x4b, 0x29, 0x61, 0xb7, 0xa3, 0x20, 0xb1, 0x28, 0x31, 0x17, 0x6a, + 0x85, 0x94, 0x02, 0x76, 0x35, 0x20, 0x02, 0xa2, 0x42, 0x69, 0x1e, 0x13, 0x17, 0x8f, 0x3b, 0xc4, + 0x59, 0xc1, 0x25, 0x89, 0x25, 0xa9, 0x42, 0xbe, 0x5c, 0x6c, 0x10, 0x23, 0x24, 0x18, 0x15, 0x18, + 0x35, 0xb8, 0x8d, 0xf4, 0xf5, 0x88, 0x74, 0xa6, 0x5e, 0x00, 0x58, 0x9b, 0x13, 0xcb, 0x89, 0x7b, + 0xf2, 0x0c, 0x41, 0x50, 0x43, 0x84, 0xc2, 0xb8, 0x58, 0x41, 0x92, 0xc5, 0x12, 0x4c, 0x0a, 0xcc, + 0x1a, 0xdc, 0x46, 0x0e, 0x44, 0x9b, 0x86, 0xec, 0x28, 0x3d, 0x37, 0x90, 0x11, 0xae, 0x79, 0x25, + 0x45, 0x95, 0x41, 0x10, 0xe3, 0xa4, 0xd2, 0xb9, 0xb8, 0x10, 0x82, 0x42, 0x02, 0x5c, 0xcc, 0xd9, + 0xa9, 0x95, 0x60, 0x17, 0x73, 0x06, 0x81, 0x98, 0x42, 0xce, 0x5c, 0xac, 0x65, 0x89, 0x39, 0xa5, + 0xa9, 0x12, 0x4c, 0x60, 0x5f, 0xe8, 0x12, 0x6d, 0x2f, 0xc8, 0xd4, 0x20, 0x88, 0x5e, 0x2b, 0x26, + 0x0b, 0x46, 0xa7, 0x90, 0x13, 0x8f, 0xe4, 0x18, 0x2f, 0x3c, 0x92, 0x63, 0x7c, 0xf0, 0x48, 0x8e, + 0x71, 0xc2, 0x63, 0x39, 0x86, 0x0b, 0x8f, 0xe5, 0x18, 0x6e, 0x3c, 0x96, 0x63, 0x88, 0xb2, 0x4a, + 0xcf, 0x2c, 0xc9, 0x28, 0x4d, 0xd2, 0x4b, 0xce, 0xcf, 0xd5, 0xc7, 0x30, 0x5d, 0xdf, 0x19, 0x1e, + 0xf2, 0x15, 0x28, 0x61, 0x5f, 0x52, 0x59, 0x90, 0x5a, 0x9c, 0xc4, 0x06, 0x0e, 0x7d, 0x63, 0x40, + 0x00, 0x00, 0x00, 0xff, 0xff, 0x25, 0xc5, 0x61, 0x5e, 0x29, 0x02, 0x00, 0x00, +} + +func (m *GenesisState) 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 *GenesisState) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *GenesisState) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Flags) > 0 { + for k := range m.Flags { + v := m.Flags[k] + baseI := i + if v != nil { + { + size, err := v.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintGenesis(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 + } + i -= len(k) + copy(dAtA[i:], k) + i = encodeVarintGenesis(dAtA, i, uint64(len(k))) + i-- + dAtA[i] = 0xa + i = encodeVarintGenesis(dAtA, i, uint64(baseI-i)) + i-- + dAtA[i] = 0x12 + } + } + { + size, err := m.Params.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintGenesis(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa + return len(dAtA) - i, nil +} + +func encodeVarintGenesis(dAtA []byte, offset int, v uint64) int { + offset -= sovGenesis(v) + base := offset + for v >= 1<<7 { + dAtA[offset] = uint8(v&0x7f | 0x80) + v >>= 7 + offset++ + } + dAtA[offset] = uint8(v) + return base +} +func (m *GenesisState) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = m.Params.Size() + n += 1 + l + sovGenesis(uint64(l)) + if len(m.Flags) > 0 { + for k, v := range m.Flags { + _ = k + _ = v + l = 0 + if v != nil { + l = v.Size() + l += 1 + sovGenesis(uint64(l)) + } + mapEntrySize := 1 + len(k) + sovGenesis(uint64(len(k))) + l + n += mapEntrySize + 1 + sovGenesis(uint64(mapEntrySize)) + } + } + return n +} + +func sovGenesis(x uint64) (n int) { + return (math_bits.Len64(x|1) + 6) / 7 +} +func sozGenesis(x uint64) (n int) { + return sovGenesis(uint64((x << 1) ^ uint64((int64(x) >> 63)))) +} +func (m *GenesisState) 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 ErrIntOverflowGenesis + } + 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: GenesisState: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: GenesisState: 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 ErrIntOverflowGenesis + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenesis + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthGenesis + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Params.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Flags", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenesis + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenesis + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthGenesis + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Flags == nil { + m.Flags = make(map[string]*Flag) + } + var mapkey string + var mapvalue *Flag + for iNdEx < postIndex { + entryPreIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenesis + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + if fieldNum == 1 { + var stringLenmapkey uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenesis + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLenmapkey |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLenmapkey := int(stringLenmapkey) + if intStringLenmapkey < 0 { + return ErrInvalidLengthGenesis + } + postStringIndexmapkey := iNdEx + intStringLenmapkey + if postStringIndexmapkey < 0 { + return ErrInvalidLengthGenesis + } + if postStringIndexmapkey > l { + return io.ErrUnexpectedEOF + } + mapkey = string(dAtA[iNdEx:postStringIndexmapkey]) + iNdEx = postStringIndexmapkey + } else if fieldNum == 2 { + var mapmsglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenesis + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + mapmsglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if mapmsglen < 0 { + return ErrInvalidLengthGenesis + } + postmsgIndex := iNdEx + mapmsglen + if postmsgIndex < 0 { + return ErrInvalidLengthGenesis + } + if postmsgIndex > l { + return io.ErrUnexpectedEOF + } + mapvalue = &Flag{} + if err := mapvalue.Unmarshal(dAtA[iNdEx:postmsgIndex]); err != nil { + return err + } + iNdEx = postmsgIndex + } else { + iNdEx = entryPreIndex + skippy, err := skipGenesis(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthGenesis + } + if (iNdEx + skippy) > postIndex { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + m.Flags[mapkey] = mapvalue + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenesis(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthGenesis + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func skipGenesis(dAtA []byte) (n int, err error) { + l := len(dAtA) + iNdEx := 0 + depth := 0 + for iNdEx < l { + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowGenesis + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + wireType := int(wire & 0x7) + switch wireType { + case 0: + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowGenesis + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + iNdEx++ + if dAtA[iNdEx-1] < 0x80 { + break + } + } + case 1: + iNdEx += 8 + case 2: + var length int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowGenesis + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + length |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if length < 0 { + return 0, ErrInvalidLengthGenesis + } + iNdEx += length + case 3: + depth++ + case 4: + if depth == 0 { + return 0, ErrUnexpectedEndOfGroupGenesis + } + depth-- + case 5: + iNdEx += 4 + default: + return 0, fmt.Errorf("proto: illegal wireType %d", wireType) + } + if iNdEx < 0 { + return 0, ErrInvalidLengthGenesis + } + if depth == 0 { + return iNdEx, nil + } + } + return 0, io.ErrUnexpectedEOF +} + +var ( + ErrInvalidLengthGenesis = fmt.Errorf("proto: negative length found during unmarshaling") + ErrIntOverflowGenesis = fmt.Errorf("proto: integer overflow") + ErrUnexpectedEndOfGroupGenesis = fmt.Errorf("proto: unexpected end of group") +) diff --git a/x/featureflag/types/genesis_test.go b/x/featureflag/types/genesis_test.go new file mode 100644 index 00000000..7c83ee99 --- /dev/null +++ b/x/featureflag/types/genesis_test.go @@ -0,0 +1,84 @@ +package types_test + +import ( + "testing" + + "github.com/DecentralCardGame/Cardchain/x/featureflag/types" + "github.com/stretchr/testify/require" +) + +func TestGenesisState_Validate(t *testing.T) { + for _, tc := range []struct { + desc string + genState *types.GenesisState + valid bool + }{ + { + desc: "default is valid", + genState: types.DefaultGenesis(), + valid: true, + }, + { + desc: "valid genesis state", + genState: &types.GenesisState{ + + FlagsList: []types.Flags{ + { + Index: "0", + }, + { + Index: "1", + }, + }, + FlagsList: []types.Flags{ + { + Index: "0", + }, + { + Index: "1", + }, + }, + // this line is used by starport scaffolding # types/genesis/validField + }, + valid: true, + }, + { + desc: "duplicated flags", + genState: &types.GenesisState{ + FlagsList: []types.Flags{ + { + Index: "0", + }, + { + Index: "0", + }, + }, + }, + valid: false, + }, + { + desc: "duplicated flags", + genState: &types.GenesisState{ + FlagsList: []types.Flags{ + { + Index: "0", + }, + { + Index: "0", + }, + }, + }, + valid: false, + }, + // this line is used by starport scaffolding # types/genesis/testcase + } { + t.Run(tc.desc, func(t *testing.T) { + err := tc.genState.Validate() + if tc.valid { + require.NoError(t, err) + } else { + require.Error(t, err) + } + }) + } +} diff --git a/x/featureflag/types/key_flags.go b/x/featureflag/types/key_flags.go new file mode 100644 index 00000000..98d31b87 --- /dev/null +++ b/x/featureflag/types/key_flags.go @@ -0,0 +1,23 @@ +package types + +import "encoding/binary" + +var _ binary.ByteOrder + +const ( + // FlagsKeyPrefix is the prefix to retrieve all Flags + FlagsKeyPrefix = "Flags/value/" +) + +// FlagsKey returns the store key to retrieve a Flags from the index fields +func FlagsKey( + index string, +) []byte { + var key []byte + + indexBytes := []byte(index) + key = append(key, indexBytes...) + key = append(key, []byte("/")...) + + return key +} diff --git a/x/featureflag/types/keys.go b/x/featureflag/types/keys.go new file mode 100644 index 00000000..cf1e18ce --- /dev/null +++ b/x/featureflag/types/keys.go @@ -0,0 +1,19 @@ +package types + +const ( + // ModuleName defines the module name + ModuleName = "featureflag" + + // StoreKey defines the primary module store key + StoreKey = ModuleName + + // RouterKey defines the module's message routing key + RouterKey = ModuleName + + // MemStoreKey defines the in-memory store key + MemStoreKey = "mem_featureflag" +) + +func KeyPrefix(p string) []byte { + return []byte(p) +} diff --git a/x/featureflag/types/params.go b/x/featureflag/types/params.go new file mode 100644 index 00000000..357196ad --- /dev/null +++ b/x/featureflag/types/params.go @@ -0,0 +1,39 @@ +package types + +import ( + paramtypes "github.com/cosmos/cosmos-sdk/x/params/types" + "gopkg.in/yaml.v2" +) + +var _ paramtypes.ParamSet = (*Params)(nil) + +// ParamKeyTable the param key table for launch module +func ParamKeyTable() paramtypes.KeyTable { + return paramtypes.NewKeyTable().RegisterParamSet(&Params{}) +} + +// NewParams creates a new Params instance +func NewParams() Params { + return Params{} +} + +// DefaultParams returns a default set of parameters +func DefaultParams() Params { + return NewParams() +} + +// ParamSetPairs get the params.ParamSet +func (p *Params) ParamSetPairs() paramtypes.ParamSetPairs { + return paramtypes.ParamSetPairs{} +} + +// Validate validates the set of params +func (p Params) Validate() error { + return nil +} + +// String implements the Stringer interface. +func (p Params) String() string { + out, _ := yaml.Marshal(p) + return string(out) +} diff --git a/x/featureflag/types/params.pb.go b/x/featureflag/types/params.pb.go new file mode 100644 index 00000000..761b8a2a --- /dev/null +++ b/x/featureflag/types/params.pb.go @@ -0,0 +1,267 @@ +// Code generated by protoc-gen-gogo. DO NOT EDIT. +// source: cardchain/featureflag/params.proto + +package types + +import ( + fmt "fmt" + _ "github.com/gogo/protobuf/gogoproto" + proto "github.com/gogo/protobuf/proto" + io "io" + math "math" + math_bits "math/bits" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package + +// Params defines the parameters for the module. +type Params struct { +} + +func (m *Params) Reset() { *m = Params{} } +func (*Params) ProtoMessage() {} +func (*Params) Descriptor() ([]byte, []int) { + return fileDescriptor_c9ce917ea43e1573, []int{0} +} +func (m *Params) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *Params) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_Params.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 *Params) XXX_Merge(src proto.Message) { + xxx_messageInfo_Params.Merge(m, src) +} +func (m *Params) XXX_Size() int { + return m.Size() +} +func (m *Params) XXX_DiscardUnknown() { + xxx_messageInfo_Params.DiscardUnknown(m) +} + +var xxx_messageInfo_Params proto.InternalMessageInfo + +func init() { + proto.RegisterType((*Params)(nil), "DecentralCardGame.cardchain.featureflag.Params") +} + +func init() { + proto.RegisterFile("cardchain/featureflag/params.proto", fileDescriptor_c9ce917ea43e1573) +} + +var fileDescriptor_c9ce917ea43e1573 = []byte{ + // 172 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x52, 0x4a, 0x4e, 0x2c, 0x4a, + 0x49, 0xce, 0x48, 0xcc, 0xcc, 0xd3, 0x4f, 0x4b, 0x4d, 0x2c, 0x29, 0x2d, 0x4a, 0x4d, 0xcb, 0x49, + 0x4c, 0xd7, 0x2f, 0x48, 0x2c, 0x4a, 0xcc, 0x2d, 0xd6, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0x52, + 0x77, 0x49, 0x4d, 0x4e, 0xcd, 0x2b, 0x29, 0x4a, 0xcc, 0x71, 0x4e, 0x2c, 0x4a, 0x71, 0x4f, 0xcc, + 0x4d, 0xd5, 0x83, 0xeb, 0xd2, 0x43, 0xd2, 0x25, 0x25, 0x92, 0x9e, 0x9f, 0x9e, 0x0f, 0xd6, 0xa3, + 0x0f, 0x62, 0x41, 0xb4, 0x2b, 0xf1, 0x71, 0xb1, 0x05, 0x80, 0x8d, 0xb3, 0x62, 0x99, 0xb1, 0x40, + 0x9e, 0xc1, 0x29, 0xe4, 0xc4, 0x23, 0x39, 0xc6, 0x0b, 0x8f, 0xe4, 0x18, 0x1f, 0x3c, 0x92, 0x63, + 0x9c, 0xf0, 0x58, 0x8e, 0xe1, 0xc2, 0x63, 0x39, 0x86, 0x1b, 0x8f, 0xe5, 0x18, 0xa2, 0xac, 0xd2, + 0x33, 0x4b, 0x32, 0x4a, 0x93, 0xf4, 0x92, 0xf3, 0x73, 0xf5, 0x31, 0xec, 0xd4, 0x77, 0x86, 0xbb, + 0xb4, 0x02, 0xc5, 0xad, 0x25, 0x95, 0x05, 0xa9, 0xc5, 0x49, 0x6c, 0x60, 0xcb, 0x8c, 0x01, 0x01, + 0x00, 0x00, 0xff, 0xff, 0xbe, 0xfa, 0x92, 0x24, 0xd1, 0x00, 0x00, 0x00, +} + +func (m *Params) 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 *Params) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *Params) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + +func encodeVarintParams(dAtA []byte, offset int, v uint64) int { + offset -= sovParams(v) + base := offset + for v >= 1<<7 { + dAtA[offset] = uint8(v&0x7f | 0x80) + v >>= 7 + offset++ + } + dAtA[offset] = uint8(v) + return base +} +func (m *Params) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func sovParams(x uint64) (n int) { + return (math_bits.Len64(x|1) + 6) / 7 +} +func sozParams(x uint64) (n int) { + return sovParams(uint64((x << 1) ^ uint64((int64(x) >> 63)))) +} +func (m *Params) 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 ErrIntOverflowParams + } + 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: Params: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: Params: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := skipParams(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthParams + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func skipParams(dAtA []byte) (n int, err error) { + l := len(dAtA) + iNdEx := 0 + depth := 0 + for iNdEx < l { + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowParams + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + wireType := int(wire & 0x7) + switch wireType { + case 0: + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowParams + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + iNdEx++ + if dAtA[iNdEx-1] < 0x80 { + break + } + } + case 1: + iNdEx += 8 + case 2: + var length int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowParams + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + length |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if length < 0 { + return 0, ErrInvalidLengthParams + } + iNdEx += length + case 3: + depth++ + case 4: + if depth == 0 { + return 0, ErrUnexpectedEndOfGroupParams + } + depth-- + case 5: + iNdEx += 4 + default: + return 0, fmt.Errorf("proto: illegal wireType %d", wireType) + } + if iNdEx < 0 { + return 0, ErrInvalidLengthParams + } + if depth == 0 { + return iNdEx, nil + } + } + return 0, io.ErrUnexpectedEOF +} + +var ( + ErrInvalidLengthParams = fmt.Errorf("proto: negative length found during unmarshaling") + ErrIntOverflowParams = fmt.Errorf("proto: integer overflow") + ErrUnexpectedEndOfGroupParams = fmt.Errorf("proto: unexpected end of group") +) diff --git a/x/featureflag/types/proposal.go b/x/featureflag/types/proposal.go new file mode 100644 index 00000000..3137eb38 --- /dev/null +++ b/x/featureflag/types/proposal.go @@ -0,0 +1,28 @@ +package types + +import ( + govtypes "github.com/cosmos/cosmos-sdk/x/gov/types/v1beta1" +) + +const ( + // ProposalTypeChange defines the type for a ParameterChangeProposal + ProposalTypeFlagEnable = "FeatureFlagEnable" +) + +func (c *FlagEnableProposal) ProposalRoute() string { return RouterKey } + +func (c *FlagEnableProposal) ProposalType() string { return ProposalTypeFlagEnable } + +func (c *FlagEnableProposal) ValidateBasic() error { + err := govtypes.ValidateAbstract(c) + if err != nil { + return err + } + // TODO More validation + return nil +} + + +func init() { + govtypes.RegisterProposalType(ProposalTypeFlagEnable) +} diff --git a/x/featureflag/types/proposal.pb.go b/x/featureflag/types/proposal.pb.go new file mode 100644 index 00000000..b9989389 --- /dev/null +++ b/x/featureflag/types/proposal.pb.go @@ -0,0 +1,474 @@ +// Code generated by protoc-gen-gogo. DO NOT EDIT. +// source: cardchain/featureflag/proposal.proto + +package types + +import ( + fmt "fmt" + proto "github.com/gogo/protobuf/proto" + io "io" + math "math" + math_bits "math/bits" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package + +type FlagEnableProposal struct { + Title string `protobuf:"bytes,1,opt,name=Title,proto3" json:"Title,omitempty"` + Description string `protobuf:"bytes,2,opt,name=Description,proto3" json:"Description,omitempty"` + Module string `protobuf:"bytes,3,opt,name=Module,proto3" json:"Module,omitempty"` + Name string `protobuf:"bytes,4,opt,name=Name,proto3" json:"Name,omitempty"` +} + +func (m *FlagEnableProposal) Reset() { *m = FlagEnableProposal{} } +func (m *FlagEnableProposal) String() string { return proto.CompactTextString(m) } +func (*FlagEnableProposal) ProtoMessage() {} +func (*FlagEnableProposal) Descriptor() ([]byte, []int) { + return fileDescriptor_04f544c52f2b96d2, []int{0} +} +func (m *FlagEnableProposal) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *FlagEnableProposal) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_FlagEnableProposal.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 *FlagEnableProposal) XXX_Merge(src proto.Message) { + xxx_messageInfo_FlagEnableProposal.Merge(m, src) +} +func (m *FlagEnableProposal) XXX_Size() int { + return m.Size() +} +func (m *FlagEnableProposal) XXX_DiscardUnknown() { + xxx_messageInfo_FlagEnableProposal.DiscardUnknown(m) +} + +var xxx_messageInfo_FlagEnableProposal proto.InternalMessageInfo + +func (m *FlagEnableProposal) GetTitle() string { + if m != nil { + return m.Title + } + return "" +} + +func (m *FlagEnableProposal) GetDescription() string { + if m != nil { + return m.Description + } + return "" +} + +func (m *FlagEnableProposal) GetModule() string { + if m != nil { + return m.Module + } + return "" +} + +func (m *FlagEnableProposal) GetName() string { + if m != nil { + return m.Name + } + return "" +} + +func init() { + proto.RegisterType((*FlagEnableProposal)(nil), "DecentralCardGame.cardchain.featureflag.FlagEnableProposal") +} + +func init() { + proto.RegisterFile("cardchain/featureflag/proposal.proto", fileDescriptor_04f544c52f2b96d2) +} + +var fileDescriptor_04f544c52f2b96d2 = []byte{ + // 233 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x52, 0x49, 0x4e, 0x2c, 0x4a, + 0x49, 0xce, 0x48, 0xcc, 0xcc, 0xd3, 0x4f, 0x4b, 0x4d, 0x2c, 0x29, 0x2d, 0x4a, 0x4d, 0xcb, 0x49, + 0x4c, 0xd7, 0x2f, 0x28, 0xca, 0x2f, 0xc8, 0x2f, 0x4e, 0xcc, 0xd1, 0x2b, 0x28, 0xca, 0x2f, 0xc9, + 0x17, 0x52, 0x77, 0x49, 0x4d, 0x4e, 0xcd, 0x2b, 0x29, 0x4a, 0xcc, 0x71, 0x4e, 0x2c, 0x4a, 0x71, + 0x4f, 0xcc, 0x4d, 0xd5, 0x83, 0xeb, 0xd3, 0x43, 0xd2, 0xa7, 0x54, 0xc1, 0x25, 0xe4, 0x96, 0x93, + 0x98, 0xee, 0x9a, 0x97, 0x98, 0x94, 0x93, 0x1a, 0x00, 0x35, 0x44, 0x48, 0x84, 0x8b, 0x35, 0x24, + 0xb3, 0x24, 0x27, 0x55, 0x82, 0x51, 0x81, 0x51, 0x83, 0x33, 0x08, 0xc2, 0x11, 0x52, 0xe0, 0xe2, + 0x76, 0x49, 0x2d, 0x4e, 0x2e, 0xca, 0x2c, 0x28, 0xc9, 0xcc, 0xcf, 0x93, 0x60, 0x02, 0xcb, 0x21, + 0x0b, 0x09, 0x89, 0x71, 0xb1, 0xf9, 0xe6, 0xa7, 0x94, 0xe6, 0xa4, 0x4a, 0x30, 0x83, 0x25, 0xa1, + 0x3c, 0x21, 0x21, 0x2e, 0x16, 0xbf, 0xc4, 0xdc, 0x54, 0x09, 0x16, 0xb0, 0x28, 0x98, 0xed, 0x14, + 0x72, 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, 0x56, 0xe9, 0x99, 0x25, 0x19, + 0xa5, 0x49, 0x7a, 0xc9, 0xf9, 0xb9, 0xfa, 0x18, 0xfe, 0xd0, 0x77, 0x86, 0xfb, 0xbf, 0x02, 0x25, + 0x04, 0x4a, 0x2a, 0x0b, 0x52, 0x8b, 0x93, 0xd8, 0xc0, 0xfe, 0x37, 0x06, 0x04, 0x00, 0x00, 0xff, + 0xff, 0xa6, 0x29, 0x4d, 0x61, 0x27, 0x01, 0x00, 0x00, +} + +func (m *FlagEnableProposal) 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 *FlagEnableProposal) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *FlagEnableProposal) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Name) > 0 { + i -= len(m.Name) + copy(dAtA[i:], m.Name) + i = encodeVarintProposal(dAtA, i, uint64(len(m.Name))) + i-- + dAtA[i] = 0x22 + } + if len(m.Module) > 0 { + i -= len(m.Module) + copy(dAtA[i:], m.Module) + i = encodeVarintProposal(dAtA, i, uint64(len(m.Module))) + i-- + dAtA[i] = 0x1a + } + if len(m.Description) > 0 { + i -= len(m.Description) + copy(dAtA[i:], m.Description) + i = encodeVarintProposal(dAtA, i, uint64(len(m.Description))) + i-- + dAtA[i] = 0x12 + } + if len(m.Title) > 0 { + i -= len(m.Title) + copy(dAtA[i:], m.Title) + i = encodeVarintProposal(dAtA, i, uint64(len(m.Title))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func encodeVarintProposal(dAtA []byte, offset int, v uint64) int { + offset -= sovProposal(v) + base := offset + for v >= 1<<7 { + dAtA[offset] = uint8(v&0x7f | 0x80) + v >>= 7 + offset++ + } + dAtA[offset] = uint8(v) + return base +} +func (m *FlagEnableProposal) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Title) + if l > 0 { + n += 1 + l + sovProposal(uint64(l)) + } + l = len(m.Description) + if l > 0 { + n += 1 + l + sovProposal(uint64(l)) + } + l = len(m.Module) + if l > 0 { + n += 1 + l + sovProposal(uint64(l)) + } + l = len(m.Name) + if l > 0 { + n += 1 + l + sovProposal(uint64(l)) + } + return n +} + +func sovProposal(x uint64) (n int) { + return (math_bits.Len64(x|1) + 6) / 7 +} +func sozProposal(x uint64) (n int) { + return sovProposal(uint64((x << 1) ^ uint64((int64(x) >> 63)))) +} +func (m *FlagEnableProposal) 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 ErrIntOverflowProposal + } + 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: FlagEnableProposal: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: FlagEnableProposal: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Title", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowProposal + } + 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 ErrInvalidLengthProposal + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthProposal + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Title = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Description", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowProposal + } + 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 ErrInvalidLengthProposal + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthProposal + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Description = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Module", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowProposal + } + 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 ErrInvalidLengthProposal + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthProposal + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Module = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowProposal + } + 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 ErrInvalidLengthProposal + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthProposal + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Name = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipProposal(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthProposal + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func skipProposal(dAtA []byte) (n int, err error) { + l := len(dAtA) + iNdEx := 0 + depth := 0 + for iNdEx < l { + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowProposal + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + wireType := int(wire & 0x7) + switch wireType { + case 0: + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowProposal + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + iNdEx++ + if dAtA[iNdEx-1] < 0x80 { + break + } + } + case 1: + iNdEx += 8 + case 2: + var length int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowProposal + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + length |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if length < 0 { + return 0, ErrInvalidLengthProposal + } + iNdEx += length + case 3: + depth++ + case 4: + if depth == 0 { + return 0, ErrUnexpectedEndOfGroupProposal + } + depth-- + case 5: + iNdEx += 4 + default: + return 0, fmt.Errorf("proto: illegal wireType %d", wireType) + } + if iNdEx < 0 { + return 0, ErrInvalidLengthProposal + } + if depth == 0 { + return iNdEx, nil + } + } + return 0, io.ErrUnexpectedEOF +} + +var ( + ErrInvalidLengthProposal = fmt.Errorf("proto: negative length found during unmarshaling") + ErrIntOverflowProposal = fmt.Errorf("proto: integer overflow") + ErrUnexpectedEndOfGroupProposal = fmt.Errorf("proto: unexpected end of group") +) diff --git a/x/featureflag/types/query.pb.go b/x/featureflag/types/query.pb.go new file mode 100644 index 00000000..8572ee15 --- /dev/null +++ b/x/featureflag/types/query.pb.go @@ -0,0 +1,1325 @@ +// Code generated by protoc-gen-gogo. DO NOT EDIT. +// source: cardchain/featureflag/query.proto + +package types + +import ( + context "context" + fmt "fmt" + _ "github.com/cosmos/cosmos-sdk/types/query" + _ "github.com/gogo/protobuf/gogoproto" + grpc1 "github.com/gogo/protobuf/grpc" + proto "github.com/gogo/protobuf/proto" + _ "google.golang.org/genproto/googleapis/api/annotations" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" + io "io" + math "math" + math_bits "math/bits" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package + +// QueryParamsRequest is 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_fb461e75899978b4, []int{0} +} +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 response type for the Query/Params RPC method. +type QueryParamsResponse struct { + // params holds all the parameters of this module. + Params Params `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_fb461e75899978b4, []int{1} +} +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() Params { + if m != nil { + return m.Params + } + return Params{} +} + +type QueryQFlagRequest struct { + Module string `protobuf:"bytes,1,opt,name=module,proto3" json:"module,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` +} + +func (m *QueryQFlagRequest) Reset() { *m = QueryQFlagRequest{} } +func (m *QueryQFlagRequest) String() string { return proto.CompactTextString(m) } +func (*QueryQFlagRequest) ProtoMessage() {} +func (*QueryQFlagRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_fb461e75899978b4, []int{2} +} +func (m *QueryQFlagRequest) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryQFlagRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryQFlagRequest.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 *QueryQFlagRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryQFlagRequest.Merge(m, src) +} +func (m *QueryQFlagRequest) XXX_Size() int { + return m.Size() +} +func (m *QueryQFlagRequest) XXX_DiscardUnknown() { + xxx_messageInfo_QueryQFlagRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryQFlagRequest proto.InternalMessageInfo + +func (m *QueryQFlagRequest) GetModule() string { + if m != nil { + return m.Module + } + return "" +} + +func (m *QueryQFlagRequest) GetName() string { + if m != nil { + return m.Name + } + return "" +} + +type QueryQFlagResponse struct { + Flag *Flag `protobuf:"bytes,1,opt,name=flag,proto3" json:"flag,omitempty"` +} + +func (m *QueryQFlagResponse) Reset() { *m = QueryQFlagResponse{} } +func (m *QueryQFlagResponse) String() string { return proto.CompactTextString(m) } +func (*QueryQFlagResponse) ProtoMessage() {} +func (*QueryQFlagResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_fb461e75899978b4, []int{3} +} +func (m *QueryQFlagResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryQFlagResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryQFlagResponse.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 *QueryQFlagResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryQFlagResponse.Merge(m, src) +} +func (m *QueryQFlagResponse) XXX_Size() int { + return m.Size() +} +func (m *QueryQFlagResponse) XXX_DiscardUnknown() { + xxx_messageInfo_QueryQFlagResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryQFlagResponse proto.InternalMessageInfo + +func (m *QueryQFlagResponse) GetFlag() *Flag { + if m != nil { + return m.Flag + } + return nil +} + +type QueryQFlagsRequest struct { +} + +func (m *QueryQFlagsRequest) Reset() { *m = QueryQFlagsRequest{} } +func (m *QueryQFlagsRequest) String() string { return proto.CompactTextString(m) } +func (*QueryQFlagsRequest) ProtoMessage() {} +func (*QueryQFlagsRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_fb461e75899978b4, []int{4} +} +func (m *QueryQFlagsRequest) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryQFlagsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryQFlagsRequest.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 *QueryQFlagsRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryQFlagsRequest.Merge(m, src) +} +func (m *QueryQFlagsRequest) XXX_Size() int { + return m.Size() +} +func (m *QueryQFlagsRequest) XXX_DiscardUnknown() { + xxx_messageInfo_QueryQFlagsRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryQFlagsRequest proto.InternalMessageInfo + +type QueryQFlagsResponse struct { + Flags []*Flag `protobuf:"bytes,1,rep,name=flags,proto3" json:"flags,omitempty"` +} + +func (m *QueryQFlagsResponse) Reset() { *m = QueryQFlagsResponse{} } +func (m *QueryQFlagsResponse) String() string { return proto.CompactTextString(m) } +func (*QueryQFlagsResponse) ProtoMessage() {} +func (*QueryQFlagsResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_fb461e75899978b4, []int{5} +} +func (m *QueryQFlagsResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *QueryQFlagsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_QueryQFlagsResponse.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 *QueryQFlagsResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryQFlagsResponse.Merge(m, src) +} +func (m *QueryQFlagsResponse) XXX_Size() int { + return m.Size() +} +func (m *QueryQFlagsResponse) XXX_DiscardUnknown() { + xxx_messageInfo_QueryQFlagsResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryQFlagsResponse proto.InternalMessageInfo + +func (m *QueryQFlagsResponse) GetFlags() []*Flag { + if m != nil { + return m.Flags + } + return nil +} + +func init() { + proto.RegisterType((*QueryParamsRequest)(nil), "DecentralCardGame.cardchain.featureflag.QueryParamsRequest") + proto.RegisterType((*QueryParamsResponse)(nil), "DecentralCardGame.cardchain.featureflag.QueryParamsResponse") + proto.RegisterType((*QueryQFlagRequest)(nil), "DecentralCardGame.cardchain.featureflag.QueryQFlagRequest") + proto.RegisterType((*QueryQFlagResponse)(nil), "DecentralCardGame.cardchain.featureflag.QueryQFlagResponse") + proto.RegisterType((*QueryQFlagsRequest)(nil), "DecentralCardGame.cardchain.featureflag.QueryQFlagsRequest") + proto.RegisterType((*QueryQFlagsResponse)(nil), "DecentralCardGame.cardchain.featureflag.QueryQFlagsResponse") +} + +func init() { proto.RegisterFile("cardchain/featureflag/query.proto", fileDescriptor_fb461e75899978b4) } + +var fileDescriptor_fb461e75899978b4 = []byte{ + // 485 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x54, 0x4f, 0x6b, 0x13, 0x41, + 0x14, 0xcf, 0xd4, 0x64, 0xc1, 0xf1, 0xe4, 0x58, 0xa4, 0x04, 0x59, 0xeb, 0x5e, 0x14, 0xc1, 0x1d, + 0x13, 0x0f, 0x4a, 0x2b, 0x94, 0x36, 0x62, 0x4f, 0x82, 0x0d, 0x82, 0xd0, 0x8b, 0xbc, 0x6c, 0xa6, + 0xd3, 0x85, 0xdd, 0x99, 0xcd, 0xce, 0xac, 0x58, 0x4a, 0x2f, 0x7e, 0x02, 0xc1, 0xaf, 0xa3, 0xf7, + 0x7a, 0x2b, 0x7a, 0xf1, 0x24, 0x92, 0xf8, 0x41, 0x64, 0xdf, 0x4c, 0x43, 0x43, 0x4b, 0x49, 0x72, + 0x49, 0x66, 0x67, 0xdf, 0xef, 0xcf, 0xfb, 0xbd, 0xc7, 0xd2, 0x07, 0x09, 0x94, 0xc3, 0xe4, 0x10, + 0x52, 0xc5, 0x0f, 0x04, 0xd8, 0xaa, 0x14, 0x07, 0x19, 0x48, 0x3e, 0xaa, 0x44, 0x79, 0x14, 0x17, + 0xa5, 0xb6, 0x9a, 0x3d, 0x7c, 0x25, 0x12, 0xa1, 0x6c, 0x09, 0x59, 0x0f, 0xca, 0xe1, 0x2e, 0xe4, + 0x22, 0x9e, 0x82, 0xe2, 0x0b, 0xa0, 0xf6, 0xaa, 0xd4, 0x52, 0x23, 0x86, 0xd7, 0x27, 0x07, 0x6f, + 0xdf, 0x93, 0x5a, 0xcb, 0x4c, 0x70, 0x28, 0x52, 0x0e, 0x4a, 0x69, 0x0b, 0x36, 0xd5, 0xca, 0xf8, + 0xb7, 0x8f, 0x13, 0x6d, 0x72, 0x6d, 0xf8, 0x00, 0x8c, 0x70, 0xaa, 0xfc, 0x63, 0x67, 0x20, 0x2c, + 0x74, 0x78, 0x01, 0x32, 0x55, 0x58, 0xec, 0x6b, 0xa3, 0xab, 0xbd, 0x16, 0x50, 0x42, 0x7e, 0xce, + 0xb7, 0x7e, 0x75, 0x4d, 0xfd, 0xe3, 0x2a, 0xa2, 0x55, 0xca, 0xf6, 0x6a, 0x9d, 0xb7, 0x08, 0xeb, + 0x8b, 0x51, 0x25, 0x8c, 0x8d, 0x86, 0xf4, 0xce, 0xcc, 0xad, 0x29, 0xb4, 0x32, 0x82, 0xbd, 0xa1, + 0x81, 0xa3, 0x5f, 0x23, 0xeb, 0xe4, 0xd1, 0xad, 0x2e, 0x8f, 0xe7, 0x0c, 0x23, 0x76, 0x44, 0x3b, + 0xcd, 0xd3, 0x3f, 0xf7, 0x1b, 0x7d, 0x4f, 0x12, 0x6d, 0xd1, 0xdb, 0xa8, 0xb2, 0xf7, 0x3a, 0x03, + 0xe9, 0xa5, 0xd9, 0x5d, 0x1a, 0xe4, 0x7a, 0x58, 0x65, 0x02, 0x35, 0x6e, 0xf6, 0xfd, 0x13, 0x63, + 0xb4, 0xa9, 0x20, 0x17, 0x6b, 0x2b, 0x78, 0x8b, 0xe7, 0xe8, 0xbd, 0x37, 0xef, 0x09, 0xbc, 0xcb, + 0x6d, 0xda, 0xac, 0x35, 0xbd, 0xc7, 0x27, 0x73, 0x7b, 0x44, 0x12, 0x84, 0x4e, 0x53, 0x41, 0xe2, + 0x69, 0x2a, 0xfb, 0x3e, 0x95, 0xf3, 0x5b, 0xaf, 0xd7, 0xa3, 0xad, 0x1a, 0x54, 0x87, 0x72, 0x63, + 0x71, 0x41, 0x87, 0xed, 0xfe, 0x6c, 0xd2, 0x16, 0x92, 0xb3, 0x6f, 0x84, 0x06, 0x2e, 0x2e, 0xb6, + 0x39, 0x37, 0xd5, 0xe5, 0x19, 0xb6, 0x5f, 0x2e, 0x07, 0x76, 0x4d, 0x45, 0xcf, 0x3f, 0xff, 0xfa, + 0xf7, 0x75, 0xa5, 0xc3, 0x38, 0xbf, 0xc4, 0xc2, 0x7b, 0xd7, 0x2c, 0x1e, 0xfb, 0x41, 0x68, 0x0b, + 0x03, 0x62, 0x1b, 0x8b, 0x19, 0xb8, 0xb8, 0x05, 0xed, 0xcd, 0xa5, 0xb0, 0xde, 0xfb, 0x2e, 0x7a, + 0xdf, 0x66, 0x5b, 0x73, 0x7b, 0x1f, 0x7d, 0xc0, 0xbf, 0x63, 0xb7, 0x6b, 0x27, 0xfc, 0xb8, 0x5e, + 0xaf, 0x13, 0xf6, 0x9d, 0xd0, 0xc0, 0x0d, 0x9b, 0x2d, 0x63, 0x68, 0xd9, 0x51, 0xcc, 0xee, 0x57, + 0xf4, 0x02, 0xdb, 0xe9, 0xb2, 0xa7, 0x0b, 0xb6, 0x63, 0x76, 0xde, 0x9d, 0x8e, 0x43, 0x72, 0x36, + 0x0e, 0xc9, 0xdf, 0x71, 0x48, 0xbe, 0x4c, 0xc2, 0xc6, 0xd9, 0x24, 0x6c, 0xfc, 0x9e, 0x84, 0x8d, + 0xfd, 0x0d, 0x99, 0xda, 0xc3, 0x6a, 0x10, 0x27, 0x3a, 0xbf, 0x96, 0xf5, 0xd3, 0x0c, 0xaf, 0x3d, + 0x2a, 0x84, 0x19, 0x04, 0xf8, 0xe5, 0x78, 0xf6, 0x3f, 0x00, 0x00, 0xff, 0xff, 0xe2, 0xff, 0x8b, + 0xa0, 0x2d, 0x05, 0x00, 0x00, +} + +// Reference imports to suppress errors if they are not otherwise used. +var _ context.Context +var _ grpc.ClientConn + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +const _ = grpc.SupportPackageIsVersion4 + +// QueryClient is the client API for Query service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. +type QueryClient interface { + // Parameters queries the parameters of the module. + Params(ctx context.Context, in *QueryParamsRequest, opts ...grpc.CallOption) (*QueryParamsResponse, error) + // Queries a list of QFlag items. + QFlag(ctx context.Context, in *QueryQFlagRequest, opts ...grpc.CallOption) (*QueryQFlagResponse, error) + // Queries a list of QFlags items. + QFlags(ctx context.Context, in *QueryQFlagsRequest, opts ...grpc.CallOption) (*QueryQFlagsResponse, error) +} + +type queryClient struct { + cc grpc1.ClientConn +} + +func NewQueryClient(cc grpc1.ClientConn) QueryClient { + return &queryClient{cc} +} + +func (c *queryClient) Params(ctx context.Context, in *QueryParamsRequest, opts ...grpc.CallOption) (*QueryParamsResponse, error) { + out := new(QueryParamsResponse) + err := c.cc.Invoke(ctx, "/DecentralCardGame.cardchain.featureflag.Query/Params", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *queryClient) QFlag(ctx context.Context, in *QueryQFlagRequest, opts ...grpc.CallOption) (*QueryQFlagResponse, error) { + out := new(QueryQFlagResponse) + err := c.cc.Invoke(ctx, "/DecentralCardGame.cardchain.featureflag.Query/QFlag", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *queryClient) QFlags(ctx context.Context, in *QueryQFlagsRequest, opts ...grpc.CallOption) (*QueryQFlagsResponse, error) { + out := new(QueryQFlagsResponse) + err := c.cc.Invoke(ctx, "/DecentralCardGame.cardchain.featureflag.Query/QFlags", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// QueryServer is the server API for Query service. +type QueryServer interface { + // Parameters queries the parameters of the module. + Params(context.Context, *QueryParamsRequest) (*QueryParamsResponse, error) + // Queries a list of QFlag items. + QFlag(context.Context, *QueryQFlagRequest) (*QueryQFlagResponse, error) + // Queries a list of QFlags items. + QFlags(context.Context, *QueryQFlagsRequest) (*QueryQFlagsResponse, error) +} + +// UnimplementedQueryServer can be embedded to have forward compatible implementations. +type UnimplementedQueryServer struct { +} + +func (*UnimplementedQueryServer) Params(ctx context.Context, req *QueryParamsRequest) (*QueryParamsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method Params not implemented") +} +func (*UnimplementedQueryServer) QFlag(ctx context.Context, req *QueryQFlagRequest) (*QueryQFlagResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method QFlag not implemented") +} +func (*UnimplementedQueryServer) QFlags(ctx context.Context, req *QueryQFlagsRequest) (*QueryQFlagsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method QFlags not implemented") +} + +func RegisterQueryServer(s grpc1.Server, srv QueryServer) { + s.RegisterService(&_Query_serviceDesc, srv) +} + +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: "/DecentralCardGame.cardchain.featureflag.Query/Params", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).Params(ctx, req.(*QueryParamsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Query_QFlag_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryQFlagRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).QFlag(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/DecentralCardGame.cardchain.featureflag.Query/QFlag", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).QFlag(ctx, req.(*QueryQFlagRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Query_QFlags_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryQFlagsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(QueryServer).QFlags(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/DecentralCardGame.cardchain.featureflag.Query/QFlags", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(QueryServer).QFlags(ctx, req.(*QueryQFlagsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +var _Query_serviceDesc = grpc.ServiceDesc{ + ServiceName: "DecentralCardGame.cardchain.featureflag.Query", + HandlerType: (*QueryServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "Params", + Handler: _Query_Params_Handler, + }, + { + MethodName: "QFlag", + Handler: _Query_QFlag_Handler, + }, + { + MethodName: "QFlags", + Handler: _Query_QFlags_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "cardchain/featureflag/query.proto", +} + +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 (m *QueryQFlagRequest) 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 *QueryQFlagRequest) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryQFlagRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Name) > 0 { + i -= len(m.Name) + copy(dAtA[i:], m.Name) + i = encodeVarintQuery(dAtA, i, uint64(len(m.Name))) + i-- + dAtA[i] = 0x12 + } + if len(m.Module) > 0 { + i -= len(m.Module) + copy(dAtA[i:], m.Module) + i = encodeVarintQuery(dAtA, i, uint64(len(m.Module))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *QueryQFlagResponse) 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 *QueryQFlagResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryQFlagResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.Flag != nil { + { + size, err := m.Flag.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 (m *QueryQFlagsRequest) 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 *QueryQFlagsRequest) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryQFlagsRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + +func (m *QueryQFlagsResponse) 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 *QueryQFlagsResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *QueryQFlagsResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Flags) > 0 { + for iNdEx := len(m.Flags) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.Flags[iNdEx].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 + for v >= 1<<7 { + dAtA[offset] = uint8(v&0x7f | 0x80) + v >>= 7 + offset++ + } + dAtA[offset] = uint8(v) + return base +} +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 (m *QueryQFlagRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Module) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) + } + l = len(m.Name) + if l > 0 { + n += 1 + l + sovQuery(uint64(l)) + } + return n +} + +func (m *QueryQFlagResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Flag != nil { + l = m.Flag.Size() + n += 1 + l + sovQuery(uint64(l)) + } + return n +} + +func (m *QueryQFlagsRequest) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *QueryQFlagsResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if len(m.Flags) > 0 { + for _, e := range m.Flags { + l = e.Size() + n += 1 + l + sovQuery(uint64(l)) + } + } + return n +} + +func sovQuery(x uint64) (n int) { + return (math_bits.Len64(x|1) + 6) / 7 +} +func sozQuery(x uint64) (n int) { + return sovQuery(uint64((x << 1) ^ uint64((int64(x) >> 63)))) +} +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 (m *QueryQFlagRequest) 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: QueryQFlagRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryQFlagRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Module", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + 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 ErrInvalidLengthQuery + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Module = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowQuery + } + 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 ErrInvalidLengthQuery + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthQuery + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Name = string(dAtA[iNdEx:postIndex]) + 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 (m *QueryQFlagResponse) 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: QueryQFlagResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryQFlagResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Flag", 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 m.Flag == nil { + m.Flag = &Flag{} + } + if err := m.Flag.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 (m *QueryQFlagsRequest) 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: QueryQFlagsRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryQFlagsRequest: 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 *QueryQFlagsResponse) 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: QueryQFlagsResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: QueryQFlagsResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Flags", 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 + } + m.Flags = append(m.Flags, &Flag{}) + if err := m.Flags[len(m.Flags)-1].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 + depth := 0 + for iNdEx < l { + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowQuery + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + wireType := int(wire & 0x7) + switch wireType { + case 0: + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowQuery + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + iNdEx++ + if dAtA[iNdEx-1] < 0x80 { + break + } + } + case 1: + iNdEx += 8 + case 2: + var length int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowQuery + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + length |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if length < 0 { + return 0, ErrInvalidLengthQuery + } + iNdEx += length + case 3: + depth++ + case 4: + if depth == 0 { + return 0, ErrUnexpectedEndOfGroupQuery + } + depth-- + case 5: + iNdEx += 4 + default: + return 0, fmt.Errorf("proto: illegal wireType %d", wireType) + } + if iNdEx < 0 { + return 0, ErrInvalidLengthQuery + } + if depth == 0 { + return iNdEx, nil + } + } + return 0, io.ErrUnexpectedEOF +} + +var ( + ErrInvalidLengthQuery = fmt.Errorf("proto: negative length found during unmarshaling") + ErrIntOverflowQuery = fmt.Errorf("proto: integer overflow") + ErrUnexpectedEndOfGroupQuery = fmt.Errorf("proto: unexpected end of group") +) diff --git a/x/featureflag/types/query.pb.gw.go b/x/featureflag/types/query.pb.gw.go new file mode 100644 index 00000000..944986a1 --- /dev/null +++ b/x/featureflag/types/query.pb.gw.go @@ -0,0 +1,341 @@ +// Code generated by protoc-gen-grpc-gateway. DO NOT EDIT. +// source: cardchain/featureflag/query.proto + +/* +Package types is a reverse proxy. + +It translates gRPC into RESTful JSON APIs. +*/ +package types + +import ( + "context" + "io" + "net/http" + + "github.com/golang/protobuf/descriptor" + "github.com/golang/protobuf/proto" + "github.com/grpc-ecosystem/grpc-gateway/runtime" + "github.com/grpc-ecosystem/grpc-gateway/utilities" + "google.golang.org/grpc" + "google.golang.org/grpc/codes" + "google.golang.org/grpc/grpclog" + "google.golang.org/grpc/metadata" + "google.golang.org/grpc/status" +) + +// Suppress "imported and not used" errors +var _ codes.Code +var _ io.Reader +var _ status.Status +var _ = runtime.String +var _ = utilities.NewDoubleArray +var _ = descriptor.ForMessage +var _ = metadata.Join + +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 + +} + +func request_Query_QFlag_0(ctx context.Context, marshaler runtime.Marshaler, client QueryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryQFlagRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["module"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "module") + } + + protoReq.Module, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "module", err) + } + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := client.QFlag(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Query_QFlag_0(ctx context.Context, marshaler runtime.Marshaler, server QueryServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryQFlagRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["module"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "module") + } + + protoReq.Module, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "module", err) + } + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := server.QFlag(ctx, &protoReq) + return msg, metadata, err + +} + +func request_Query_QFlags_0(ctx context.Context, marshaler runtime.Marshaler, client QueryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryQFlagsRequest + var metadata runtime.ServerMetadata + + msg, err := client.QFlags(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Query_QFlags_0(ctx context.Context, marshaler runtime.Marshaler, server QueryServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq QueryQFlagsRequest + var metadata runtime.ServerMetadata + + msg, err := server.QFlags(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. +// Note that using this registration option will cause many gRPC library features to stop working. Consider using RegisterQueryHandlerFromEndpoint instead. +func RegisterQueryHandlerServer(ctx context.Context, mux *runtime.ServeMux, server QueryServer) error { + + 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()...) + + }) + + mux.Handle("GET", pattern_Query_QFlag_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_QFlag_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_QFlag_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Query_QFlags_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_QFlags_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_QFlags_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +// RegisterQueryHandlerFromEndpoint is same as RegisterQueryHandler but +// automatically dials to "endpoint" and closes the connection when "ctx" gets done. +func RegisterQueryHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) { + conn, err := grpc.Dial(endpoint, opts...) + if err != nil { + return err + } + defer func() { + if err != nil { + if cerr := conn.Close(); cerr != nil { + grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) + } + return + } + go func() { + <-ctx.Done() + if cerr := conn.Close(); cerr != nil { + grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) + } + }() + }() + + return RegisterQueryHandler(ctx, mux, conn) +} + +// RegisterQueryHandler registers the http handlers for service Query to "mux". +// The handlers forward requests to the grpc endpoint over "conn". +func RegisterQueryHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error { + return RegisterQueryHandlerClient(ctx, mux, NewQueryClient(conn)) +} + +// RegisterQueryHandlerClient registers the http handlers for service Query +// to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "QueryClient". +// Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "QueryClient" +// doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in +// "QueryClient" to call the correct interceptors. +func RegisterQueryHandlerClient(ctx context.Context, mux *runtime.ServeMux, client QueryClient) error { + + 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()...) + + }) + + mux.Handle("GET", pattern_Query_QFlag_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_QFlag_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_QFlag_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Query_QFlags_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_QFlags_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_QFlags_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +var ( + pattern_Query_Params_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"DecentralCardGame", "Cardchain", "featureflag", "params"}, "", runtime.AssumeColonVerbOpt(true))) + + pattern_Query_QFlag_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 1, 0, 4, 1, 5, 4, 1, 0, 4, 1, 5, 5}, []string{"DecentralCardGame", "Cardchain", "featureflag", "q_flag", "module", "name"}, "", runtime.AssumeColonVerbOpt(true))) + + pattern_Query_QFlags_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"DecentralCardGame", "Cardchain", "featureflag", "q_flags"}, "", runtime.AssumeColonVerbOpt(true))) +) + +var ( + forward_Query_Params_0 = runtime.ForwardResponseMessage + + forward_Query_QFlag_0 = runtime.ForwardResponseMessage + + forward_Query_QFlags_0 = runtime.ForwardResponseMessage +) diff --git a/x/featureflag/types/tx.pb.go b/x/featureflag/types/tx.pb.go new file mode 100644 index 00000000..d585b9a4 --- /dev/null +++ b/x/featureflag/types/tx.pb.go @@ -0,0 +1,82 @@ +// Code generated by protoc-gen-gogo. DO NOT EDIT. +// source: cardchain/featureflag/tx.proto + +package types + +import ( + context "context" + fmt "fmt" + grpc1 "github.com/gogo/protobuf/grpc" + proto "github.com/gogo/protobuf/proto" + grpc "google.golang.org/grpc" + math "math" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package + +func init() { proto.RegisterFile("cardchain/featureflag/tx.proto", fileDescriptor_b6585a6310f99dc0) } + +var fileDescriptor_b6585a6310f99dc0 = []byte{ + // 148 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0x4b, 0x4e, 0x2c, 0x4a, + 0x49, 0xce, 0x48, 0xcc, 0xcc, 0xd3, 0x4f, 0x4b, 0x4d, 0x2c, 0x29, 0x2d, 0x4a, 0x4d, 0xcb, 0x49, + 0x4c, 0xd7, 0x2f, 0xa9, 0xd0, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0x52, 0x77, 0x49, 0x4d, 0x4e, + 0xcd, 0x2b, 0x29, 0x4a, 0xcc, 0x71, 0x4e, 0x2c, 0x4a, 0x71, 0x4f, 0xcc, 0x4d, 0xd5, 0x83, 0xeb, + 0xd0, 0x43, 0xd2, 0x61, 0xc4, 0xca, 0xc5, 0xec, 0x5b, 0x9c, 0xee, 0x14, 0x72, 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, 0x56, 0xe9, 0x99, 0x25, 0x19, 0xa5, 0x49, 0x7a, 0xc9, + 0xf9, 0xb9, 0xfa, 0x18, 0x86, 0xea, 0x3b, 0xc3, 0x9d, 0x51, 0x81, 0xea, 0x90, 0xca, 0x82, 0xd4, + 0xe2, 0x24, 0x36, 0xb0, 0x63, 0x8c, 0x01, 0x01, 0x00, 0x00, 0xff, 0xff, 0xd7, 0x14, 0x0f, 0x20, + 0xae, 0x00, 0x00, 0x00, +} + +// Reference imports to suppress errors if they are not otherwise used. +var _ context.Context +var _ grpc.ClientConn + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +const _ = grpc.SupportPackageIsVersion4 + +// MsgClient is the client API for Msg service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. +type MsgClient interface { +} + +type msgClient struct { + cc grpc1.ClientConn +} + +func NewMsgClient(cc grpc1.ClientConn) MsgClient { + return &msgClient{cc} +} + +// MsgServer is the server API for Msg service. +type MsgServer interface { +} + +// UnimplementedMsgServer can be embedded to have forward compatible implementations. +type UnimplementedMsgServer struct { +} + +func RegisterMsgServer(s grpc1.Server, srv MsgServer) { + s.RegisterService(&_Msg_serviceDesc, srv) +} + +var _Msg_serviceDesc = grpc.ServiceDesc{ + ServiceName: "DecentralCardGame.cardchain.featureflag.Msg", + HandlerType: (*MsgServer)(nil), + Methods: []grpc.MethodDesc{}, + Streams: []grpc.StreamDesc{}, + Metadata: "cardchain/featureflag/tx.proto", +} diff --git a/x/featureflag/types/types.go b/x/featureflag/types/types.go new file mode 100644 index 00000000..ab1254f4 --- /dev/null +++ b/x/featureflag/types/types.go @@ -0,0 +1 @@ +package types